C语言文件练习题含答案
第十二章 文件
基础训练 一、填空题 1、 文件是指___________________________________________________________。
2、 根据数据的组织形式,C中将文件分为______ASCII码文件________和___二进制文件___________两种类型。
3、 现要求以读写方式,打开一个文本文件 stu1 ,写出语句: __FILE *fp fp=fopen(“stu.txt”,”r+”);_______________。 __________________________________。
4、 现要求将上题中打开的文件关闭掉,写出语句:___fclose(fp);__________________。
5、 若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则打开文件方式字符串应该是___fopen(“a.txt”,”wb+”);__________。
二、选择题
1、若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是( ) 。
A) fopen("A:\user\abc.txt","r") B) fopen("A:\\user\\abc.txt","r+") C) fopen("A:\user\abc.txt","rb") C) fopen("A:\\user\\abc.txt","w") 2、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为( )。
A) 0 B) 1 C) -1 D) 一个非0值
3、 当已经存在一个file1.txt文件,执行函数fopen(“file1.txt”,”r+”)的功能是( )。
A)打开file1.txt文件,清除原有的内容; B)打开file1.txt文件,只能写入新的内容; C)打开file1.txt文件,只能读取原有内容;
D)打开file1.txt文件,可以读取和写入新的内容;
4、 fread(buf , 64,2,fp)的功能是:( )
A)从fp所指向的文件中,读出整数64,并存放在buf中; B)从fp所指向的文件中,读出整数64和2,并存放在buf中;
C)从fp所指向的文件中,读出64个字节的字符,读两次,并存放在buf地址中;
D)从fp所指向的文件中,读出64个字节的字符,并存放在buf中;
5、 以下程序的功能是( ) 。 main() {
FILE * fp;
char str[]=”Beijing 2008”; fp = fopen(“file2”,”w”); fputs(str,fp); fclose(fp); }
A)在屏幕上显示“Beiing 2008”;
B)把”Beijing 2008”存入file2文件中; C)在打印机上打印出“Beiing 2008”; D)以上都不对;
6、 以下程序是建立一个名为myfile的文件,并把从键盘输入字符存入该文件,当键盘上输入结束时关闭该文件。选择正确内容填空。 main()
{ FILE *fp; char c ;
char name[10];
fp=fopen(“myfile”,_”wb”_______); do
{ c=getchar(); fputc(c , fp);
} while(c!=EOF); fclose(fp); } (1) A) fgets B)fopen C ) fclose D) fgetc (2) A) “r” B) “r+” C ) “w” D) “w+”
三、设计题
1、 编写一个程序,以只读方式打开一个文本文件 filea.txt ,如果打开,将文件地址放在fp文件指针中,打不开,显示“Cann’t open filea.txt file \n. ”,