C语言文件练习题含答案.pdf
《C语言文件练习题含答案.pdf》由会员分享,可在线阅读,更多相关《C语言文件练习题含答案.pdf(5页珍藏版)》请在咨信网上搜索。
邵东职业中专 2007 年高三 C 语言习题本试卷共 5 页 第 1 页 制卷人:容利平第十二章第十二章 文件文件基础训练基础训练一、填空题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: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 文件,只能写入新的内容;)打开 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”);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)fgets B)fopen C)fclose D)fgetc(2)A)“r”B)“r+”C)“w”D)“w+”三、设计题1、编写一个程序,以只读方式打开一个文本文件 filea.txt,如果打开,将文件邵东职业中专 2007 年高三 C 语言习题本试卷共 5 页 第 2 页 制卷人:容利平地址放在fp文件指针中,打不开,显示“Cannt open filea.txt file n.”,然后退出。void main()FILE*fp;if(fp=fopen(filea.txt,r)=0);printf()综合训练综合训练一、填空题1、以下程序段打开文件后,先利用 fseek 函数将文件位置指针定位在文件末尾,然后调用 ftell 函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。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,sizeof(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、以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文件文件中形成文本文件,并将字符的个数写到文件尾部,请填空。#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、以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件 test.txt 中,然后从该文件读出字符串并显示出来。请填空。#include main()FILE *fp;char str100;int i=0;if(fp=fopen(text.txt,_)=NULL)邵东职业中专 2007 年高三 C 语言习题本试卷共 5 页 第 3 页 制卷人:容利平 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=fopen(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(_!=!)/提示:从键盘输入一个字符,如不是!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 _;/提示:从文件读入一个字符 _;printf(“count=%ldn”,count);_;二、选择题1、下面的程序执行后,文件 testt.t 中的内容是()。#include void fun(char *fname.,char *st)FILE *myf;int i;myf=fopen(fname,“w”);for(i=0;istrlen(st);i+)fputc(sti,myf);fclose(myf);main()fun(“test”,“new world”;fun(“test”,“hello,”0;)A)hello,B)new worldhello,C)new world D)hello,rld2、有以下程序#include main()FILE*fp;int i=20,j=30,k,n;fp=fopen(“d1.dat”“w”);fprintf(fp,“%dn”,i);fprintf(fp,“%dn”j);邵东职业中专 2007 年高三 C 语言习题本试卷共 5 页 第 4 页 制卷人:容利平fclose(fp);fp=fopen(“d1.dat”,“r”);fp=fscanf(fp,“%d%d”,&k,&n);printf(“%d%dn”,k,n);fclose(fp);程序运行后的输出结果是()。A)20 30 B)20 50 C)30 50 D)30 203、若有以下定义和说明:#iinclude struct std char num6;char name8;float mark4;a30;FILE *fp;设文件中以二进制形式存有许多学生的数据,且已经正确打开,文件指针定位在文件开头,若要从文件中读出 30 个学生的数据放入 a 数组中,以下正确的语句是()。)fread(a,sizeof(struct std),30,fp);)fread(&ai,sizeof(struct std),1,fp);)fread(a+i,sizeof(struct std),1,fp);)fread(a,struct std,30,fp);4、设有以下结构体类型:struct st char name8;int num;float s4;student 20;并且结构体数组 student 中的元素都已经有值,若要将这些元素写到fp 所指向的磁盘文件中,以下不正确的形式是()。)fwrite(student,sizeof(struct st),20,fp);)fwrite(student,20*sizeof(struct st),1,fp);)fwrite(student,10*sizeof(struct st),10,fp);)for(i=0;i20;i+)fwrite(student+i,sizeof(struct st),1,fp);5、以下程序是将一个名为 old.dat 的文本文件拷贝到一个名为 new.dat 的新文本文件中,请选择正确内容填空。#include main()FILE *fp1,*fp2;int c;fp1=fopen(“old.dat”,_);fp2=fopen(“new.dat”,_);c=getc(fp1);while(c!=EOF)fputc(c,fp2);c=fgetc(fp1);fclose(fp1);fclose(fp2);A)“r”B)“r+”C)“rb”D)“rb+”A)“W+“B)“wb+”C)“w”D)“wb”三、问答题1、什么叫“缓冲文件系统”?四、编程题:1、从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存,输入的字符串以!表示结束。邵东职业中专 2007 年高三 C 语言习题本试卷共 5 页 第 5 页 制卷人:容利平参考答案参考答案基础训练基础训练一、填空题1、是指存储在外部介质上数据的集合;2、ASCII 文件和二进制文件;3、FILE *fp;fp=fopen(“stu”,”r+”);4、fclose(fp);5、”wb+”二、选择题:1、B 2.、A 3、D 4、C 5、B 6、B、C三、编程题:参考答案 main()FILE *fp;If (fp=fopen(“filea.txt”,”r”)=NULL)printf(“Cannt open filea.txt file n”);exit(0);综合训练综合训练一、填空题1、fopen2、bi.datfp3、!feof(fp)4、fname fp5、w或w+或wt或w+t或wt+stri-32 或 stri-(a-A或 stri-a+A r或r+或r+t或rt+6、(ch=getchar()ch,fp7、r fgetc(fp);count+fclose(fp);二、选择题1.、A 2、A 3、A 4、C 5、A、C 三、问答题(略)四、编程题 参考答案:#include main()FILE *fp;char str80,filename10;int i=0;if(fp=fopen(“test”,”w”)=NULL)printf(“Cannot open filen”);exit(0);printf(“Input a string:n”);gets(str);while(stri!=!)if(stri=a&stri=z)stri=stri-32;fputc(stri,fp);i+;fclose(fp);fp=fopen(“test”,”r”);fgets(str,strlen(str)+1,fp);printf(“%sn”,str);fclose(fp);- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 文件 练习题 答案 编辑 修改 word
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文