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

作业信息

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04
这个作业的目标 学习门电路,组合电路,逻辑电路,冯诺依曼结构,CPU,内存,IO管理,嵌入式系统,并行结构,物理安全
作业正文 https://www.cnblogs.com/wchxx/p/18486451

教材学习内容总结
《计算机科学概论》第七版第四章 “门与电路” 的内容总结:

介绍了门是对电信号执行基本运算的设备,电路则是相互关联的门的组合,可用于实现特定逻辑函数。
详细讲解了六种基本的门类型,包括非门、与门、或门、异或门、与非门和或非门,以及它们各自的逻辑运算规则。例如,非门对输入求逆;与门在两个输入都为 1 时生成 1;或门在一个或两个输入为 1 时生成 1;异或门在只有一个输入为 1 时生成 1;与非门和或非门的结果分别与与门和或门相反。
说明了计算机通过使用电信号表示并操作二进制值,而这些电信号通过门与电路进行传递。可以用布尔代数、逻辑框图和真值表来表示门和电路。
提到了晶体管在门的构造中的作用以及其连接方式,集成电路是嵌入了多个门的硅片,在计算机中充当重要角色。

《计算机科学概论》第七版第五章 “计算部件” 的内容总结:

阐述了冯・诺依曼体系结构,该体系结构中处理信息的部件独立于储存信息的部件。
详细介绍了计算机的各个组成部分,如算术 / 逻辑单元(ALU),用于执行算术运算和逻辑运算;寄存器,是 CPU 中的小块存储区域,用于存储中间值或特殊值;输入单元,接收要存储在内存中的数据;输出单元,用于打印、显示或制作信息的永久副本;控制单元,控制其他部件的动作以执行指令序列。其中,中央处理器(CPU)是算术 / 逻辑单元和控制单元的组合,相当于计算机解释和执行指令的 “大脑”。
讲解了计算机指令的读取 - 执行周期,涉及程序计数器、指令寄存器等寄存器的作用。
说明了随机存取存储器(RAM)具有易失性,断电后不再保留位配置;只读存储器(ROM)在断电后仍保持位配置,其位组合是永久性的、稳定且不可更改。主存通常包括一些 ROM 和通用的 RAM。
还提到了嵌入式计算机,它是为小范围功能而专门设计的,用户极少干预其运行。此外,简单介绍了并行体系结构,包括并行计算和并行硬件的相关概念。

《C 语言程序设计》第四周学习内容总结:

一、关系运算符和逻辑运算符

关系运算符(如大于、小于、等于等)用于比较两个值的关系,其结果为真(非零值)或假(零值)。
逻辑运算符(与、或、非)用于组合多个条件判断,以实现更复杂的逻辑判断。例如,“&&”表示逻辑与,只有当两个条件都为真时,结果才为真;“||”表示逻辑或,只要有一个条件为真,结果就为真;“!”表示逻辑非,用于对一个条件取反。

二、if 语句

简单 if 语句的格式为“if(条件表达式) {语句组;}”,如果条件表达式为真,则执行语句组中的语句。
if-else 语句的格式为“if(条件表达式) {语句组 1;} else {语句组 2;}”,根据条件表达式的真假来决定执行语句组 1 还是语句组 2。
嵌套的 if 语句可以实现更复杂的条件判断,在一个 if 或 if-else 语句内部可以包含另一个 if 语句。

三、条件运算符
条件运算符“?:”是一种简洁的三目运算符,其格式为“表达式 1? 表达式 2 : 表达式 3”,如果表达式 1 为真,则返回表达式 2 的值,否则返回表达式 3 的值。

四、switch 语句

switch 语句用于多分支选择,其格式为“switch(表达式) {case 常量表达式 1: 语句组 1; break; case 常量表达式 2: 语句组 2; break; … default: 语句组 n;}”。
根据表达式的值与各个 case 后的常量表达式进行匹配,如果匹配成功,则执行相应的语句组,直到遇到 break 语句跳出 switch 结构;如果没有匹配的 case,则执行 default 后的语句组。

五、while 循环

