第57练 第11章 文件的格式化输入输出(fprintf、fscanf)《C语言程序设计》(电子工业出版社)一课一练
|
2份
|
8页
|
38人阅读
|
0人下载
内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第11章的第57练,内容涵盖第11章文件的11.5 文件的格式化输入输出(fprintf/fscanf)。
《C语言程序设计》(电子工业出版社)一课一练 第57练
第11章 文件
11.5 文件的格式化输入输出(fprintf/fscanf)
1、 单项选择题(本题共4小题)
1、关于fprintf和printf函数的区别,下列描述正确的是( )
A. 两者的格式化规则完全不同
B. printf的输出对象是磁盘文件,fprintf的输出对象是显示器
C. fprintf的输出对象是磁盘文件,printf的输出对象是显示器
D. 两者的调用参数完全一致
【答案】C
【解析】fprintf和printf的格式化规则相同,但输出对象不同:printf将格式化内容输出到标准输出设备(显示器),fprintf则输出到指定的磁盘文件;fprintf需要多一个文件指针参数,选项 C 正确。
2、fscanf函数的正确调用格式是( )
A. fscanf(格式字符串, 文件指针, 输入表列);
B. fscanf(文件指针, 输入表列, 格式字符串);
C. fscanf(输入表列, 格式字符串, 文件指针);
D. fscanf(文件指针, 格式字符串, 输入表列);
【答案】D
【解析】fscanf的调用格式为:文件指针(指定读取的文件)→ 格式字符串(指定读取格式)→ 输入表列(存储读取数据的变量地址),选项 D 符合该格式要求。
3、要使用fprintf向文件中写入多个结构体数组元素,通常需要配合的语句是( )
A. 分支语句(if-else)
B. 循环语句(for/while)
C. 跳转语句(goto)
D. 不需要额外语句,一次就能写完
【答案】B
【解析】fprintf每次只能写入一个结构体元素,要处理多个元素,必须通过循环语句遍历数组,逐个写入文件,选项 B 正确。
4、使用fscanf读取文件内容时,文件的打开方式不能是( )
A. "r"
B. "r+"
C. "w"
D. "rb+"
【答案】C
【解析】"w" 是只写方式打开文件,会清空原有内容且无法读取,fscanf是读文件函数,需要文件以读或读写方式打开,选项 C 符合题意。
2、 判断题(本题共3题)
1、fscanf函数的输入对象是键盘,scanf函数的输入对象是磁盘文件。( )
【答案】×
【解析】fscanf的输入对象是指定的磁盘文件,scanf的输入对象是标准输入设备(键盘),二者的输入对象完全相反,因此该表述错误。
2、使用fprintf向文件写入多个结构体元素时,必须配合循环语句逐个写入。( )
【答案】√
【解析】fprintf一次只能处理一个结构体元素的格式化写入,要完成多个元素的写入操作,需要通过循环遍历结构体数组,逐个调用fprintf实现。
3、使用fscanf读取完文件所有内容后,若要再次从文件开头读取,需要调用rewind函数重置文件内部位置指针。( )
【答案】√
【解析】fscanf会自动移动文件内部位置指针,读完文件后指针指向末尾,rewind函数可以将该指针重置到文件开头,实现重新读取的需求。
3、 填空题(本题共2题)
1、fprintf函数的第一个参数是____,用于指定格式化内容要写入的目标文件。
【答案】文件指针
【解析】文件指针是连接程序和磁盘文件的桥梁,fprintf通过它定位要写入的文件,没有该参数无法确定写入的目标。它需要提前通过fopen函数获取并验证有效性。
2、与printf函数相比,fprintf函数增加了____参数,用于指定输出的目标文件。
【答案】文件指针
【解析】printf默认输出到显示器,无需指定输出目标;fprintf需要输出到指定磁盘文件,因此必须增加文件指针参数来定位文件,这是二者调用格式的核心区别。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
int main() {
FILE *fp = fopen("num.txt", "w+");
fprintf(fp, "%d %f", 123, 45.67);
rewind(fp);
int a; float b;
fscanf(fp, "%d %f", &a, &b);
printf("a=%d, b=%.2f", a, b);
fclose(fp);
return 0;
}
【答案】
程序运行结果:
a=123, b=45.67
【解析】
程序以读写方式创建并打开文件num.txt,通过fprintf将整数 123 和浮点数 45.67 格式化写入文件;rewind函数将文件内部位置指针移回开头,fscanf从文件中读出数据存入变量a和b;最后通过printf格式化输出变量值,保留浮点数两位小数。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第11章的第57练,内容涵盖第11章文件的11.5 文件的格式化输入输出(fprintf/fscanf)。
《C语言程序设计》(电子工业出版社)一课一练 第57练
第11章 文件
11.5 文件的格式化输入输出(fprintf/fscanf)
1、 单项选择题(本题共4小题)
1、关于fprintf和printf函数的区别,下列描述正确的是( )
A. 两者的格式化规则完全不同
B. printf的输出对象是磁盘文件,fprintf的输出对象是显示器
C. fprintf的输出对象是磁盘文件,printf的输出对象是显示器
D. 两者的调用参数完全一致
【答案】C
【解析】fprintf和printf的格式化规则相同,但输出对象不同:printf将格式化内容输出到标准输出设备(显示器),fprintf则输出到指定的磁盘文件;fprintf需要多一个文件指针参数,选项 C 正确。
2、fscanf函数的正确调用格式是( )
A. fscanf(格式字符串, 文件指针, 输入表列);
B. fscanf(文件指针, 输入表列, 格式字符串);
C. fscanf(输入表列, 格式字符串, 文件指针);
D. fscanf(文件指针, 格式字符串, 输入表列);
【答案】D
【解析】fscanf的调用格式为:文件指针(指定读取的文件)→ 格式字符串(指定读取格式)→ 输入表列(存储读取数据的变量地址),选项 D 符合该格式要求。
3、要使用fprintf向文件中写入多个结构体数组元素,通常需要配合的语句是( )
A. 分支语句(if-else)
B. 循环语句(for/while)
C. 跳转语句(goto)
D. 不需要额外语句,一次就能写完
【答案】B
【解析】fprintf每次只能写入一个结构体元素,要处理多个元素,必须通过循环语句遍历数组,逐个写入文件,选项 B 正确。
4、使用fscanf读取文件内容时,文件的打开方式不能是( )
A. "r"
B. "r+"
C. "w"
D. "rb+"
【答案】C
【解析】"w" 是只写方式打开文件,会清空原有内容且无法读取,fscanf是读文件函数,需要文件以读或读写方式打开,选项 C 符合题意。
2、 判断题(本题共3题)
1、fscanf函数的输入对象是键盘,scanf函数的输入对象是磁盘文件。( )
【答案】×
【解析】fscanf的输入对象是指定的磁盘文件,scanf的输入对象是标准输入设备(键盘),二者的输入对象完全相反,因此该表述错误。
2、使用fprintf向文件写入多个结构体元素时,必须配合循环语句逐个写入。( )
【答案】√
【解析】fprintf一次只能处理一个结构体元素的格式化写入,要完成多个元素的写入操作,需要通过循环遍历结构体数组,逐个调用fprintf实现。
3、使用fscanf读取完文件所有内容后,若要再次从文件开头读取,需要调用rewind函数重置文件内部位置指针。( )
【答案】√
【解析】fscanf会自动移动文件内部位置指针,读完文件后指针指向末尾,rewind函数可以将该指针重置到文件开头,实现重新读取的需求。
3、 填空题(本题共2题)
1、fprintf函数的第一个参数是____,用于指定格式化内容要写入的目标文件。
【答案】文件指针
【解析】文件指针是连接程序和磁盘文件的桥梁,fprintf通过它定位要写入的文件,没有该参数无法确定写入的目标。它需要提前通过fopen函数获取并验证有效性。
2、与printf函数相比,fprintf函数增加了____参数,用于指定输出的目标文件。
【答案】文件指针
【解析】printf默认输出到显示器,无需指定输出目标;fprintf需要输出到指定磁盘文件,因此必须增加文件指针参数来定位文件,这是二者调用格式的核心区别。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
int main() {
FILE *fp = fopen("num.txt", "w+");
fprintf(fp, "%d %f", 123, 45.67);
rewind(fp);
int a; float b;
fscanf(fp, "%d %f", &a, &b);
printf("a=%d, b=%.2f", a, b);
fclose(fp);
return 0;
}
【答案】
程序运行结果:
a=123, b=45.67
【解析】
程序以读写方式创建并打开文件num.txt,通过fprintf将整数 123 和浮点数 45.67 格式化写入文件;rewind函数将文件内部位置指针移回开头,fscanf从文件中读出数据存入变量a和b;最后通过printf格式化输出变量值,保留浮点数两位小数。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$