2022-2023-1 20221325 《计算机基础与程序设计》第十四周学习总结
作业信息
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP |
---|---|
这个作业要求在哪里 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14 |
这个作业的目标 | 自学教材《C语言程序设计》第13章并完成云班课测试 |
作业正文 | https://www.cnblogs.com/yx-qx-xy-515-2/p/16949776.html |
教材学习内容总结
二进制文件和文本文件
文件的打开和关闭,顺序读写与随机读写
标准输入/输出及其重定向
教材学习中的问题和解决过程
Q: 程序的存储类型?
A: 存储类型分别是auto(自动),extern(外部),register(寄存器),static(静态)
1.auto
在函数体中定义的变量缺省是auto.当进入代码块(block)时,系统为自动变量分配内存.在块内,这些变量被定义,并被认为他们是局部于本块的.当退出块时,系统释放分配给自动变量的内存,因此,变量值就丢失了.重新进入块,系统会为自动变量再次分配内存,原先的值已经没有了.
2.extern
在函数的外部声明变量,就为变量永久的分配存储,它的存储类型是extern。定义在函数外部的变量的存储类型都是extern,既不使用关键字extern.使用extern关键字是告诉,编译器”在本文件或其他文件中寻找它”。既a文件中int a =1在b文件中则可以使用extern int a;来调用它。外部变量从不会消失,因为外部变量在整个程序执行期间都是存在的。
两种方式向函数传递信息:1.使用外部变量.2.使用参数.当函数从其内部而不是通过参数表改变全局变量时,会产生副作用.这样的构造容易引发错误.正确的做法是通过参数和返回机制影响全局变量.
3.register
register高速编译器应该把有关的变量存储在高速的内存寄存器中.使用存储于类型register是要试图改善执行速度.当关系速度时,可选择一些最经常访问的变量,并把他们的存储类型声明为register.
register i;等价于register int i;,register默认是int类型.
4.static
允许局部变量保存它的原有值,以便再进入块时使用.
void f(void)
{
static int cnt = 0;
}
问题2:随机读写与顺序读写怎么去理解?
问题2解决方案:随机读写是相对顺序读写而言的,所谓随机读写,是指可以在任何时候将存取文件的指针指向文件内容的任何位置。一般情况下SAS机械硬盘主要是看顺序读写性能,SSD固态盘主要看随机读写性能。文件的操作方式:顺序读写:文件指针只能从头移动到尾;随机读写:文件指针可以随意移动,根据需要。
代码调试中的问题和解决过程
暂无
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 |
---|---|---|---|
目标 | 3000行 | 30篇 | 200小时 |
第一周 | 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 |
第十周 | 150/1400 | 1/22 | 20/190 |
第十一周 | 150/1550 | 1/23 | 20/210 |
第十二周 | 150/1700 | 1/24 | 20/230 |
第十三周 | 150/1850 | 1/25 | 20/250 |
第十四周 | 150/2000 | 1/26 | 20/270 |