作业信息
作业归属课程:https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05
作业目标:Pep/9虚拟机、机器语言与汇编语言、算法与伪代码、测试:黑盒,白盒
作业正文: https://www.cnblogs.com/incamellia/p/18508448
教材学习内容总结
《计算机科学概论(第七版)》第6章
- 计算机操作:
计算机被定义为能够存储、检索和处理数据的可编程电子设备。 - 机器语言:
定义:由计算机直接使用的二进制编码指令构成的语言。
特性:每条机器语言指令只能执行一个非常低级的任务,大多数程序使用高级语言编写,然后翻译成机器语言。
Pep/9虚拟机:一种为了模拟真实机器的重要特征而设计的假想机器,它包含40条机器语言指令,指令格式由8位数的指令说明符和(可选的)16位的操作数说明符构成。 - 汇编语言:
定义:一种低级语言,用助记码表示特定计算机的机器语言指令。
特性:比机器语言更易于编写和阅读,但仍然是面向机器的。
Pep/9汇编语言:在Pep/9汇编语言中,操作数用0x和十六进制表示,接下来是逗号,最后是寻址模式(由字母i表示立即寻址或d表示直接寻址)。
汇编器:把汇编语言程序翻译成机器代码的程序。 - 表达算法:
算法:解决方案的计划或纲要,或解决问题的逻辑步骤顺序。
伪代码:一种表达算法的语言,它使用简单的语句和结构来描述算法。
伪代码的功能包括变量声明、赋值、输入/输出、选择和重复。
Pep/9指令格式和伪代码的使用被用来解释如何表达和执行算法。
《C语言程序设计》第4章
- 单个字符的输入与输出
- 字符常量与字符变量
字符常量:使用单引号括起来的单个字符,如'A'、'3'等。
字符变量:用于存储字符常量的变量,其数据类型为char。 - 字符的输入
getchar()函数:用于从键盘输入一个字符,并将其作为函数的返回值。此函数没有参数,且每次调用时只读取缓冲区中的一个字符(包括回车符)。 - 字符的输出
putchar()函数:用于向屏幕输出一个字符。此函数接受一个字符作为参数,并将其输出到屏幕上。
- 格式化屏幕输出
- printf()函数
一般形式:printf(格式控制字符串, 输出值参数表)。
格式控制字符串:使用双引号括起来的字符串,其中包含普通字符和格式转换说明。格式转换说明以%开头,后跟格式字符,用于指定输出数据的格式。 - 常见的格式转换说明包括:
%d:输出带符号的十进制整数。
%c:输出一个字符。
%s:输出字符串。
%f:以十进制小数形式输出浮点数。
%%:输出百分号字符。 - 格式修饰符
格式修饰符位于%和格式字符之间,用于微调输出格式。常见的格式修饰符包括:
l:用于输出long型数据。
L:用于输出long double型数据。
h:用于输出short型数据。
m:指定输出项所占的列数,为正整数时左对齐,为负整数时右对齐。
.n:对于浮点数,用于指定输出的小数位数;对于字符串,用于截取字符串的个数。
- 格式化键盘输入
- scanf()函数
一般形式:scanf(格式控制字符串, 参数地址表)。
格式控制字符串:与printf()函数中的格式控制字符串类似,用于指定输入数据的格式。
参数地址表:包含与格式控制字符串中格式说明符相对应的变量的地址。 - 常见的格式控制字符串及修饰符
与printf()函数类似,scanf()函数也使用%开头的格式说明符来指定输入数据的类型。
需要注意的是,scanf()函数没有精度修饰符(如.n),即输入时不能规定精度。 - 输入结束的条件
遇到空格、回车、制表符(Tab)时,认为输入结束。
达到输入域宽时,也认为输入结束。
遇到非法字符时,同样认为输入结束。
教材学习中的问题和解决过程
- 问题:伪代码中if和while的用法怎么区分?
答:目的不同:if语句用于根据条件判断来执行不同的代码路径;while循环用于在满足条件时重复执行一段代码。
执行次数:if语句只会在条件判断为真时执行一次相应的代码块;while循环会在条件判断为真时不断重复执行代码块,直到条件变为假。
结构差异:if语句通常包含一个条件判断和一个或多个代码块(if部分和可选的else部分);while循环包含一个条件判断和一个循环体(即要重复执行的代码块)。