2022-2023-1 20221307《计算机基础与程序设计》第十三周学习总结
作业信息
这个作业属于那个班级: https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
作业要求: https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13
作业目标 :学习《C语言程序设计》第12章
正文:2022-2023-1 20221307《计算机基础与程序设计》第十三周学习总结 - 20221307 - 博客园 (cnblogs.com)
教材学习内容总结
本周《c语言程序设计》学习了结构体指针,枚举,从基本数据类型(整型,浮点型,指针)等,延伸到抽象数据类型,利用typedef定义结构体别名,利用枚举完成星期几问题的编程,利用结构体嵌套完成个人信息的录入;此外,在进一步学习指针的过程中,我强化了对二维数组行指针,列指针,以及函数指针的理解。其中,函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。函数指针有两个用途:调用函数和做函数的参数。在学校平台刷题的过程中,编写矩阵的转置程序
利用二维数组行列指针编程
以及利用数组做函数参数编程,对我进一步学习指针有了很大帮助
教材学习中的问题和解决过程
什么是文件操作,怎样理解,怎么利用该知识实现真正的学生成绩管理系统?
1.FILE为C语言提供的文件类型,它是一个结构体类型,用于存放文件的相关信息。FILE*即为文件指针类型,通过该指针,我们可以对其相关联的文件进行一系列操作。
2.为了打开文件,文件名是不可缺少的。如果要打开当前目录下的文件,可只用输入文件名,否则应该输入文件的绝对路径,如:c:\code\test.txt
3.mode为打开文件的几种方式,常见的有"r"(只读),"w"(只写),"a"(文件末尾追加),"rb"(二进制件打开,只读),"wb"(二进制件打开,只读),"ab"(二进制件打开,追加)等。
用"r"方式打开文件,若文件不存在,则返回一个空指针表示错误。若用"w"或"a"打开文件,则若文件不存在,都会创建一个新文件,即使文件存在,写入时也会把原有内容先进行覆盖
4.在对文件进行相关操作后应该及时使用fclose函数进行关闭,以便及时释放资源
5.若fopen函数打开失败,则返回空指针,且设置全局变量 errno 来标识错误,因此打开文件后应该做必要的判断。对于flose函数,如果成功返回值为零。如果失败,则返回 EOF。
6.可利用文件操作在控制台中输入的结果导入到指定地址的.txt文件中
怎样加强程序的健壮性?
1.合理布局函数返回值,保证函数返回值一致
之前很多时候写函数往往很随性,返回值类型可以能代表函数执行成功或者失败的Bool型,也会有代表实际结果的Str或者Int等类型。这样的函数在外部调用时候很难受,因为在函数调用后处理时,处理不当就会出现typeError,所以在函数编写前,要思考后本函数的作用,同时确定返回值类型,在函数的所有涉及到返回结果时,给予一致类型的返回值,方便外部调用。
2.去掉冗余的代码
很多时候,我们的代码都是迭代开发的。往往会罗列一些无用的函数,引入一些无用的类库。这些内容貌似无意义,但却是代码中的隐患。可能在后续的类库更新或者函数变更中爆炸。所以,代码要保持清理,对于无用的引用和定义,要加以清除。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | ||
---|---|---|---|---|
目标 | 5000行 | 27篇 | 300小时 | |
第一周 | 50/50 | 2/2 | 15/15 | |
第二周 | 100/150 | 2/4 | 15/30 | |
第三周 | 150/350 | 3/7 | 20/50 | |
第四周 | 150/500 | 3/10 | 20/70 | |
第五周 | 150/650 | 2/12 | 20/90 | |
第六周 | 150/800 | 4/16 | 20/110 | |
第七周 | 150/950 | 1/17 | 20/130 | |
第八周 | 150/1100 | 3/20 | 20/150 | |
第九周 | 150/1250 | 1/21 | 20/170 | |
第十周 | 300/1550 | 1/22 | 20/190 | |
第十一周 | 300/1850 | 1/23 | 20/210 | |
第十二周 | 300/2150 | 1/24 | 20/230 | |
第十三周 | 300/2450 | 1/25 | 20/250 |