首页 > 编程语言 >2024-2025-1 20241417 《计算机基础与程序设计》第五周学习总结

2024-2025-1 20241417 《计算机基础与程序设计》第五周学习总结

时间:2024-10-27 14:48:03浏览次数:4  
标签:语句 循环体 20241417 代码 2024 2025 随机数 执行 表达式

这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第五周作业)
这个作业的目标 <Pep/9虚拟机,机器语言与汇编语言,算法与伪代码,测试:黑盒,白盒>
作业正文 https://www.cnblogs.com/lry666666/p/18508368

教材学习内容总结

一、Pep/9 虚拟机
模拟计算机系统环境,含处理器、内存、寄存器等。
处理器有 ALU 和控制单元。
内存存储数据和指令,按地址访问。
寄存器是高速存储单元,如累加器、程序计数器等。
指令集包括数据传输、算术运算、逻辑运算、控制转移指令等,通过编程实践实现功能。
二、机器语言与汇编语言
(一)机器语言
计算机直接执行的二进制代码,执行效率高但可读性差。
(二)汇编语言
用助记符代替机器语言,与机器语言对应,可读性和可编写性相对提高,仍与硬件相关,执行效率高。
如实现两数相加并输出的汇编程序示例。
(三)关系
汇编语言是机器语言的符号化,都与硬件紧密相关,汇编语言在特定场景有优势。
三、算法与伪代码
(一)算法
解决问题的明确步骤集合,具有穷性、确定性、可行性、输入输出特点,是编程基础,有多种表示方法。
(二)伪代码
非正式、类似编程语言,用于描述算法逻辑,简洁易懂、灵活、具过渡性,如冒泡排序伪代码示例。
(三)算法设计与分析
包括问题分析、算法选择、定义数据结构、设计流程、验证优化等步骤。
分析包括时间复杂度、空间复杂度和正确性证明。
四、测试
(一)重要性
发现软件缺陷,确保质量和可靠性。
(二)黑盒测试
看作黑盒子,关注外部功能,依据需求规格说明书设计输入和测试用例,观察输出是否符合预期。
(三)白盒测试
了解内部结构和代码,基于代码逻辑设计测试用例,检查代码覆盖情况,如语句覆盖、分支覆盖等。
五、分支选择结构
(一)if 语句
基本形式
单分支:if(表达式) {语句},表达式为真执行语句。
双分支:if(表达式) {语句1} else {语句2},表达式为真执行语句 1,为假执行语句 2。
嵌套 if 语句
可在 if 中嵌套 if,用于复杂条件判断。
(二)switch 语句
基本形式
switch(表达式) { case 常量表达式1: 语句1; break;... default: 语句n; break; }
计算表达式值,与 case 后常量表达式比较,相等则执行对应语句,遇 break 跳出。
注意事项
表达式为整型或字符型。
case 后是常量或常量表达式。
一般 case 后用 break,否则继续执行下一个 case。
六、循环结构
(一)while 循环
基本形式
while(表达式) {循环体语句;}
先判断表达式,为真执行循环体,再判断,直到为假跳出。
特点
先判断后执行,可能一次不执行循环体。
(二)do-while 循环
基本形式
do {循环体语句;} while(表达式);
先执行循环体,再判断表达式,为真继续,为假跳出。
特点
至少执行一次循环体。
(三)for 循环
基本形式
for(初始化表达式; 条件表达式; 迭代表达式) {循环体语句;}
先执行初始化表达式,再判断条件表达式,为真执行循环体和迭代表达式,再判断条件,直到为假跳出。
特点
结构清晰,常用于已知循环次数的情况。
(四)循环控制语句
break 语句
用于跳出当前循环,提前结束循环。
continue 语句
用于结束本次循环,直接进入下一次循环条件的判断。

教材学习中的问题和解决过程(先问 AI)

  • 问题1:程序运行出错且错误信息不明确时,怎样有效调试?
  • 问题1解决方案:检查程序逻辑,单步调试。查内存使用,用工具检测问题。看日志和调试输出,与他人交流。
  • 问题2:汇编语言中怎样实现复杂算法和数据结构?
  • 问题2解决方案:定义合适数据结构表示节点。编写代码实现操作和算法逻辑,参考高级语言后用汇编实现。利用汇编特性优化算法效率。
  • ...

代码调试中的问题和解决过程

  • 问题1:C语言如何输出双引号?
  • 问题1解决方案:1.使用转义字符 "";2.使用字符常量
  • 问题2:C语言如何开平方?
  • 问题2解决方案:可以使用<math.h>头文件中的sqrt函数来计算一个数的平方根
  • 问题3:C语言如何生成随机数?
  • 问题3解决方案:可以使用<stdlib.h>头文件中的rand()函数来生成随机数。
    1.基本的随机数生成(使用rand()函数)
    函数原型:int rand(void);
    这个函数会返回一个范围在 0 到RAND_MAX(RAND_MAX是<stdlib.h>中定义的一个常量,其值至少为 32767)之间的伪随机整数。例如:
    不过,每次运行程序,rand()函数生成的随机数序列都是一样的。这是因为rand()函数是基于一个种子(seed)来生成随机数序列的,默认种子是固定的。
    2.设置随机数种子(使用srand()函数)
    函数原型:void srand(unsigned int seed);
    为了得到不同的随机数序列,可以使用srand()函数来设置种子。通常可以使用当前时间作为种子,这样每次运行程序时,由于时间不同,种子就不同,生成的随机数序列也就不同。需要包含<time.h>头文件来获取当前时间。例如:srand(time(NULL))

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 0/2 18/38
第三周 500/1000 1/3 22/60
第四周 300/1300 1/4 30/90
第五周 400/1400 1/5 30/90

