第52卷 文件基础《程序设计基础》广西(对口考试)《电子与信息大类考纲百套卷》

2026-07-01
| 2份
| 16页
| 56人阅读
| 1人下载

内容正文:

学科网(北京)股份有限公司 学科网(北京)股份有限公司 编写说明:广西(职教高考)《电子与信息大类考纲百套卷》,依据《广西高等职业教育考试大纲与说明(电子与信息大类)》编写。每门课程均分三层训练:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。 本试卷是第52卷,按《程序设计基础》范围和要求编写。具体内容为:(1)了解文件的定义及分类;(2)了解文件的打开及关闭。 广西《电子与信息大类考纲百套卷》 第52卷 《程序设计基础》 文件基础 考点训练卷 考试时间60分钟  满分100分 班级 姓名 学号 成绩 一、单项选择题(本大题共20小题,每题3分,共60分) 1. 下列关于C语言文件的叙述中,正确的是( ) A. C语言中的文件仅指磁盘上存储的数据文件,不包括源程序文件 B. C语言把文件看作是一个字符的序列,即流式文件 C. C语言文件只能以二进制形式存储,不能以ASCII形式存储 D. C语言文件必须有后缀名,否则无法被程序打开 【答案】B 【解析】C语言把文件看作是字符(字节)序列,称为流式文件。A错,文件分为程序文件(.c/.obj/.exe)和数据文件;C错,文件分为文本文件(ASCII)和二进制文件;D错,文件名后缀非必需,文件能否打开与后缀无关。 2. 在C语言中,从数据在存储器上的组织形式来看,文件分为( ) A. 程序文件和数据文件 B. 顺序文件和随机文件 C. 普通文件和设备文件 D. 文本文件和二进制文件 【答案】D 【解析】按数据在外存的组织形式,文件分为文本文件(ASCII文件,以字符形式存储)和二进制文件(以二进制形式存储)。A是按文件功能分类;B、C是其他分类方式。 3. C语言中用于定义文件指针变量的类型是( ) A. FILE B. file C. FILE* D. struct file 【答案】C 【解析】文件指针变量定义为 FILE* fp;,fp是指向FILE类型结构体的指针。FILE是系统定义的结构体类型名(typedef struct _iobuf FILE),定义指针时需加*。file和struct file均不是标准类型名。 4. ANSI C标准采用缓冲文件系统处理数据文件,下列关于缓冲文件系统的叙述,错误的是( ) A. 系统自动在内存中为每个正在使用的文件开辟文件缓冲区 B. 从内存向磁盘写数据时,每写一个字符就立即写入磁盘一次 C. 缓冲区的目的是减少直接访问磁盘的次数,提高效率 D. fclose函数关闭文件时会自动刷新缓冲区 【答案】B 【解析】缓冲文件系统中,写数据时先把数据送到内存缓冲区,装满缓冲区后才一起写入磁盘,而非每写一个字符就写一次磁盘(那样效率极低)。A、C、D描述均正确。 5. 在C语言中,函数fopen("test.txt", "r")的功能是( ) A. 以只读方式打开一个已存在的文本文件test.txt B. 以只写方式打开一个文本文件test.txt,文件不存在则新建 C. 以读写方式打开一个文本文件test.txt D. 以追加方式打开一个文本文件test.txt,文件不存在则新建 【答案】A 【解析】"r"表示只读(read),要求文件必须已存在,若文件不存在则打开失败返回NULL。B是"w"模式;C是"r+"模式;D是"a"模式。 6. 下列文件使用模式中,打开文件后文件指针位于文件末尾的是( ) A. "r" B. "w" C. "a" D. "r+" 【答案】C 【解析】"a"(追加)模式打开文件后文件指针位于文件末尾,便于在文件尾追加数据;"r"、"r+"打开文件后指针在文件开头;"w"打开文件后指针在文件开头(且文件内容被清空)。 7. 执行语句 fp=fopen("data.txt","w"); 后,若磁盘上原来不存在data.txt文件,则( ) A. 打开失败,返回NULL B. 程序出错终止运行 C. 系统提示用户先创建文件 D. 创建名为data.txt的文件 【答案】D 【解析】"w"(只写)模式打开文件时,若文件不存在则自动创建新文件;若文件存在则清空其内容。A错,"r"模式才在文件不存在时返回NULL。 8. 下列关于fclose函数的叙述,正确的是( ) A. 调用fclose后,文件指针变量自动变为NULL B. fclose只能关闭用fopen打开的文本文件,不能关闭二进制文件 C. fclose函数不需要参数 D. fclose成功关闭文件时返回0,失败时返回EOF 【答案】D 【解析】fclose(int fclose(FILE* stream))成功返回0,失败返回EOF;A错,fclose不会自动把指针置NULL,需程序员手动置NULL以防野指针;B错,文本/二进制文件均可关闭;C错,需传入要关闭的文件指针。 9. 设已有定义 FILE *fp;,则以下打开文件并检查是否成功的代码段,正确的是( ) A. fp=fopen("f.txt","r"); if(fp==NULL) printf("打开失败"); B. if((fp=fopen("f.txt","r"))==NULL) printf("打开失败"); C. if(fp=fopen("f.txt","r")==NULL) printf("打开失败"); D. if(fp=fopen("f.txt","r"))==NULL) printf("打开失败"); 【答案】B 【解析】正确写法是将fopen的返回值赋给fp并用括号括起来再与NULL比较:if((fp=fopen(...))==NULL)。C错,因==优先级高于=,会先比较fopen返回值与NULL再把0/1赋给fp,逻辑错误。A虽能工作但未在打开时立即判断。D括号匹配错误。 10. C语言程序运行时,系统自动打开的三个标准流文件是( ) A. stdin、stdout、stderr,类型均为int B. standard、output、error,类型均为FILE C. input、output、error,类型均为char* D. stdin、stdout、stderr,类型均为FILE* 【答案】D 【解析】C程序启动时系统自动打开三个标准流:stdin(标准输入,键盘)、stdout(标准输出,显示器)、stderr(标准错误,显示器),它们都是FILE*类型的文件指针,无需手动打开和关闭。 11. 以下程序段执行后,文件f.txt中原有内容的状况是( ) FILE *fp; fp=fopen("f.txt","w"); if(fp!=NULL){ fputs("hello", fp); fclose(fp); } A. 原有内容保持不变,"hello"添加到文件末尾 B. 原有内容被全部清空,文件中只有"hello" C. 原有内容保持不变,"hello"覆盖文件开头 D. 程序出错,无法写入 【答案】B 【解析】"w"模式打开文件时,若文件已存在会清空其原有内容。因此f.txt原有内容被清空,再写入"hello",文件中只有"hello"。若要保留原内容并在末尾追加应使用"a"模式。 12. 下列文件使用模式中,既能读又能写,且文件不存在时打开失败的是( ) A. "w+" B. "a+" C. "r+" D. "ab+" 【答案】C 【解析】"r+"模式打开文本文件用于读写,要求文件必须已存在,文件不存在时打开失败返回NULL。"w+"和"a+"在文件不存在时会新建文件;"ab+"是二进制读写追加模式。 13. 在C语言中,fopen函数打开文件失败时的返回值是( ) A. NULL B. EOF C. -1 D. 0 【答案】A 【解析】fopen打开成功返回指向FILE的指针,失败返回NULL(空指针)。EOF是fclose失败或读写函数出错时的返回值;0是fclose成功的返回值。程序中应判断fopen返回值是否为NULL以处理打开失败的情况。 14. 下列关于文本文件与二进制文件存储整数的叙述,正确的是( ) A. 整数10000在文本文件中占用5个字节 B. 整数10000在文本文件中占用4个字节 C. 整数10000在二进制文件中占用5个字节 D. 整数10000在文本文件和二进制文件中占用的字节数相同 【答案】A 【解析】文本文件以ASCII码形式存储,10000由5个字符'1''0''0''0''0'组成,占5字节;二进制文件以二进制形式存储int型数据,通常占4字节(32位系统)。字符一律以ASCII存储,数值型数据二者皆可。 15. 在C语言中,若要以"读写"方式打开一个二进制文件,且文件不存在时自动创建,应使用的打开模式是( ) A. "rb+" B. "ab+" C. "wb+" D. "r+b" 【答案】C 【解析】"wb+"模式:以读写方式打开二进制文件,文件不存在时自动创建,文件存在时清空内容。"rb+"和"r+b"要求文件已存在(不存在则失败);"ab+"是追加读写模式,初始指针在末尾。 16. 下列关于C语言中缓冲文件系统的叙述,错误的是( ) A. 缓冲文件系统需要程序员自己手动设置缓冲区 B. 缓冲区的作用是减少直接读写磁盘的次数,提高I/O效率 C. fclose函数在关闭文件时会自动将缓冲区中未写入的数据写入磁盘 D. 可用fflush函数主动刷新缓冲区 【答案】A 【解析】缓冲文件系统中,缓冲区由系统自动开辟和管理,程序员无需手动设置。A描述错误。B、C、D均正确:缓冲区提高效率,fclose自动刷新,fflush可主动刷新。 17. 以下程序的输出结果是( ) #include <stdio.h> int main(){ FILE *fp; fp=fopen("a.txt","w"); if(fp==NULL) printf("1"); else printf("2"); fclose(fp); return 0; } A. 1 B. 0 C. 程序出错 D. 2 【答案】D 【解析】fopen以"w"模式打开文件,若a.txt不存在会自动创建,因此一般打开成功返回非NULL指针,条件fp==NULL为假,执行else输出2。本题考查"w"模式在文件不存在时自动创建的特性。 18. 以下程序段中,与语句 fp=fopen("f.dat","rb"); 功能等价的是( ) A. fp=fopen("f.dat","r+b"); B. fp=fopen("f.dat","r+"); C. fp=fopen("f.dat","r+b"); D. fp=fopen("f.dat","wb"); 【答案】C 【解析】"rb"是二进制只读模式,与"r+b"完全等价(b的位置可前可后)。A中"r+b"也等价但与C重复;B中"r+"是文本文件读写模式,不等价;D中"wb"是二进制只写模式,会清空文件内容,不等价。 19. 下列关于文件关闭的叙述,正确的是( ) A. 文件使用完毕后应及时关闭,以释放系统资源并保证缓冲区数据写入磁盘 B. 文件关闭后,文件指针变量自动释放,无需再赋NULL C. 一个程序中打开的文件会在程序结束时自动关闭,因此无需调用fclose D. fclose函数关闭文件时不会刷新缓冲区 【答案】A 【解析】文件使用完毕应及时调用fclose关闭:①释放系统资源(文件信息区);②将缓冲区未写入数据刷新到磁盘。B错,指针变量本身不释放,需手动置NULL防野指针;C错,虽然程序结束会关闭,但依赖此机制可能导致数据丢失;D错,fclose会刷新缓冲区。 20. 已有定义 FILE *fp;,若要以追加方式打开文本文件log.txt(文件不存在时自动创建),正确的fopen调用是( ) A. fp=fopen("log.txt","w"); B. fp=fopen("log.txt","a"); C. fp=fopen("log.txt","r"); D. fp=fopen("log.txt","r+"); 【答案】B 【解析】"a"模式:以追加方式打开文本文件,文件不存在时自动创建,文件存在时保留原内容,指针位于文件末尾,适合日志文件的追加写入。"w"会清空原内容;"r"要求文件存在且只读;"r+"要求文件存在且读写。 二、判断题(本大题共10小题,每题1分,共10分) 1. C语言把文件看作是一个字符的序列,即流式文件,文件的存取以字符为单位。( ) 【答案】√ 【解析】C语言采用流式文件模型,把文件看作字符(字节)序列,读写以字符(字节)为单位进行,这是C语言文件处理的基本特点。 2. 文本文件和二进制文件都可以用来存储数值型数据,但二者在磁盘上的存储形式不同。( ) 【答案】√ 【解析】数值型数据既可用ASCII形式存储(文本文件),也可用二进制形式存储(二进制文件)。文本文件需经ASCII码转换,二进制文件不加转换直接存储,二者存储形式不同。 3. fopen函数的返回值类型是int,成功返回1,失败返回0。( ) 【答案】× 【解析】fopen的返回值类型是FILE*(文件指针),成功返回指向FILE结构体的指针,失败返回NULL(空指针),而不是int型的1或0。 4. 以"w"模式打开一个已存在的文件时,文件原有内容会被全部清空。( ) 【答案】√ 【解析】"w"(只写)模式打开已存在文件时会清空其原有内容,文件指针指向文件开头,便于重新写入。若要保留原内容应使用"a"模式。 5. fopen("data.txt","r"); 中,若data.txt文件不存在,系统会自动创建该文件。( ) 【答案】× 【解析】"r"(只读)模式要求文件必须已存在,若文件不存在则打开失败返回NULL,不会自动创建。只有"w"、"a"、"w+"、"a+"等模式才在文件不存在时自动创建。 6. fclose函数关闭文件成功时返回0,失败时返回EOF;关闭文件时会自动刷新缓冲区。( ) 【答案】√ 【解析】fclose成功返回0,失败返回EOF(通常为-1)。关闭文件时会自动将缓冲区中未写入磁盘的数据刷新写入,并释放文件信息区和缓冲区资源。 7. C语言程序运行时,系统自动打开stdin、stdout、stderr三个标准流,它们是FILE*类型的文件指针。( ) 【答案】√ 【解析】C程序启动时系统自动打开三个标准流:stdin(标准输入,键盘)、stdout(标准输出,显示器)、stderr(标准错误,显示器),类型均为FILE*,程序中可直接使用,无需手动打开关闭。 8. FILE是C语言的关键字,由语言标准直接定义,用户不能修改。( ) 【答案】× 【解析】FILE不是C语言的关键字,而是系统在stdio.h头文件中通过typedef定义的结构体类型名(typedef struct _iobuf FILE),它是一个类型标识符而非关键字。 9. "r+"和"w+"都是以读写方式打开文本文件,二者在文件不存在时的行为完全相同。( ) 【答案】× 【解析】"r+"要求文件必须已存在,文件不存在时打开失败返回NULL;"w+"在文件不存在时自动创建新文件,文件存在时清空内容。二者在文件不存在时行为不同。 10. 二进制文件以二进制形式存储数据,占用空间通常比存储同样数据的文本文件小,且读取速度快。( ) 【答案】√ 【解析】二进制文件不加转换直接存储内存中的数据,无ASCII码转换开销,通常占用空间更小(如int型10000占4字节,文本文件占5字节),且读写时无需转换,速度更快。 三、填空题(本大题共5小题,每题3分,共15分) 1. C语言中,文件按其在外存上的组织形式分为______和______两大类。 【答案】文本文件;二进制文件 【解析】文本文件以ASCII码形式存储字符,每个字符占1字节;二进制文件以二进制形式存储,直接反映内存中的数据形式。 2. C语言中文件指针变量的类型是______。 【答案】FILE* 【解析】文件指针定义为FILE* fp;,fp指向FILE类型的结构体变量,该结构体存放文件名、状态、当前位置等文件信息。 3. fopen函数的返回值类型是FILE*,当文件打开失败时返回______。 【答案】NULL 【解析】fopen成功返回指向FILE结构体的指针,失败返回NULL。编程时必须检查返回值是否为NULL以处理打开失败情况。 4. fclose函数的功能是关闭文件,关闭成功时返回______,失败时返回______;关闭文件时还会自动刷新文件缓冲区。 【答案】0;EOF 【解析】fclose成功返回0,失败返回EOF(通常定义为-1)。关闭文件时自动将缓冲区未写入数据写入磁盘,释放文件信息区和缓冲区。 5. 在C语言中,若要以只读方式打开一个必须已存在的二进制文件data.dat,应使用 fp=fopen("data.dat",______); 。 【答案】"rb" 【解析】"a"是文本文件追加模式,文件不存在时自动创建;"rb"是二进制文件只读模式,要求文件必须已存在,不存在则打开失败。 四、应用题(本大题共3小题,每题5分,共15分) 1. 以下程序的功能是:以只读方式打开文本文件test.txt,并检查是否打开成功,若失败则输出提示信息并结束程序。请在横线处填入适当代码。 #include <stdio.h> #include <stdlib.h> int main(){ FILE *fp; fp=fopen("test.txt", (1) ); if((2)){ printf("文件打开失败! "); exit(0); } /* 文件读写操作略 */ fclose(fp); return 0; } 【答案】(1)"r" (2)fp==NULL 【解析】(1)只读打开文本文件用模式。(2)fopen打开失败返回NULL,故判断条件为fp==NULL,若为真则输出提示并退出程序。本题考查fopen打开失败的检查这一标准编程范式。 2. 以下程序的功能是:向文本文件out.txt写入一个字符串(文件不存在时自动创建),写入完成后关闭文件。请在横线处填入适当代码。 #include <stdio.h> int main(){ FILE *fp; fp=fopen("out.txt", (3) ); if(fp!=NULL){ fputs("Hello C", (4) ); fclose(fp); } return 0; } 【答案】(3)"w" (4)fp 【解析】(3)要写入文件且文件不存在时自动创建,用"w"(只写)模式。(4)fputs函数的原型为int fputs(const char* str, FILE* stream),第一个参数是要写入的字符串,第二个参数是文件指针fp。本题考查文件写入模式选择与fputs函数的使用。 3. 以下程序的功能是:以追加方式打开二进制文件data.dat(文件不存在时自动创建),向文件末尾写入数据后关闭。请在横线处填入适当的打开模式。 #include <stdio.h> int main(){ FILE *fp; int x=100; fp=fopen("data.dat", (5) ); if(fp!=NULL){ fwrite(&x, sizeof(int), 1, fp); fclose(fp); } return 0; } 【答案】(5)"ab" 【解析】"ab"是二进制文件追加模式:以追加方式打开二进制文件,文件不存在时自动创建,文件存在时保留原内容,文件指针位于文件末尾,适合在文件尾追加数据。本题考查二进制文件追加模式的正确写法。 原创精品资源学科网独家享有版权,侵权必究!zxxk.com 学科网(北京)股份有限公司 学科网(北京)股份有限公司zxxk.com 学科网(北京)股份有限公司 $ 学科网(北京)股份有限公司 学科网(北京)股份有限公司 编写说明:广西(职教高考)《电子与信息大类考纲百套卷》,依据《广西高等职业教育考试大纲与说明(电子与信息大类)》编写。每门课程均分三层训练:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。 本试卷是第52卷,按《程序设计基础》范围和要求编写。具体内容为:(1)了解文件的定义及分类;(2)了解文件的打开及关闭。 广西《电子与信息大类考纲百套卷》 第52卷 《程序设计基础》 文件基础 考点训练卷 考试时间60分钟  满分100分 班级 姓名 学号 成绩 一、单项选择题(本大题共20小题,每题3分,共60分) 1. 下列关于C语言文件的叙述中,正确的是( ) A. C语言中的文件仅指磁盘上存储的数据文件,不包括源程序文件 B. C语言把文件看作是一个字符的序列,即流式文件 C. C语言文件只能以二进制形式存储,不能以ASCII形式存储 D. C语言文件必须有后缀名,否则无法被程序打开 2. 在C语言中,从数据在存储器上的组织形式来看,文件分为( ) A. 程序文件和数据文件 B. 顺序文件和随机文件 C. 普通文件和设备文件 D. 文本文件和二进制文件 3. C语言中用于定义文件指针变量的类型是( ) A. FILE B. file C. FILE* D. struct file 4. ANSI C标准采用缓冲文件系统处理数据文件,下列关于缓冲文件系统的叙述,错误的是( ) A. 系统自动在内存中为每个正在使用的文件开辟文件缓冲区 B. 从内存向磁盘写数据时,每写一个字符就立即写入磁盘一次 C. 缓冲区的目的是减少直接访问磁盘的次数,提高效率 D. fclose函数关闭文件时会自动刷新缓冲区 5. 在C语言中,函数fopen("test.txt", "r")的功能是( ) A. 以只读方式打开一个已存在的文本文件test.txt B. 以只写方式打开一个文本文件test.txt,文件不存在则新建 C. 以读写方式打开一个文本文件test.txt D. 以追加方式打开一个文本文件test.txt,文件不存在则新建 6. 下列文件使用模式中,打开文件后文件指针位于文件末尾的是( ) A. "r" B. "w" C. "a" D. "r+" 7. 执行语句 fp=fopen("data.txt","w"); 后,若磁盘上原来不存在data.txt文件,则( ) A. 打开失败,返回NULL B. 程序出错终止运行 C. 系统提示用户先创建文件 D. 创建名为data.txt的文件 8. 下列关于fclose函数的叙述,正确的是( ) A. 调用fclose后,文件指针变量自动变为NULL B. fclose只能关闭用fopen打开的文本文件,不能关闭二进制文件 C. fclose函数不需要参数 D. fclose成功关闭文件时返回0,失败时返回EOF 9. 设已有定义 FILE *fp;,则以下打开文件并检查是否成功的代码段,正确的是( ) A. fp=fopen("f.txt","r"); if(fp==NULL) printf("打开失败"); B. if((fp=fopen("f.txt","r"))==NULL) printf("打开失败"); C. if(fp=fopen("f.txt","r")==NULL) printf("打开失败"); D. if(fp=fopen("f.txt","r"))==NULL) printf("打开失败"); 10. C语言程序运行时,系统自动打开的三个标准流文件是( ) A. stdin、stdout、stderr,类型均为int B. standard、output、error,类型均为FILE C. input、output、error,类型均为char* D. stdin、stdout、stderr,类型均为FILE* 11. 以下程序段执行后,文件f.txt中原有内容的状况是( ) FILE *fp; fp=fopen("f.txt","w"); if(fp!=NULL){ fputs("hello", fp); fclose(fp); } A. 原有内容保持不变,"hello"添加到文件末尾 B. 原有内容被全部清空,文件中只有"hello" C. 原有内容保持不变,"hello"覆盖文件开头 D. 程序出错,无法写入 12. 下列文件使用模式中,既能读又能写,且文件不存在时打开失败的是( ) A. "w+" B. "a+" C. "r+" D. "ab+" 13. 在C语言中,fopen函数打开文件失败时的返回值是( ) A. NULL B. EOF C. -1 D. 0 14. 下列关于文本文件与二进制文件存储整数的叙述,正确的是( ) A. 整数10000在文本文件中占用5个字节 B. 整数10000在文本文件中占用4个字节 C. 整数10000在二进制文件中占用5个字节 D. 整数10000在文本文件和二进制文件中占用的字节数相同 15. 在C语言中,若要以"读写"方式打开一个二进制文件,且文件不存在时自动创建,应使用的打开模式是( ) A. "rb+" B. "ab+" C. "wb+" D. "r+b" 16. 下列关于C语言中缓冲文件系统的叙述,错误的是( ) A. 缓冲文件系统需要程序员自己手动设置缓冲区 B. 缓冲区的作用是减少直接读写磁盘的次数,提高I/O效率 C. fclose函数在关闭文件时会自动将缓冲区中未写入的数据写入磁盘 D. 可用fflush函数主动刷新缓冲区 17. 以下程序的输出结果是( ) #include <stdio.h> int main(){ FILE *fp; fp=fopen("a.txt","w"); if(fp==NULL) printf("1"); else printf("2"); fclose(fp); return 0; } A. 1 B. 0 C. 程序出错 D. 2 18. 以下程序段中,与语句 fp=fopen("f.dat","rb"); 功能等价的是( ) A. fp=fopen("f.dat","r+b"); B. fp=fopen("f.dat","r+"); C. fp=fopen("f.dat","r+b"); D. fp=fopen("f.dat","wb"); 19. 下列关于文件关闭的叙述,正确的是( ) A. 文件使用完毕后应及时关闭,以释放系统资源并保证缓冲区数据写入磁盘 B. 文件关闭后,文件指针变量自动释放,无需再赋NULL C. 一个程序中打开的文件会在程序结束时自动关闭,因此无需调用fclose D. fclose函数关闭文件时不会刷新缓冲区 20. 已有定义 FILE *fp;,若要以追加方式打开文本文件log.txt(文件不存在时自动创建),正确的fopen调用是( ) A. fp=fopen("log.txt","w"); B. fp=fopen("log.txt","a"); C. fp=fopen("log.txt","r"); D. fp=fopen("log.txt","r+"); 二、判断题(本大题共10小题,每题1分,共10分) 1. C语言把文件看作是一个字符的序列,即流式文件,文件的存取以字符为单位。( ) 2. 文本文件和二进制文件都可以用来存储数值型数据,但二者在磁盘上的存储形式不同。( ) 3. fopen函数的返回值类型是int,成功返回1,失败返回0。( ) 4. 以"w"模式打开一个已存在的文件时,文件原有内容会被全部清空。( ) 5. fopen("data.txt","r"); 中,若data.txt文件不存在,系统会自动创建该文件。( ) 6. fclose函数关闭文件成功时返回0,失败时返回EOF;关闭文件时会自动刷新缓冲区。( ) 7. C语言程序运行时,系统自动打开stdin、stdout、stderr三个标准流,它们是FILE*类型的文件指针。( ) 8. FILE是C语言的关键字,由语言标准直接定义,用户不能修改。( ) 9. "r+"和"w+"都是以读写方式打开文本文件,二者在文件不存在时的行为完全相同。( ) 10. 二进制文件以二进制形式存储数据,占用空间通常比存储同样数据的文本文件小,且读取速度快。( ) 三、填空题(本大题共5小题,每题3分,共15分) 1. C语言中,文件按其在外存上的组织形式分为______和______两大类。 2. C语言中文件指针变量的类型是______。 3. fopen函数的返回值类型是FILE*,当文件打开失败时返回______。 4. fclose函数的功能是关闭文件,关闭成功时返回______,失败时返回______;关闭文件时还会自动刷新文件缓冲区。 5. 在C语言中,若要以只读方式打开一个必须已存在的二进制文件data.dat,应使用 fp=fopen("data.dat",______); 。 四、应用题(本大题共3小题,每题5分,共15分) 1. 以下程序的功能是:以只读方式打开文本文件test.txt,并检查是否打开成功,若失败则输出提示信息并结束程序。请在横线处填入适当代码。 #include <stdio.h> #include <stdlib.h> int main(){ FILE *fp; fp=fopen("test.txt", (1) ); if((2)){ printf("文件打开失败! "); exit(0); } /* 文件读写操作略 */ fclose(fp); return 0; } 2. 以下程序的功能是:向文本文件out.txt写入一个字符串(文件不存在时自动创建),写入完成后关闭文件。请在横线处填入适当代码。 #include <stdio.h> int main(){ FILE *fp; fp=fopen("out.txt", (3) ); if(fp!=NULL){ fputs("Hello C", (4) ); fclose(fp); } return 0; } 3. 以下程序的功能是:以追加方式打开二进制文件data.dat(文件不存在时自动创建),向文件末尾写入数据后关闭。请在横线处填入适当的打开模式。 #include <stdio.h> int main(){ FILE *fp; int x=100; fp=fopen("data.dat", (5) ); if(fp!=NULL){ fwrite(&x, sizeof(int), 1, fp); fclose(fp); } return 0; } 原创精品资源学科网独家享有版权,侵权必究!zxxk.com 学科网(北京)股份有限公司 学科网(北京)股份有限公司zxxk.com 学科网(北京)股份有限公司 $

资源预览图

第52卷  文件基础《程序设计基础》广西(对口考试)《电子与信息大类考纲百套卷》
1
第52卷  文件基础《程序设计基础》广西(对口考试)《电子与信息大类考纲百套卷》
2
第52卷  文件基础《程序设计基础》广西(对口考试)《电子与信息大类考纲百套卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。