资源描述:
《第十章 习题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十章习题一、选择题1.以下叙述中正确的是________。A)C语言中的文件是流式文件,因此只能顺序存取数据B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据 D)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失2.当已存在一个abc.txt文件时,执行函数fopen(“abc.txt”,“r++”)的功能是。A)打开abc.txt文件,清除原有的内容B)打开abc.txt文件,只能写入新的内容C)打开ab
2、c.txt文件,只能读取原有内容D)打开abc.txt文件,可以读取和写入新的内容3.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是。A)EOFB)0C)非零值D)NULL4.以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。#includemain(){FILE*fout;charch;fout=fopen('abc.txt','w');ch=fgetc(stdin);while(ch!='#'){fputc(c
3、h,fout);ch=fgetc(stdin);fclose(fout);}出错的原因是。A)函数fopen调用形式有误B)输入文件没有关闭C)函数fgetc调用形式有误D)文件指针stdin没有定义5.有以下程序#includemain(){FILE*pf;char*s1=〞China〞,*s2=〞Beijing〞;pf=fopen(〞abc.dat〞,〞wb+〞);fwrite(s2,7,1,pf);rewind(pf);fwrite(s1,5,1,pf);fclose(pf);}以下程序执行后abc.dat文件
4、的内容是A)ChinaB)ChinangC)ChinaBeijingD)BeijingChina6.有以下程序#include main() {FILE*fp;inti,a[6]={1,2,3,4,5,6}; fp=fopen(“d3.dat”,”w+b”); fwrite(a,sizeof(int),6,fp); fseek(fp,sizeof(int)*3,SEEK_SET); fread(a,sizeof(int),3,fp);fclose(fp); for(i
5、=0;i<6;i++)printf(“%d,”,a[i]); }程序运行后的输出结果是()A)4,5,6,4,5,6, B)1,2,3,4,5,6, C)4,5,6,1,2,3, D)6,5,4,3,2,1,7.有以下程序#includemain(){FILE*fp;inta[10]={1,2,3},i,n;fp=fopen(“dl.dat”,”w”);for(i=0;i<3;i++)fprintf(fp,”%d”,a[i]);fprintf(fp,””);fclose(fp);fp=fopen(“dl.d
6、at”,”r”);fscanf(fp,”%d”,&n);fclose(fp);printf(“%d”,n);}程序的运行结果是A)12300B)123C)1D)3218.设有以下结构体类型:structst{charname[8];intnum;floats[4];}student[20];并且结构体数组student中的元素都已经有值,若要将这些元素写到fp所指向的磁盘文件中,以下不正确的形式是( )。A)fwrite(student,sizeof(structst),20,fp);B)fwrite(student,20*
7、sizeof(structst),1,fp);C)fwrite(student,10*sizeof(structst),10,fp);D)for(i=0;i<20;i++)fwrite(student+i,sizeof(structst),1,fp);二、填空题1.C语言中根据数据的组织形式,把文件分为和两种。2.在C语言中,文件的存取是以为单位的,这种文件被称作文件。3.以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。请填空。#inclu
8、demain(){FILE*fp;charstr[100];inti=0;if((fp=fopen("text.txt",____(1)_______))==NULL){printf("can'topenthisfile