标签:语句,循环体,20241417,代码,2024,2025,随机数,执行,表达式
From: https://www.cnblogs.com/lry666666/p/18508368

相关文章

  • 【2024年10月26日更新】植物大战僵尸杂交本V2.6更新内容与下载(包含历史版本)
    更新内容总结:新增植物:英雄植物:终极射手、向日葵公主、汉堡王(仅限英雄模式)。星卡植物:星星盒子、猫窝、迷幻投手、玉米旋转机(需星星解锁)。挑战植物:金卡黄金锤子、金卡雷果子、钻卡车轮重塑者(通过挑战解锁)。新增模式:梦幻联动:与up主轻柔北风合作的“植物大战僵尸贴吧版”。......
  • 2024Java八股文(面试必备)
    1封装的目的是什么,为什么要有封装?封装是面向对象编程语言对客观世界的模拟,在客观世界里,对象的状态信息都被隐藏在对象内部,外界无法直接操作和修改。对一个类或对象实现良好的封装,可以实现以下目的:隐藏类的实现细节;限制对成员变量的不合理访问;提高代码的可维护性。2说......
  • 【比赛】CSP-S 2024 游记
    【比赛】CSP-S2024游记1回顾T110min一开始还是有点想歪了,仔细想一下然后过了。T21h非常需要总结的一道题。几乎看完题就出思路了,注意到算是一道小模拟,所以开打之前先理了一遍思路,这很好。但是,为什么这道简单题浪费了这么久呢?打的时候太谨慎?打完第一问就就开始测大样......
  • 2024-2025-1 20241320 《计算机基础与程序设计》第5周学习总结
    2024-2025-120241320《计算机基础与程序设计》第5周学习总结作业信息|这个作业属于哪个课程|https://www.cnblogs.com/rocedu/p/9577842.html|这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05|这个作业的目标|Pep/9虚拟机•机器语言与汇编语......
  • Java面试题及答案整理( 2024年 10 月最新版,持续更新)
    1.抽象类必须要有抽象方法吗?不需要,抽象类不一定非要有抽象方法。 普通类不能包含抽象方法,抽象类可以包含抽象方法。抽象类不能直接实例化,普通类可以直接实例化。2.抽象类能使用final修饰吗?不能,定义抽象类就是让其他类继承的,如果定义为final该类就不能被继承,这样彼......
  • 2024-2025-1 20241316 《计算机基础与程序设计》第五周学习总结
    2024-2025-120241316《计算机基础与程序设计》第五周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第五周作业这个作业的目标Pep/9虚拟机,机器语言与汇编语言,算法与伪代码,测试:黑盒,白......
  • 2024 CSP 游记
    \(\text{CSP-J}\)游记\(\text{Day-INF}\)初赛免了,没有游记。\(\text{Day0}\)有点慌,于是打开了游戏跟\(\text{zjx,sym}\)开黑。\(\text{Day1}\)上午\(6\)点多从床上爬起来,\(07:20\)左右就到考场了。潦草集合后就进去了,感觉今年不是很慌了,因为主要是看\(\text{NOIP......
  • CSP-S 2024 游记
    时隔两年,终于找到了做当年CSP-J的感觉害,一到落笔之时竟无从起笔。先复述一下考场过程吧。Day12:15来到考场,进去了,亲切的lhy还在问我为啥这么慢。。。不过一进考场就刚好能进机房还是不错的2:20拿着电脑,哎,为啥我这个电脑按shift切不了中英文?当时认为手动切英文可以忍,毕......
  • 2024年最新互联网大厂精选 Java 面试真题集锦(JVM、多线程、MQ、MyBatis、MySQL、Redis
    前言春招,秋招,社招,我们Java程序员的面试之路,是挺难的,过了HR,还得被技术面,在去各个厂面试的时候,经常是通宵睡不着觉,头发都脱了一大把,还好最终侥幸能够入职一个独角兽公司,安稳从事喜欢的工作至今...近期也算是抽取出大部分休息的时间,为大家准备了一份通往大厂面试的小捷径,准备......
  • 轻松构建高效 API:FastAPI 的主要特点与实战应用20241027
    轻松构建高效API:FastAPI的主要特点与实战应用引言在现代应用开发中,API的高效性和易用性至关重要。FastAPI作为一个新兴的Python框架,以其独特的设计理念和强大的功能迅速赢得了开发者的青睐。本文将从FastAPI的主要特点出发,探讨其在实际应用中的优势与最佳实践,帮助......