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

发布时间 2023-10-29 21:28:38作者: 20231301周子昂

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

作业信息

作业 链接
作业课程 <班级>(2023-2024-1-计算机基础与程序设计
作业要求 <作业>(2023-2024-1计算机基础与程序设计第四周学习总结)
作业目标 <《计算机基础与程序设计》预习第六章>《计算机基础与程序设计》英 《计算机基础与程序设计》中 <《C语言程序设计》预习第四章> 《C语言程序设计》
作业正文 <博客>(第五周学习总结

学习内容总结

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

机器语言:由计算机直接使用的二进制编码指令构成的语言。
CPU把命令清单嵌入了自己的设计
汇编语言:一种低级语言,用助记码表示特定计算机的机器语言指令。

Pep/9
程序计数器(PC)
指令寄存器(IR)
累加器(A)

8位的指令说明符和(可选的)16位的操作数说明符。
操作数用0x和十六进制表示。

算法:解决方案的计划
伪代码:一种表达算法的语言(并非一种计算机语言)

赋值

  1. Set sum to 0
  2. sum<-0
    输出:Write, Display, Print
    输入:Read, Get, Input
    选择
    if-then
    if-then-else
    while
    布尔表达式:IF和WHILE括号中的表达式——结果可为真或假

测试

  1. 代码覆盖测试法(明箱测试法):每条语句都被执行
  2. 数据覆盖测试法(暗箱测试法):试用数据的边界值

《C语言程序设计》第四章

'\0'代表ASCII码值为0的字符,它代表一个字符,而不是两个字符。
getchar():回车符也会被放到输入缓冲区中
「 getchar(ch); 错误」
格式转换说明由%开始
格式修饰符:域宽、显示精度
%c:空白字符(包括空格、回车、制表符)也会作为有效字符输入
解决方法:1. 用函数getchar()将数据输入
2. 在%c前加一个空格

学习中的问题

1. 伪代码中if和while的用法怎么区分呀?如何确定何时用if何时用while?

相同:while()与if()都是判断某一条件是否成立,成立的话进入代码块;

区别:while()是一个循环,直到条件不满足才退出while()代码块的范围;
if()只执行一次,成立进入,运行完后直接执行if()之后的代码,不会再进入if()代码的范围。

总结: 当需要条件判断时,要判断是否需要循环判断,若不需要,则用if,否则用while。

2. printf()既能以字符格式也能以十进制整型格式输出char型变量的值,而putchar()只能输出字符,那我们现在为什么还要用putchar()?

putchar和printf的区别:
1、putchar的参数类型是int,printf的参数类型是字符串;
2、putchar只能输出一个字符,printf输出多个字符;
3、putchar无法格式化输出,printf可以进行格式化输出;
4、putchar没有返回值,printf返回成功输出的字符数;
5、putchar输出到控制台,printf不仅限于输出到控制台。

虽然我感觉putchar各个方面都比printf强,但是...也许这就是历史发展?

3. 什么是非法字符?

  1. 空格字符
    空格字符是指在代码中使用的空格、制表符、换行符等。在C语言中,空格字符用于分隔不同的标识符和操作符,但是在有些情况下,空格字符会被解释为非法字符。例如,变量名中不能包含空格字符,否则会导致编译错误。
  2. 特殊符号
    C语言中有些特殊符号是被保留的,不能作为变量名或函数名的一部分。例如,加号“+”、减号“-”、乘号“”、除号“/”等都是被保留的符号,不能作为变量名或函数名的一部分。如果在变量名或函数名中使用这些特殊符号,会导致编译错误。
  3. 中文字符
    C语言是一种英文编程语言,不支持中文字符。如果在代码中使用中文字符,会导致编译错误。因此,在编写C语言代码时,应该使用英文字符。
  4. 非法字符
    除了上述的非法字符,还有一些其他的非法字符,例如制表符、回车符、换行符等。在C语言中,这些非法字符会被解释为换行符,从而导致编译错误。