第46练 单元10 顺序读写函数《C语言程序设计》(高教版第2版)一课一练

| 2份
| 5页
| 23人阅读
| 0人下载

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(高教版第2版)一课一练的单元10的第46练,内容涵盖单元10“学生信息管理系统”的数据保存的10.2.2 顺序读写函数(fprintf/fscanf/fputc/fgetc/fputs/fgets)。 《C语言程序设计》(高教版第2版)一课一练 第46练 单元10 “学生信息管理系统”的数据保存 10.2.2 顺序读写函数(fprintf/fscanf/fputc/fgetc/fputs/fgets) 1、 单项选择题(本题共5小题) 1、关于fgetc函数的描述,下列正确的是( ) A. 读取成功返回字符的 ASCII 码值,失败返回 0 B. 每次调用后会自动将文件指针向后移动一个字节 C. 仅能读取文本文件,无法读取二进制文件 D. 可以一次性读取多个字符组成的字符串 【答案】B 【解析】fgetc读取成功返回字符的 ASCII 码,失败返回EOF(通常为 - 1),A 错误;fgetc支持二进制文件(需用rb模式打开),C 错误;fgetc每次仅读取一个字符,D 错误;每次读取后文件指针自动后移,B 正确。 2、使用fgets(str, 10, fp)读取文件时,下列说法错误的是( ) A. 最多读取 9 个字符,末尾自动添加字符串结束符'\0' B. 若遇到换行符' ',会将' '存入str并终止读取 C. 读取成功返回str的地址,失败返回NULL D. 读取时会自动跳过文件中的空格、制表符等空白字符 【答案】D 【解析】fgets会读取包括空白字符在内的所有字符,直到读取满n-1个字符、遇到换行符或文件结束,不会跳过空白字符,D 错误;其余选项均为fgets的正确特性。 3、关于fprintf和fscanf函数的描述,正确的是( ) A. 读写速度比二进制读写函数更快 B. 直接以二进制形式存储数据到文件 C. 读写时需要进行 ASCII 码与二进制数据的转换 D. 仅能读写字符型数据,无法处理整型、浮点型数据 【答案】C 【解析】fprintf将二进制数据转换为 ASCII 码存储,fscanf将 ASCII 码转换为二进制数据,转换过程会消耗时间,读写速度慢于二进制函数,A 错误;是以文本格式存储,B 错误;支持多种数据类型的格式化读写,D 错误;C 正确。 4、要将结构体数组中的学生信息以二进制形式写入文件,应使用的函数是( ) A. fputs B. fprintf C. fwrite D. fputc 【答案】C 【解析】fwrite用于二进制形式读写整块数据,适合结构体这类复合数据;fputs写字符串、fprintf格式化文本、fputc写单个字符,均不符合二进制写结构体的需求,C 正确。 5、打开文件顺序为:FILE *fp1 = fopen("a.txt", "r"); FILE *fp2 = fopen("b.txt", "w");,关闭文件的正确顺序是( ) A. fclose(fp1); fclose(fp2); B. fclose(fp2); fclose(fp1); C. 任意顺序均可 D. 无需手动关闭,程序结束自动关闭 【答案】B 【解析】文件关闭应遵循 “后打开先关闭” 的原则,避免资源泄漏;虽然程序结束会自动关闭文件,但手动关闭是良好的编程习惯,因此正确顺序为 B。 2、 判断题(本题共3题) 1、feof(fp)函数返回值为真时,表示文件指针已到达文件末尾,无法继续读取数据。( ) 【答案】√ 【解析】feof用于检测文件是否结束,返回非零值表示已到文件末尾,后续读取操作会失败。 2、使用fopen打开绝对路径文件时,路径中的反斜杠无需转义,直接写"D:\file.txt"即可。( ) 【答案】× 【解析】C 语言中反斜杠是转义字符,绝对路径需用双反斜杠表示,如"D:\\file.txt",否则会被解析为无效转义序列,导致路径错误。 3、fputs函数向文件写入字符串时,会自动将字符串结束符'\0'写入文件。( ) 【答案】× 【解析】fputs仅写入字符串的有效字符,不会写入'\0',因此需要手动写入' '等分隔符来区分不同字符串。 3、 填空题(本题共2题) 1、C 语言中,从文件读取单个字符的函数是____,向文件写入单个字符的函数是____。 【答案】fgetc;fputc 【解析】fgetc用于从指定文件指针指向的文件中读取一个字符;fputc用于将指定字符写入到文件指针指向的文件中,二者是文本文件字符级读写的核心函数。 2、使用fread函数读取二进制文件时,第一个参数是____,用于指定存储读取数据的内存起始地址。 【答案】buffer(或数据存储区的起始地址) 【解析】fread的第一个参数是指向内存块的指针,读取到的二进制数据会被存储到该内存区域,确保数据能正确写入指定的变量或数组中。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(高教版第2版)一课一练的单元10的第46练,内容涵盖单元10“学生信息管理系统”的数据保存的10.2.2 顺序读写函数(fprintf/fscanf/fputc/fgetc/fputs/fgets)。 《C语言程序设计》(高教版第2版)一课一练 第46练 单元10 “学生信息管理系统”的数据保存 10.2.2 顺序读写函数(fprintf/fscanf/fputc/fgetc/fputs/fgets) 1、 单项选择题(本题共5小题) 1、关于fgetc函数的描述,下列正确的是( ) A. 读取成功返回字符的 ASCII 码值,失败返回 0 B. 每次调用后会自动将文件指针向后移动一个字节 C. 仅能读取文本文件,无法读取二进制文件 D. 可以一次性读取多个字符组成的字符串 2、使用fgets(str, 10, fp)读取文件时,下列说法错误的是( ) A. 最多读取 9 个字符,末尾自动添加字符串结束符'\0' B. 若遇到换行符' ',会将' '存入str并终止读取 C. 读取成功返回str的地址,失败返回NULL D. 读取时会自动跳过文件中的空格、制表符等空白字符 3、关于fprintf和fscanf函数的描述,正确的是( ) A. 读写速度比二进制读写函数更快 B. 直接以二进制形式存储数据到文件 C. 读写时需要进行 ASCII 码与二进制数据的转换 D. 仅能读写字符型数据,无法处理整型、浮点型数据 4、要将结构体数组中的学生信息以二进制形式写入文件,应使用的函数是( ) A. fputs B. fprintf C. fwrite D. fputc 5、打开文件顺序为:FILE *fp1 = fopen("a.txt", "r"); FILE *fp2 = fopen("b.txt", "w");,关闭文件的正确顺序是( ) A. fclose(fp1); fclose(fp2); B. fclose(fp2); fclose(fp1); C. 任意顺序均可 D. 无需手动关闭,程序结束自动关闭 2、 判断题(本题共3题) 1、feof(fp)函数返回值为真时,表示文件指针已到达文件末尾,无法继续读取数据。( ) 2、使用fopen打开绝对路径文件时,路径中的反斜杠无需转义,直接写"D:\file.txt"即可。( ) 3、fputs函数向文件写入字符串时,会自动将字符串结束符'\0'写入文件。( ) 3、 填空题(本题共2题) 1、C 语言中,从文件读取单个字符的函数是____,向文件写入单个字符的函数是____。 2、使用fread函数读取二进制文件时,第一个参数是____,用于指定存储读取数据的内存起始地址。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第46练 单元10 顺序读写函数《C语言程序设计》(高教版第2版)一课一练-第1页
1

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。