练习题十
一、选择题
1. 缺省状态下,系统的标准输入文件(设备)是指
(A) 键盘 (B) 显示器 (C) 软盘 (D) 硬盘
2. 缺省状态下,系统的标准输出文件(设备)是指
(A) 键盘 (B) 显示器 (C) 软盘 (D) 硬盘
3. 若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件打开时的方式字符串应是
(A) "ab+" (B) "wb+" (C) "rb+" (D) "ab"
4. 在执行fopen函数时,若执行不成功,则函数的返回值是
(A) TURE (B) –1 (C) 1 (D) NULL
5.若执行fopen函数时发生错误,则函数的返回值是
(A) 地址值 (B)0 (C)1 (D)EOF
6.fopen()函数的mode取值”r”和”w”时,它们之间的差别是
(A)”r”可向文件写入,”w”不可向文件写入
(B)”r”不可向文件写入,”w”可向文件写入
(C).”r”不可由文件读出,”w”可由文件读出
(D)文件不存在时,”r”建立新文件,”w”出错
7.若以“a+”方式打开一个已存的文件,则以下叙述正确的是
(A) 文件打开时,原有内容不被删除,位置指针移到文件末尾,可作添加和读操作
(B) 文件打开时,原有内容不被删除,位置指针移到文件末尾,可作重写和读操作
(C) 文件打开时,原有文件内容被删除,只可作写操作
(D) 以上各种说法皆不正确
8.当已存在一个文件时,执行函数fopen(“”, “r+”)的功能是
(A)打开文件,清除原有内容
(B)打开文件,只能写入新的内容
(C)打开文件,只能读取原有内容
(D)打开文件,可以读取和写入新的内容
9.以下可作为函数fopen中第一个参数的正确格式是
(A)c: (B)c:\ (C)“\” (D)“c\\user\\”
10.当顺利执行了文件关闭操作时,fclose函数的返回值是
(A) -1 (B) TURE (C) 0 (D)1
11. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是
(A) 只写 (B) 追加 (C) 读或读写 (D) 答案B和C都正确
12. 若调用fputc函数输出字符成功,则其返回值是
(A) EOF (B) 1 (C) 0 (D) 输出的字符
13. 标准库函数fgets(str,n,file)的功能是
(A) 从文件file中读取长度为n的字符串存入指针str所指的内存
(B) 从文件file中读取长度不超过n-1的字符串存入指针str所指的内存
(C) 从文件file中读取n个字符串存入指针str所指的内存
(D) 从文件file中读取长度为n-1的字符串存入指针str所指的内存
14. fscanf函数的正确调用形式是
(A) fscanf(fp,格式字符串,输出表列); (B) fscanf(格式字符串,输出表列,fp);
(C) fscanf(格式字符串,文件指针,输出表列); (D) fscanf(文件指针,格式字符串,输入表列);
15. 以下fread函数的调用形式中,参数类型正确的是
(A) fread(char *buf,int size, int count,FILE fp) (B) fread(FILE fp,int * buf,int size,int count)
(C) fread(FILE fp,int size,int count,char * buf) (D) fread(int count,char *buf,int size, FILE fp)
16.已知函数的调用格式:fread(buffer,size,count,fp);其中buffer代表的是
(A) 一个整形变量,代表要读入的数据项总数 (B) 一个文件指针,指向要读的文件
(C) 一个指针,指向要读入数据的存放地址 (D) 一个存储区,存放要读的数据项
17. fwrite函数的一般调用形式是
(A) fwrite(buffer,count,fp,size); (B) fwrite(fp,size,count,buffer);
(C) fwrite(fp,count,size,buffer); (D) fwrite(buffer,size,count,fp);
18. 函数调用语句:fseek(fp,-20L,SEEK_END);的含义是
(A) 将文件位置指针移到距离文件头20个字节处
(B) 将文件位置指针从当前位置向后移动20个字节
(C) 将文件位置指针从文件末尾处向后退20个字节
(D) 将文件位置指针移到离当前位置20个字节处
19. 利用fseek函数可实现的操作是
(A) 改变文件的位置指针 (B) 辅助实现文件的顺序读写
(C) 辅助实现文件的随机读写 (D) 以上答案均正确
fgets和fgetc的区别20. fseek函数的正确调用形式是
(A) fseek(文件类型指针,起始点,位移量); (B) fseek(fp,位移量,起始点);
(C) fseek(位移量,起始点,fp); (D) fseek(起始点,位移量,文件类型指针);
21. 函数rewind的作用是
(A) 使位置指针重新返回到文件的开头 (B) 将位置指针指向文件中所要求的特定位置
(C) 使位置指针指向文件的末尾 (D) 使位置指针自动移至下一个字符位置
22. 函数ftell(fp)的作用是
(A) 得到文件当前位置指针的位置 (B) 移动流式文件的位置指针
(C) 初始化流式文件的位置指针 (D) 以上答案均正确
23. 若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是
(A) EOF (B) –1 (C) 非零值 (D) NULL
24.以下程序的的功能是
#include <stdio.h>
main( )
{ FILE *fp;
char str[]=”HELLO”;
fp=fopen(“PRN”, “w”);
fputs(str,fp);
fclose(fp); }
(A)在屏幕上显示”HELLO” (B)把”HELLO”存入PRN文件中
(C)在打印机上打印出”HELLO” (D)以上都不对
25.以下程序是将一个名为old.dat的文本文件拷贝到一个名为new.dat的新文本文件中。请选择正确的编号填空。
#include <stdio.h>
main( )
{ FILE *fp1, *fp2;
int c;
fp1=fopen(“old.dat”, ( ));
fp1=fopen(“new.dat”, ( ));
c=getc(fp1);
while (c!=EOF)
{ putc(c, fp2);
c=getc(fp1); }
fclose(fp1);
fclose(fp2); }
① (A)”r” (B)”r+” (C)”rb” (D)”rb+”
② (A)”w+” (B)”wb+” (C)”w” (D)”wb”
26.以下程序对文件abc进行两次操作:第一次将它显示在屏幕上,第二次将它复制到xyz文件中。请选择正确的编号填空。
#include <stdio.h>
main( )
{ FILE *fp1, *fp2;
fp1=fopen(“abc”, “r”);
fp2=fopen(“xyz”, “w”);
while ( )
putchar(fgetc(fp1));
( );
while ( )
fputc(fgetc(fp1), fp2);
fclose(fp1);
fclose(fp2); }
① (A)fp2 (B)feof(fp1) (C)!feof(fp1) (D)!feof(fp2)
② (A)fputc(fp1) (B)rewind(fp1) (C)fputc(fp2) (D)rewind(fp2)
③ (A)fp1 (B)feof(fp1) (C)!feof(fp1) (D)!feof(fp2)
二、填空题
1. 在C程序中,文件可以用__________方式存取,也可以用__________方式存取。
2. 在C程序中,数据可以用__________和__________两种代码形式存放。
3. 在C语言中,文件的存取是以___________为单位的,即以__________为单位,这种文件被称作 __________文件。
4. rewind()函数的作用是 。
5. 在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数是 函数。
6. 在C语言中,能实现改变文件的位置指针的函数是__________。
7. 定义FILE *fp,这里fp是一个 。
8. 在C语言中,文件的打开使用函数__________。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论