文件典型例分析与解答,第1张

文件典型例分析与解答,第2张

1 二制文件中的数据存放格式是__________方式,整数-12345要占用_________字节;文本文件的数据存放格式是_________方式,整数一12345要占用___________字节。
【分析】教材(pl73)中有明确说明,二进制文件的的数据是以二进制数方式存放的,其占的字节数就是该数据类型中规定的字节数(整型数据占用2个字节)。文本文件中的数据是ASCII代码方式存放的,数据中的每个字符都要占用1个字节。
【答案】二进制数
2
ASCII代码
6
2 如果要定义一个文件型指针fp,应该使用的定义语句是________________;同时,在程序清单的开头要有一条_________________命令。
【分析】文件型是系统在头函数“stdio.h”中定义的一种结构型,并且系统将其定义成用户自定义的数据类型,名称为“FILE”,所以程序中如果需要定义这种文件型指针,可以使用用户自定义的数据类型符“FILE”来定义。由于这个用户自定义的数据类型符是在头函数“stdio.h”冲定义的,所以程序的开头要使用包含文件命令将“stdio.h”包含到本程序清单中。
【答案】FILE *fp;
#inclde "stdio.h"
3 如果打开文件时,选用的文件操作方式为“wb+”,则下列说法中错误的是()
①要打开的文件必须存在 ②要打开的文件可以不存在
③打开文件后可以读取数据 ④要打开的文件是二进制文件
【分析】从教材(p174)中可以发现,打开文件时的操作方式中只要含有字符“w”,则这个文件可以存在,也可以不存在。当文件不存在时,系统会自动建立一个新文件。分析备选答案①:显然是错误的说法,是符合题意的答案。备选答案②显然是正确的说法。备选答案③的说法是正确的,因为文件操作方式中只要含有“+”号,文件就可以读写。备选答案④的说法也是正确的,因为文件操作方式中含有“b”字符,表示文件是以二进制文件方式处理的。
【答案】①
4 如果要求打开一个a盘根目录下、名为“ccw.dat”的二进制文件用于读和追加写,则调用打开文件函数的格式应为_________________;如果要求打开一个C盘一级目录ccw下、名为“ccw1.txt”的文本文件,并且用于只写,则调用打开文件函数的格式应为_____________________.
【分析】打开文件函数调用时需要确定两个参数:前一个是文件全名,后一个是文件操作方式。对本题的第1个空白来说,前一个参数是"a:\ccw. dat",后一个参数是”ab+”。对本题的第 2个空白来说,前一个参数是"c:\ccw\ccw1.txt",后一个参数是"w"。
【答案】 fopen("a:\ccw.dat","ab+")
fopen("c:\ CASEccw\ccw1.txt","w")
5 假设文件型指针f已经指向可写的磁盘文件,并且正确执行了函数调用“fputc('A',f)”,则该次调用后的函数返回值是___________________。
【分析】对于函数“fputc()”的返回值是这样规定的:正确写出了字符,则返回值就是这个字符;写字符出现错误,则返回值是符号常量EOF,其值为-1。
【答案】 字符'A' 或 整数65
6 如果要将存放在双精度型数组a[10」中的10个双精度型实数写到文件型指针fp1指向的文件中,正确的语句是()
① for(i=0;i<80;i++) fputc(a[i],fp1);
② for(i=0;i<10;i++) fputc(&a[i],fp1);
③ for(i=0;i<10;i++) fwrite(&a[i],8,l,fp1);
④ fwrite(fp1,8,10,a);
【分析】分析备选答案①:由于循环控制变量i的值依次为0、1、…、 79,将会出现a[10]、 a[11]、…、a[79]的下标越界,结果是错误的;此外, fputc()函数调用时的第1个实参是双精度型数据,不是字符型数据,也是错误的。分析备选答案③:函数fputc()调用时的第1个实参是地址,不是字符型数据,是错误的。分析备选答案③:循环执行10次,控制变量三的值依次等于0、1、…、9,每次输出的数据是从地址a[i]开始的8个字节,恰好是存放在数组元素a[i」中的一个双精度型数据,所以是正确的,符合题意。至于备选答案④:参数的顺序出现错误,第1个参数应该是输出数据的首地址,第4个参数应该是指向文件的文件型指针。
【答案】③
7 如果将主文件型指针fp指向的文件内部指针置于文件尾,正确的语句是()
①feof(fp); ②rewind(fp);
③fseek(fp,OL,0); ④fseek(fp,OL,2);
【分析】分析备选答案①:feof()函数的功能是测试文件尾,不是定位到文件尾;分析备选答案②:函数rewind()的功能是定位到函数头,不是定位到函数尾;分析备选答案③:该语句的功能是定位到离基准点(函数头)偏离0个字节的位置上,实际上是定位到文件头;只有备选答案④才符合题意。该答案中的语句是定位到离基准点(文件尾)偏离0个字节的位置上,就是文件尾的位置。
【答案】 ④

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 文件典型例分析与解答

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情