《C语言文件练习题含答案》由会员分享,可在线阅读,更多相关《C语言文件练习题含答案(5页珍藏版)》请在金锄头文库上搜索。
1、邵东职业中专2007年高三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的
2、文本文件进行读、写操作,下面符合此要求的函数调用是( ) 。 A) fopen(A:userabc.txt,r) B) fopen(A:userabc.txt,r+)C) fopen(A:userabc.txt,rb) C) fopen(A:userabc.txt,w)2、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为( )。A) 0 B) 1 C) 1 D) 一个非0值3、 当已经存在一个file1.txt文件,执行函数fopen(“file1.txt”,”r+”)的功能是( )。)打开file1.txt文件,清除原有的内容;)打开file1.txt文件,
3、只能写入新的内容;)打开file1.txt文件,只能读取原有内容;)打开file1.txt文件,可以读取和写入新的内容;4、 fread(buf , 64,2,fp)的功能是:( ))从fp所指向的文件中,读出整数64,并存放在buf中;)从fp所指向的文件中,读出整数64和2,并存放在buf中;)从fp所指向的文件中,读出64个字节的字符,读两次,并存放在buf地址中;)从fp所指向的文件中,读出64个字节的字符,并存放在buf中;5、 以下程序的功能是( ) 。main() FILE * fp; char str=”Beijing 2008”; fp = fopen(“file2”,”w”
4、); fputs(str,fp); fclose(fp);)在屏幕上显示“Beiing 2008”;)把”Beijing 2008”存入file2文件中;)在打印机上打印出“Beiing 2008”;)以上都不对;6、 以下程序是建立一个名为myfile的文件,并把从键盘输入字符存入该文件,当键盘上输入结束时关闭该文件。选择正确内容填空。main() FILE *fp; char c ; char name10; fp=fopen(“myfile”,_”wb”_); do c=getchar(); fputc(c , fp); while(c!=EOF); fclose(fp); (1) A)
5、 fgets B)fopen C ) fclose D) fgetc (2) A) “r” B) “r+” C ) “w” D) “w+”三、设计题1、 编写一个程序,以只读方式打开一个文本文件 filea.txt ,如果打开,将文件地址放在fp文件指针中,打不开,显示“Cannt open filea.txt file n. ”,然后退出。void main() FILE *fp; if(fp=fopen(filea.txt,r)=0); printf()综合训练一、 填空题1、以下程序段打开文件后,先利用 fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指
6、针的具体位置,从而确定文件长度,请填空。 FILE *myf; ling f1;myf= _ (“test.t”,“rb”); fseek(myf,0,SEEK_END); f1=ftel(myf);fclose(myf);printf(“%dn”,f1);2、下面程序把从终端读入的10个整数以二进制方式写到一个名为bi.dat的新文件中,请填空. #include FILE *fp; main() int i,j; if(fp=fopen(_”bi.dat”_, wb)=NULL) exit(0); for(i=0; i10; i+) scanf(%d,&j); fwrite(&j,size
7、of(int),1,_fp_ ); fclose(fp);3、以下程序用来统计文件中字符个数。请填空。 #include stdio.h main() FILE *fp; long num=0L; if(fp=fopen(fname.dat,r)=NULL) pirntf(Open errorn); exit(0); while( _!feof(fp)_ ) fgetc(fp); num+; printf(num=%1dn,num-1); fclose(fp); 4、以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文件文件中形成文本文件,并将字符的个数写到文件尾部,
8、请填空。 #include main( ) FILE *fp; char ch,fname32; int count=0; printf(Input the filename :); scanf(%s,fname); if(fp=fopen( _fname_ ,w+)=NULL) printf(Cant open file:%s n,fname); exit(0); printf(Enter data:n); while(ch=getchar()!=#) fputc(ch,fp); count+; fprintf(_ ,n%dn, count); fclose(fp); 5、以下程序的功能是:
9、从键盘上输入一个字符串, 把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。请填空。 #include main() FILE *fp; char str100; int i=0; if(fp=fopen(text.txt,_)=NULL) printf(cant open this file.n);exit(0); printf(input astring:n); gest(str); while (stri) if(stri=a&stri=z) stri=_ _; fputc(stri,fp); i+; fclose(fp); fp=fo
10、pen(test.txt,_); fgets(str,100,fp); printf(%sn,str); fclose(fp); 6、 下面程序由键盘输入字符,存放到文件中,用!结束输入,请在_上填空。#include main() FILE *fp; char ch ; char fname10; printf(“Input name of filen”); gets(fname); if (fp=fopen( fname, “w”)=NULL) printf (“cannot open filen”); exit(0) ; printf(“Enter data:n”); while(_!=
11、!) /提示:从键盘输入一个字符,如不是! fputc(_) ; /将从键盘输入的字符存入打开的文件中 fclose(fp);7、下面程序用变量count 统计文件中字符的个数。请在_中填写正确内容。#include main() FILE *fp;long count =0;if (fp=fopen(“letter.txt”,_)=NULL) printf (“cannot open filen”); exit(0) ; while( ! feof (fp) /! feof (fp)- 未到文件尾,为真 /feof()函数判断文件指针是否到文件尾,到文件尾,函数返回非0值,若未到文件尾,函数返回值0 _; /提示:从文件读入一个字符 _;