第48练 单元10 文件读写出错检测与学生信息管理系统最终版(数据持久化)《C语言程序设计》(高教版第2版)一课一练
|
2份
|
5页
|
27人阅读
|
0人下载
内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(高教版第2版)一课一练的单元10的第48练,内容涵盖单元10“学生信息管理系统”的数据保存的10.2.4、10.5 文件读写出错检测与学生信息管理系统最终版(数据持久化)。
《C语言程序设计》(高教版第2版)一课一练 第48练
单元10 “学生信息管理系统”的数据保存
10.2.4、10.5 文件读写出错检测与学生信息管理系统最终版(数据持久化)
1、 单项选择题(本题共5小题)
1、关于ferror函数的描述,下列正确的是( )
A. 调用fopen打开文件后,ferror的初始值为非 0 值
B. 文件读写出错时,ferror返回 0 表示出错
C. 每次调用输入 / 输出函数后,ferror会生成新的检测值
D. 文件读写出错后,无需立即检查ferror值,后续检测依然有效
【答案】C
【解析】调用fopen时ferror自动置 0,A 错误;ferror返回 0 表示未出错,非 0 表示出错,B 错误;每次 IO 操作会更新ferror值,若不立即检查,后续操作会覆盖原有错误信息,D 错误;C 符合ferror的特性。
2、clearerr函数的核心作用是( )
A. 清除文件中的所有内容
B. 将文件的出错标志和结束标志置为 0
C. 将文件指针重置到文件开头
D. 关闭指定文件并释放资源
【答案】B
【解析】clearerr仅用于重置文件的出错标志和 EOF 标志,不修改文件内容、指针位置或关闭文件,因此正确选项为 B。
3、要向已存在的二进制文件末尾追加数据,fopen函数应使用的打开模式是( )
A. "w"
B. "rb"
C. "ab"
D. "r+"
【答案】C
【解析】"w" 会清空文件原有内容,A 错误;"rb" 是只读二进制模式,B 错误;"r+" 是读写模式但不会追加,D 错误;"ab" 是二进制追加模式,会在文件末尾写入数据,C 正确。
4、下列操作中,不会清除文件读写出错标志的是( )
A. 调用clearerr(fp)
B. 调用rewind(fp)
C. 对同一文件调用fread函数
D. 关闭文件后重新打开
【答案】C
【解析】clearerr和rewind会主动重置出错标志,关闭后重新打开会初始化文件状态,而出错标志会保留直到以上操作,fread作为 IO 操作不会清除原有出错标志,因此正确选项为 C。
5、使用fwrite将结构体数据写入二进制文件时,下列说法正确的是( )
A. 需要手动将结构体成员转换为 ASCII 码后写入
B. 结构体的内存布局会被完整写入文件,保留数据的二进制格式
C. 只能写入结构体的单个成员,无法写入整个结构体
D. 必须以文本模式(如 "w")打开文件
【答案】B
【解析】fwrite是二进制写函数,直接按内存布局写入数据,无需转换 ASCII 码,A 错误;可以写入整个结构体,C 错误;二进制文件需用带 "b" 的模式打开,D 错误;B 符合fwrite的特性。
2、 判断题(本题共4题)
1、调用fopen函数成功打开文件后,ferror函数的初始值会被自动置为 0。( )
【答案】√
【解析】C 语言规定,打开文件时会自动初始化文件的出错标志,ferror初始值为 0,表示无错误。
2、文件读写出现错误后,ferror的非 0 值会一直保留,直到调用clearerr或rewind函数。( )
【答案】√
【解析】出错标志不会自动清除,必须通过clearerr、rewind或重新打开文件来重置,否则后续ferror检测会沿用之前的错误值。
3、以 "ab" 模式打开二进制文件时,若文件已存在,会清空原有内容后再写入新数据。( )
【答案】×
【解析】"ab" 是二进制追加模式,会直接在文件末尾写入新数据,不会清空原有内容;只有 "w" 或 "wb" 模式才会清空文件。
3、 程序填空题(本题共1题)
1、使用ferror函数检测文件读写错误时,返回值为____表示未出错,返回值为____表示读写过程中出现错误。
【答案】0;非 0 值
【解析】ferror的返回规则是:0 代表无错误,非 0 值代表存在错误,这是判断文件 IO 操作是否正常的核心依据。
2、要向已存在的二进制文件末尾追加数据,调用fopen函数时应指定的打开模式为____。
【答案】"ab"
【解析】"a" 表示追加模式,"b" 表示二进制文件,二者组合成 "ab" 模式,既能保证在文件末尾写入数据,又符合二进制文件的操作规范。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(高教版第2版)一课一练的单元10的第48练,内容涵盖单元10“学生信息管理系统”的数据保存的10.2.4、10.5 文件读写出错检测与学生信息管理系统最终版(数据持久化)。
《C语言程序设计》(高教版第2版)一课一练 第48练
单元10 “学生信息管理系统”的数据保存
10.2.4、10.5 文件读写出错检测与学生信息管理系统最终版(数据持久化)
1、 单项选择题(本题共5小题)
1、关于ferror函数的描述,下列正确的是( )
A. 调用fopen打开文件后,ferror的初始值为非 0 值
B. 文件读写出错时,ferror返回 0 表示出错
C. 每次调用输入 / 输出函数后,ferror会生成新的检测值
D. 文件读写出错后,无需立即检查ferror值,后续检测依然有效
2、clearerr函数的核心作用是( )
A. 清除文件中的所有内容
B. 将文件的出错标志和结束标志置为 0
C. 将文件指针重置到文件开头
D. 关闭指定文件并释放资源
3、要向已存在的二进制文件末尾追加数据,fopen函数应使用的打开模式是( )
A. "w"
B. "rb"
C. "ab"
D. "r+"
4、下列操作中,不会清除文件读写出错标志的是( )
A. 调用clearerr(fp)
B. 调用rewind(fp)
C. 对同一文件调用fread函数
D. 关闭文件后重新打开
5、使用fwrite将结构体数据写入二进制文件时,下列说法正确的是( )
A. 需要手动将结构体成员转换为 ASCII 码后写入
B. 结构体的内存布局会被完整写入文件,保留数据的二进制格式
C. 只能写入结构体的单个成员,无法写入整个结构体
D. 必须以文本模式(如 "w")打开文件
2、 判断题(本题共4题)
1、调用fopen函数成功打开文件后,ferror函数的初始值会被自动置为 0。( )
2、文件读写出现错误后,ferror的非 0 值会一直保留,直到调用clearerr或rewind函数。( )
3、以 "ab" 模式打开二进制文件时,若文件已存在,会清空原有内容后再写入新数据。( )
3、 程序填空题(本题共1题)
1、使用ferror函数检测文件读写错误时,返回值为____表示未出错,返回值为____表示读写过程中出现错误。
2、要向已存在的二进制文件末尾追加数据,调用fopen函数时应指定的打开模式为____。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$