第9章 第1、2节:了解文件及文件的打开和关闭(练习)-《编程语言基础—C语言》(高教版第5版)同步精品课堂

2025-12-29
| 2份
| 11页
| 50人阅读
| 1人下载

内容正文:

9.1节与9.2节了解文件及文件的打开和关闭 一、单项选择题 1.以下关于fclose函数的描述,错误的是( ) A. 调用fclose后,对应的FILE指针会自动置为 NULL B. 关闭文件时,会将缓冲区剩余数据写入磁盘 C. 未关闭文件可能导致数据丢失(缓冲区数据未写入) D. 重复关闭同一个已关闭的文件指针会导致运行异常 2.若要以 “读写” 方式打开二进制文件data.bin,且写入时覆盖原内容,正确的打开方式是() A. "rb+" B. "wb+" C. "ab+" D. "r+b" 3.以下代码中,能正确判断文件是否打开成功的是() A. FILE *fp; if(fopen("test.txt", "r") == NULL) printf("失败"); B. FILE *fp = fopen("test.txt", "w"); if(fp) printf("成功"); C. FILE *fp = fopen("test.txt", "a"); if(!fp) printf("失败"); D. FILE *fp; fopen("test.txt", "r+"); if(fp == NULL) printf("失败"); 4.关于文本文件和二进制文件的区别,以下描述核心正确的是() A. 文本文件存储字符,二进制文件存储数字 B. 文本文件会对换行符等进行转换(如 对应 \r ),二进制文件按原始数据存储 C. 二进制文件不能用文本编辑器打开 D. 文本文件占用空间更小 5.执行以下代码后,test.txt中的内容是() FILE *fp = fopen("test.txt", "w"); fputs("hello", fp); fclose(fp); fp = fopen("test.txt", "w"); fputs("world", fp); fclose(fp); A. helloworld B. hello C. world D. 空 6.以下关于文件指针的描述,正确的是() A. 文件指针指向文件的第一个字符 B. 文件指针是FILE类型变量的地址,记录文件当前操作位置 C. 打开文件后,文件指针默认指向文件末尾 D. 仅能通过fseek修改文件指针位置 7.若在 Windows 系统中以"w"模式打开文本文件,写入"a b",则文件实际存储的字节是() A. 3 字节(a + + b) B. 4 字节(a + \r + + b) C. 2 字节(a + b) D. 不确定 8.以下代码存在的核心错误是() #include <stdio.h> main() { FILE *fp = fopen("data.txt", "r"); fputs("test", fp); fclose(fp); } A. 未判断文件是否打开成功 B. 以只读模式打开文件,却执行写入操作 C. fputs参数顺序错误 D. 缺少头文件 9.以下关于文件打开模式的组合,合法且有意义的是() A. "rw" B. "rbw" C. "r+" D. "br" 10.执行以下代码后,若data.txt原本内容为 "12345",最终文件内容是() FILE *fp = fopen("data.txt", "r+"); fseek(fp, 2, SEEK_SET); fputs("ab", fp); fclose(fp); A. 12ab5 B. ab345 C. 12345ab D. ab 二、填空题 11.C 语言中,文件分为____和____两类;其中,存储程序代码或可执行指令的是____,存储数据的是____。 12.C 语言中,文件类型指针的定义格式是____;其中,FILE是____(填 “基本数据类型”/“结构体类型”)。 13. 若要以 “只读” 方式打开文本文件data.txt,fopen函数的调用格式是____;若文件不存在,该调用会返回____。 14.fopen函数的返回值类型是____;若要判断文件是否打开成功,可通过判断返回值是否等于____实现。 15.若文件打开方式为"w",其含义是____(填文本 / 二进制)文件的____(填 “只读”/“只写”/“读写”)方式;若文件已存在,该方式会____(填 “追加内容”/“清空原内容”)。 16.关闭文件的函数是____,其参数是____(填 “文件名”/“文件指针”);调用该函数后,会将____中的剩余数据写入磁盘。 17.若要以 “二进制只读” 方式打开文件test.bin,fopen的打开方式参数是____;该方式与文本方式的核心区别是____。 18.以下代码中,若test.txt原本不存在,执行后会____(填 “创建文件”/“不创建文件”),输出结果是____。 FILE *fp = fopen("test.txt", "r"); if(fp == NULL) printf("打开失败"); 19.若要以 “读写” 方式打开文本文件,且写入时追加到文件末尾,打开方式参数是____;该方式下,写入操作始终会将数据追加到____。 20.以下代码中,fp是文件指针,执行fclose(fp);后,fp的值____(填 “会”/“不会”)自动变为NULL;为避免野指针,应手动将fp赋值为____。 FILE *fp = fopen("data.txt", "r"); fclose(fp); 21.若要以 “读写” 方式打开二进制文件,且保留原文件内容,打开方式参数是____;该方式要求文件____(填 “必须存在”/“可以不存在”)。 22.以下代码中,若test.txt原本内容为 “hello”,执行后文件内容是____。 FILE *fp1 = fopen("test.txt", "w"); fputs("world", fp1); FILE *fp2 = fopen("test.txt", "a"); fputs("!", fp2); fclose(fp1); fclose(fp2); 23.若文件打开方式为"a",则写入操作的位置是____;若要在该方式下读取文件内容,需将打开方式改为____。 24.以下代码中,若data.txt不存在,执行后会创建文件的是第____行的fopen调用。 1. FILE *fp1 = fopen("data.txt", "r"); 2. FILE *fp2 = fopen("data.txt", "w"); 3. FILE *fp3 = fopen("data.txt", "r+"); 25.若要以 “读写” 方式打开文本文件,且文件不存在时自动创建,打开方式参数是____;该方式下,写入操作会____(填 “清空原内容”/“追加内容”)。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 9.1节与9.2节了解文件及文件的打开和关闭 一、单项选择题 1.以下关于fclose函数的描述,错误的是( ) A. 调用fclose后,对应的FILE指针会自动置为 NULL B. 关闭文件时,会将缓冲区剩余数据写入磁盘 C. 未关闭文件可能导致数据丢失(缓冲区数据未写入) D. 重复关闭同一个已关闭的文件指针会导致运行异常 【答案】A 2.若要以 “读写” 方式打开二进制文件data.bin,且写入时覆盖原内容,正确的打开方式是( ) A. "rb+" B. "wb+" C. "ab+" D. "r+b" 【答案】D 3.以下代码中,能正确判断文件是否打开成功的是( ) A. FILE *fp; if(fopen("test.txt", "r") == NULL) printf("失败"); B. FILE *fp = fopen("test.txt", "w"); if(fp) printf("成功"); C. FILE *fp = fopen("test.txt", "a"); if(!fp) printf("失败"); D. FILE *fp; fopen("test.txt", "r+"); if(fp == NULL) printf("失败"); 【答案】C 4.关于文本文件和二进制文件的区别,以下描述核心正确的是( ) A. 文本文件存储字符,二进制文件存储数字 B. 文本文件会对换行符等进行转换(如 对应 \r ),二进制文件按原始数据存储 C. 二进制文件不能用文本编辑器打开 D. 文本文件占用空间更小 【答案】B 5.执行以下代码后,test.txt中的内容是( ) FILE *fp = fopen("test.txt", "w"); fputs("hello", fp); fclose(fp); fp = fopen("test.txt", "w"); fputs("world", fp); fclose(fp); A. helloworld B. hello C. world D. 空 【答案】C 6.以下关于文件指针的描述,正确的是( ) A. 文件指针指向文件的第一个字符 B. 文件指针是FILE类型变量的地址,记录文件当前操作位置 C. 打开文件后,文件指针默认指向文件末尾 D. 仅能通过fseek修改文件指针位置 【答案】B 7.若在 Windows 系统中以"w"模式打开文本文件,写入"a b",则文件实际存储的字节是( ) A. 3 字节(a + + b) B. 4 字节(a + \r + + b) C. 2 字节(a + b) D. 不确定 【答案】B 8.以下代码存在的核心错误是( ) #include <stdio.h> main() { FILE *fp = fopen("data.txt", "r"); fputs("test", fp); fclose(fp); } A. 未判断文件是否打开成功 B. 以只读模式打开文件,却执行写入操作 C. fputs参数顺序错误 D. 缺少头文件 【答案】B 9.以下关于文件打开模式的组合,合法且有意义的是( ) A. "rw" B. "rbw" C. "r+" D. "br" 【答案】C 10.执行以下代码后,若data.txt原本内容为 "12345",最终文件内容是( ) FILE *fp = fopen("data.txt", "r+"); fseek(fp, 2, SEEK_SET); fputs("ab", fp); fclose(fp); A. 12ab5 B. ab345 C. 12345ab D. ab 【答案】A 二、填空题 11.C 语言中,文件分为____和____两类;其中,存储程序代码或可执行指令的是____,存储数据的是____。 【答案】程序文件;数据文件;程序文件;数据文件 12.C 语言中,文件类型指针的定义格式是____;其中,FILE是____(填 “基本数据类型”/“结构体类型”)。 【答案】FILE *fp;;结构体类型 13. 若要以 “只读” 方式打开文本文件data.txt,fopen函数的调用格式是____;若文件不存在,该调用会返回____。 【答案】fopen("data.txt", "r");;NULL 14.fopen函数的返回值类型是____;若要判断文件是否打开成功,可通过判断返回值是否等于____实现。 【答案】FILE *;NULL 15.若文件打开方式为"w",其含义是____(填文本 / 二进制)文件的____(填 “只读”/“只写”/“读写”)方式;若文件已存在,该方式会____(填 “追加内容”/“清空原内容”)。 【答案】文本;只写;清空原内容 16.关闭文件的函数是____,其参数是____(填 “文件名”/“文件指针”);调用该函数后,会将____中的剩余数据写入磁盘。 【答案】fclose();文件指针;缓冲区 17.若要以 “二进制只读” 方式打开文件test.bin,fopen的打开方式参数是____;该方式与文本方式的核心区别是____。 【答案】"rb";不进行字符转换(如换行符 不会转为\r ) 18.以下代码中,若test.txt原本不存在,执行后会____(填 “创建文件”/“不创建文件”),输出结果是____。 FILE *fp = fopen("test.txt", "r"); if(fp == NULL) printf("打开失败"); 【答案】不创建文件;打开失败 19.若要以 “读写” 方式打开文本文件,且写入时追加到文件末尾,打开方式参数是____;该方式下,写入操作始终会将数据追加到____。 【答案】"a+";文件末尾 20.以下代码中,fp是文件指针,执行fclose(fp);后,fp的值____(填 “会”/“不会”)自动变为NULL;为避免野指针,应手动将fp赋值为____。 FILE *fp = fopen("data.txt", "r"); fclose(fp); 【答案】不会;NULL 21.若要以 “读写” 方式打开二进制文件,且保留原文件内容,打开方式参数是____;该方式要求文件____(填 “必须存在”/“可以不存在”)。 【答案】"rb+";必须存在 22.以下代码中,若test.txt原本内容为 “hello”,执行后文件内容是____。 FILE *fp1 = fopen("test.txt", "w"); fputs("world", fp1); FILE *fp2 = fopen("test.txt", "a"); fputs("!", fp2); fclose(fp1); fclose(fp2); 【答案】world! 23.若文件打开方式为"a",则写入操作的位置是____;若要在该方式下读取文件内容,需将打开方式改为____。 【答案】文件末尾;"a+" 24.以下代码中,若data.txt不存在,执行后会创建文件的是第____行的fopen调用。 1. FILE *fp1 = fopen("data.txt", "r"); 2. FILE *fp2 = fopen("data.txt", "w"); 3. FILE *fp3 = fopen("data.txt", "r+"); 【答案】2 25.若要以 “读写” 方式打开文本文件,且文件不存在时自动创建,打开方式参数是____;该方式下,写入操作会____(填 “清空原内容”/“追加内容”)。 【答案】"w+";清空原内容 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第9章 第1、2节:了解文件及文件的打开和关闭(练习)-《编程语言基础—C语言》(高教版第5版)同步精品课堂
1
第9章 第1、2节:了解文件及文件的打开和关闭(练习)-《编程语言基础—C语言》(高教版第5版)同步精品课堂
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。