2023-2024-1 20231424《计算机基础与程序设计》第14周学习总结

发布时间 2023-12-31 16:51:07作者: 李拜一lby

2023-2024-1 20231424《计算机基础与程序设计》第14周学习总结

作业信息

作业属于的课程 <班级链接>(2022-2023-1-计算机基础与程序设计
作业要求 <作业要求>(2022-2023-1计算机基础与程序设计第一周作业)
作业目标 《C语言程序设计》第13章
作业正文 https://www.cnblogs.com/2004lby/p/17937641

教材学习内容总结

《C语言程序设计》第13章

主要讲了文本文件和二进制文件的定义以及区别;

文件的打开方式以及如何打开文件和关闭文件,即fopen()函数和fclose()函数;

如何读写文件中的字符,以及如何读写文件中的字符串,即fgetc()函数和fputc()函数;

如何按指定格式从文件读数据和向文件写入数据,即fscanf()函数和fprintf()函数;

如何按数据块读写文件,即fread()函数和fwrite()函数。

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

问题1:什么是文件系统?文件系统就是某一类文件的组合吗?

问题1解决方案:

文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的

文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机

构称为文件管理系统,简称文件系统。

文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来

看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的

系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再

使用时撤销文件等。

问题2:什么是缓冲区?有什么作用?

问题2解决方案:

缓冲区就是我们常说的缓存,属于内存的一部分。它依据对应的输入设备和输出设备把内存的一部分空间

分为输入缓冲区和输出缓冲区。

可以减少对磁盘的读写次数,提高计算机的运行效率。系统调用时需要时间的,程序中频繁的使用系统调

用会降低程序的运行效率 ,库函数访问文件的时候根据需要,设置不同类型的缓冲区,从而减少了直接

调用IO系统调用的次数,也就提高了效率。

问题3:fflush()函数有什么更多的的用法呢?

问题3解决方案:

函数的定义:int fflush(FILE *stream);

如果stream指向输出流或者更新流(updatestream),并且这个更新流最近执行的操作不是输入,那么

fflush函数将把任何未被写入的数据写入stream指向的文件(如标准输出文件stdout)。否则,fflush函数

的行为是不确定的。

fflush(NULL)清空所有输出流和上面提到的更新流。如果发生写错误,fflush函数会给那些流打上错误标

记,并且返回EOF,否则返回0。

由此可知,如果 stream 指向输入流(如stdin),那么 fflush函数的行为是不确定的。故而使用

fflush(stdin)是不正确的,至少是移植性不好的。

代码调试中的问题和解决过程

问题1:无法将数据读入文档中。

问题1解决方案:通过翻阅课本,发现exit()函数是在stdlib头文件中的,应当在开头加上#include <stdlib.h>。

基于AI的学习






学习进度

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第6周 50/200 2/2 2/2
第7周 50/500 2/4 3/3
第8周 150/1000 3/7 2/8
第9周 150/1300 2/9 3/10
第10周 300/1600 1/10 3/13
第11周 300/1900 1/10 3/16
第12周 300/2200 1/10 3/19
第13周 300/2500 1/14 3/22
第14周 200/2700 1/14 3/25