2022-2023-1 20221301 《计算机基础与程序设计》第八周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP |
---|---|
这个作业要求在哪里 | <作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08 |
这个作业的目标 | 计算机科学概论第9章 并完成云班课测试 《C语言程序设计》第7章并完成云班课测试 |
教材学习内容总结
1.面向对象方法
- 对设计的底层概念是类和对象
- 自项而下的设计方法重点在于把输入转化为输出的过程,结果将生成任务的体系结构。面对设计对象的重点是要转换的数据对象,结果生成的是对象的体系结构。
2.翻译过程 - 编译器:把用高级语言编写的程序翻译成机器码的程序
- 解释器:输入用高级语言编写的程序,知道计算机执行每个语句指定的动作的程序
3.程序设计言语的范型
4.高级程序设计语言的功能性 - 布尔表达式:布尔表达式是一个标识符序列,标示符之间由相容的运算符分隔。
- 数据类型:实数、整数、字符、布尔型
- 控制结构:重复、选择和子程序
5.面向对象语言的功能性
阅读教材中遇到的问题
- 在学习break语句exit(0)以后,知道了不止只有return 0;语句可以结束程序(函数),但是又没有太分清楚这些用于结束的语句有什么区别,通过上网查找,了解到:
-
return 0:
用return这种形式就能定义返回值, return 0可以 终止 main() 函数,并返回值 0。
return 0 代表程序正常退出,return 1代表程序异常退出!
使用return 语句可以返回一个变量内的值或一个指针,也可用return0,表示返回为空。
return 代表调到函数外,
return 0代表函数正常终止
return 1代表函数非正常终止 -
exit函数:
函数名: exit()
-
所在头文件:stdlib.h
功 能: 关闭所有文件,终止正在执行的进程。
- exit(1)表示异常退出.这个1是返回给操作系统的。
- exit(x)(x不为0)都表示异常退出
- exit(0)表示正常退出
exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。
stdlib.h: void exit(int status);
参 数 : status //程序退出的返回值.
exit(0):正常运行程序并退出程序。
exit(1):非正常运行导致退出程序;
return():返回函数,若在主函数中,则会退出函数并返回一值。
其中:
-
return返回函数值,是关键字; exit 是一个函数。
-
return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
return是函数的退出(返回);exit是进程的退出。
-
return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。
-
return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS(操作系统),这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0 为非正常退出。
-
非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。
代码调试中的问题和解决过程
- 问题1:没有明白同样是用于清除缓冲区数据
fflush(stdin)和while(getchar() != ‘\n’)
有什么区别。 - 问题1解决方法:在云班课中提问,得到了同学的解答:getchar()是专门从缓冲区读取一个字符的函数。fflush(stdin)是直接将输入缓冲区全部清空。
- 问题2:在做一些测试题的时候,有时候出现问题的不是语法知识不会,而是数学逻辑不够,很多东西不会算,或者不会用代码表示出来(比如求素数,最大公约数,最小公倍数等)。
- 问题2解决办法:需要自己多去看不同的算法,并且在网上查找资料,看看别人是怎么解决的,逐步增强数学逻辑。
其他(感悟、思考等,可选)
通过之前的反思,已经有意识的开始每天积累新的知识了,但是内容还是不够多,虽然不能贪多求快,但是还是希望自己可以在有限的时间里,尽可能多的,尽可能扎实的掌握更多的东西!!
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 0/0 | 3/3 | |
第二周 | 200/200 | 6/6 | 18/21 | |
第三周 | 200/400 | 10/10 | 10/31 | |
第四周 | 300/700 | 2/12 | 19/50 | |
第五周 | 300/1000 | 3/15 | 20/70 | |
第六周 | 300/1300 | 5/20 | 15/85 | |
第七周 | 900/2200 | 1/21 | 15/100 | |
第八周 | 1400/3600 | 5/25 | 15/115 |