while 循环的格式为“while(条件表达式) {语句组;}”,当条件表达式为真时,反复执行语句组中的语句,直到条件表达式变为假为止。
在 while 循环中,循环条件的判断在循环体执行之前进行,所以如果条件一开始就不满足,循环体可能一次都不执行。

六、do-while 循环

do-while 循环的格式为“do {语句组;} while(条件表达式);”,先执行一次语句组,然后再判断条件表达式,如果为真,则继续循环,否则结束循环。
与 while 循环不同,do-while 循环至少会执行一次循环体。

七、for 循环

for 循环的格式为“for(初始化表达式; 条件表达式; 增量表达式) {语句组;}”,初始化表达式在循环开始时执行一次,然后判断条件表达式,若为真则执行循环体,接着执行增量表达式,再重复上述过程。
for 循环通常用于已知循环次数的情况,结构清晰,使用方便。

八、循环的嵌套
可以在一个循环内部包含另一个循环,称为循环的嵌套。通过嵌套循环可以实现复杂的重复操作,例如打印二维图形等。

九、break 和 continue 语句

break 语句用于跳出循环或 switch 结构,立即终止当前循环或 switch 语句的执行,程序继续执行循环或 switch 结构后面的语句。
continue 语句用于结束本次循环,跳过循环体中 continue 语句后面的语句,直接进行下一次循环条件的判断。

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

问题:C语言中函数的返回类型可以是什么?
    答案:函数的返回类型可以是任何基本数据类型(如int、float、char等),也可以是结构体、联合体或指针类型。此外,void类型表示函数不返回任何值。

问题:如何定义一个没有参数且不返回任何值的函数?
    答案:可以通过以下方式定义:

    c

void functionName() {
    // 函数体
}

问题:函数的参数传递方式有哪些?

答案:C语言中函数参数的传递方式主要有两种:传值调用(pass by value)和传址调用(pass by reference)。传值调用是将实际参数的值复制到一个临时变量中,然后传递这个临时变量的地址给函数。传址调用是将实际参数的地址直接传递给函数。

问题:如何使用main函数的参数?

答案:main函数可以有两个参数,argc和argv。argc表示命令行参数的数量,argv是一个指向参数字符串数组的指针。例如:

c

int main(int argc, char *argv[]) {
    // 使用 argc 和 argv
}

问题:如何定义一个递归函数?

答案:递归函数是一个调用自身的函数。定义递归函数时,需要确保有一个明确的结束条件,以避免无限递归。例如,计算阶乘的递归函数:

c

    long factorial(int n) {
        if (n == 0) return 1;
        return n * factorial(n - 1);
    }

问题:什么是指针?
    答案:指针是一种变量,它存储了另一个变量的内存地址。在C语言中,指针的使用非常灵活,可以指向任何类型的数据。

问题:如何声明一个指向整型变量的指针?
    答案:通过在变量名前加上星号*来声明指针。例如:

    c

int *ptr;

问题:如何将指针指向一个变量?

答案:使用取地址符&来获取变量的地址,并将其赋值给指针。例如:

c

int var = 10;
int *ptr = &var;

问题:如何通过指针来修改它所指向的变量的值?

答案:使用解引用操作符*来访问或修改指针指向的变量的值。例如:

c

*ptr = 20; // 将 var 的值修改为 20

问题:什么是指针的指针?

答案:指针的指针是一个指针,它指向另一个指针。声明指针的指针时,需要在变量名前加上两个星号**。例如:

c

    int var = 10;
    int *ptr = &var;
    int **ptrToPtr = &ptr;

问题:如何使用指针来实现数组和字符串的操作?
    答案:指针可以用于遍历数组和字符串。由于数组名本身就是一个指向数组首元素的指针,因此可以通过指针运算来访问数组中的元素。对于字符串,由于它们以空字符\0结尾,可以使用指针遍历直到遇到空字符。

计划学习时间:
2小时
实际学习时间:
2小时
改进情况:

posted @ 2024-10-19 20:00  20241319吴辰曦  阅读(29)  评论(0编辑  收藏  举报