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

发布时间 2023-10-29 21:23:29作者: 20231318傅述令

作业信息

这个作业属于哪个课程 2022-2023-1-计算机基础与程序设计
这个作业要求在哪里 2022-2023-1计算机基础与程序设计第五周作业
这个作业的目标 自学计算机科学概论第6章,《C语言程序设计》第4章
作业正文 2023-2024-1 学号20231318《计算机基础与程序设计》第五周学习总结

教材学习内容总结

1.《计算机科学概论》第六章:

了解pep/9的使用方法
将汇编语言转化为机器语言
学习了简单的伪代码

  • 机器语言:
    一种二进制编码形式,用于与计算机硬件直接进行通信。计算机处理器能够直接理解和执行机器语言指令,因为它们由二进制数字表示不同的操作码和操作数。机器语言是特定计算机体系结构的底层语言,通常与硬件密切相关。每个计算机体系结构都有自己的机器语言。

  • 汇编语言:
    一种低级编程语言,它使用符号助记符来代替二进制指令。这些符号更容易理解和记忆,但它们最终会被汇编器翻译成机器语言。汇编语言允许程序员以更高级的抽象水平编写代码,但它仍然直接映射到机器语言,因此与特定计算机体系结构密切相关。

  • 算法:
    解决问题或执行任务的一系列明确定义的步骤。算法可以用自然语言、伪代码、流程图或程序代码来描述。算法是独立于编程语言或硬件的,它们是通用的问题解决方法。好的算法具有良好的效率、正确性和可读性。

  • 伪代码:
    一种中间形式的描述语言,位于自然语言和编程语言之间。它用于描述算法的步骤,但不是正式的编程语言。伪代码是一种抽象表示,允许程序员以更接近自然语言的方式描述算法。它通常不包含具体的语法或细节。

2.《C语言程序设计》:

  • 了解了各种字符常量,换行字符'\n'代表一个字符,"abc\n"的长度是4

  • 字符输入函数getchar()
    字符输出函数putchar()

  • 格式化输入函数printf()
    格式化输出函数scanf()

  • 格式说明符%2d中的为忽略输入修饰符,%2中的2为域宽附加格式说明,表示从输入数据中按指定宽度2从输入缓冲区中截取输入数据。

  • 在用%c格式读入字符时,空格字符和转义字符(包括回车)都会被当作有效字符读入

教材学习中的问题和解决过程

问题1:在用%c格式读入字符时,空格字符和转义字符(包括回车)都会被当作有效字符读入,那么如何解决这个问题呢?

问题1解决方案:
1.使用 scanf 函数来读取字符,而不是 getchar 或 fgetc,它会自动跳过空格和转义字符。
如:char ch;
scanf(" %c", &ch);
2.手动处理字符:使用 getchar 或 fgetc 等函数手动读取字符,可以在读取之后检查字符是否是空格或转义字符,然后决定是否继续处理。

问题2:for与while等价吗?do while 和 while 有什么区别?

问题2解决方案:
1.for 和 while 的区别:

for 循环:
适合于在已知循环次数或有明确的迭代控制条件时使用。
由三个部分组成:初始化表达式、循环条件、迭代语句。
通常用于迭代次数已知的情况。

while 循环:
适合于在满足某个条件时反复执行代码块。
只有循环条件部分,条件为真(非零)时执行循环体。
适合于循环次数不确定的情况。

虽然 for 循环和 while 循环都可以用于相似的任务,但 for 更适合用于已知迭代次数的场景,而 while 更适合于根据某个条件的真假来执行的场景。

2.do-while 和 while 的区别:
do-while 循环:

无论条件是否成立,它至少会执行一次循环体。
适合于需要至少执行一次循环体的情况。
循环体在判断条件之后执行。

while 循环:

在执行循环体之前检查条件,所以如果条件一开始就不满足,循环体可能一次都不执行

总体而言,do-while 在条件判断之前执行循环体,至少保证执行一次;而 while 在条件判断之后执行循环体,可能一开始就不执行。

在选择使用哪种循环时,需要考虑到程序逻辑和需求。for 适用于计数循环,while 适用于条件控制循环,而 do-while 则适用于至少执行一次循环体的情况。

基于AI的学习

image
image

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 10篇 300小时
第一周 200/200 1/1 28/28 学会了markdown语法
第二周 100/300 1/2 10/38 学会了使用chatgpt
第三周 150/450 1/3 15/53 学习运用c语言编写简单程序
第四周 150/600 1/4 20/73 学习运用C语言输出数学计算程序,熟悉门电路知识
第五周 120/720 1/5 13/86 学习运用基本的机器语言、汇编语言和伪代码

预计学习时间:15小时
实际学习时间:13小时

参考资料