




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言测试题:文件 一、选择题:(1) 以下叙述中错误的是CA) C 语言中对二进制文件的访问速度比 文本文件快B) C 语言中,随机文件以二进制代码形 式存储数据C)语句 FILE fp; 定义了一个名为 fp 的文件指针D)C 语言中的文本文件以 ASCII 码形式 存储数据(2) 有以下程序#include main() FILE *fp; int i, k, n; fp=fopen(data.dat, w+); for(i=1; i6; i+) fprintf(fp,%d ,i);if(i%3=0) fprintf(fp,n);rewind(fp);fscanf(fp, %d%d, &
2、k, &n); printf(%d %dn, k, n);fclose(fp);程序运行后的输出结果是 DA) 0 0B) 123 45C) 1 4D) 1 2(3) 以下与函数 fseek(fp,0L,SEEK_SET)有 相同作用的是 DA) feof(fp)B) ftell(fp)C) fgetc(fp)D) rewind(fp)(4)有以下程序#include stdio.hvoid WriteStr(char *fn,char *str)FILE *fp;fp=fopen(fn,W);fputs(str,fp);fclose(fp);main()WriteStr(t1.dat,sta
3、rt);WriteStr(t1.dat,end);程序运行后 ,文件 t1.dat 中的内容 是 BA) startB) endC) startendD) endrt(5) 有如下程序#include main()FILE *fp1; fp1=fopen(f1.txt,w); fprintf(fp1,abc); fclose(fp1);若文本文件 f1.txt 中原有内容为: good,则 运行以上程序后文件 f1.txt 中的内容为 CA) goodabcB) abcdC) abcD) abcgood(6) 有以下程序#include main( ) FILE *fp; int i,k=0,
4、n=0; fp=fopen( “ d1.dat ”, ”w”); for(i=1;i4;i+) fprintf(fp, ” %d”,i); fclose(fp);fp=fopen( “d1.dat ”, ”r ”);fscanf(fp, ” %d%”d ,&k,&n); printf( “% dn” ,k,n);fclose(fp);执行后输出结果是 BA) 1 2B) 123 0C) 1 23D) 0 0(7) 有以下程序(提示:程序中 fseek(fp,-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件尾向前移 2*sizeof(int)字节)#includ
5、e main( ) FILE *fp; int i,a4=1,2,3,4,b;fp=fopen(data.dat,wb);for(i=0;i4;i+) fwrite(&ai,sizeof(int),1,fp);fclose(fp);fp=fopen(data.dat,rb) ;fseek(fp,-2L*sizeof(int).SEEK_END) ;fread(&b,sizeof(int),1,fp);/* 从文件中读取 si zeof(int)字节的数据到变量 b 中 */fclose(fp);printf(%dn,B) ;执行后输出结果是 DA) 2B) 1C) 4D) 3(8) 若 fp
6、已正确定义并指向某个文件, 当未 遇到该文件结束标志时函数 feof(fp)的值为 DA) 0B) 1C) 1D) 一个非 0 值(9) 下列关于 C 语言数据文件的叙述中正确 的是 AA) 文件由 ASCII 码字符序列组成, C 语 言只能读写文本文件B) 文件由二进制数据序列组成, C 语言 只能读写二进制文件C) 文件由记录序列组成,可按数据的存 放形式分为二进制文件和文本文件D) 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(10) 以下叙述中不正确的是 DA) 语言中的文本文件以 ASC码形式 存储数据B) 语言中对二进制文件的访问速度比 文本文件快C) 语言中
7、,随机读写方式不适用于文 本文件D) 语言中,顺序读写方式不适用于二 进制文件11) 以下程序企图把从终端输入的字符输出到 名为 abc.txt 的文件中,直到从终端读入字符 #号 时结束输入和输出操作,但程序有错。#include main() FILE *fout; char ch;fout=fopen(abc.txt, w); ch=fgetc(stdin);while(ch!= #) fputc(ch,fout);ch=fgetc(stdin);fclose(fout);出错的原因是 AA) 函数 fopen调用形式错误 B) 输入文 件没有关闭C) 函数 fgetc 调用形式错误 D
8、) 文件指 针 stdin 没有定义(12) 有以下程序#include main() FILE *fp; int i=20,j=30,k,n;fp=fopen( “d1.dat ”“);w”fprintf(fp, “ %n”d ,i);fprintf(fp,n“”%j)d;fclose(fp);fp=fopen( “d1.dat ”, “r ”);fp=fscanf(fp, “ %d%”d,&k,&n); printf( “ %d%nd” ,k,n); fclose(fp);程序运行后的输出结果是 AA) 20 30B) 20 50C) 30 50D) 30 20(13) 以下叙述中错误的是
9、 DA) 二进制文件打开后可以先读文件的末 尾,而顺序文件不可以B) 在程序结束时,应当用 fclose函数关 闭已打开的文件C) 在利用 fread 函数从二进制文件中读 数据时,可以用数组名给数组中所有元素读入数 据D) 不可以用 FILE 定义指向二进制文件 的文件指针(14) 若要打开 A 盘上 user 子目录下名为 abc.txt 的文本文件进行读、 写操作,下面符合此 要求的函数调用是 BA) fopen(A:userabc.txt,r)B) fopen(A:userabc.txt,r+)C) fopen(A:userabc.txt,rb)C) fopen(A:userabc.t
10、xt,w)(15) 下面的程序执行后, 文件 testt.t 中的内 容是 A#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 ” , “ neww orldfun( “ test ” ,“ h)e llo, ” 0;A)hello,B) new worldhello,C) new worldD) hello, rld(16) 若 fp 是指
11、向某文件的指针,且已读到 文件末尾,则库函数 feof(fp)的返回值是 CA) EOFB) 1C) 非零值D) NULL(17) 在 C 程序中 ,可把整型数以二进制形式 存放到文件中的函数是 AA) fprintf 函数B) fread 函数C) fwrite 函数D) fputc 函数(18) 标准函数 fgets(s, n, f) 的功能是 BA) 从文件 f 中读取长度为 n 的字符串存 入指针 s 所指的内存B) 从文件 f 中读取长度不超过 n-1 的字 符串存入指针 s 所指的内存C) 从文件 f 中读取 n 个字符串存入指针 s所指的内存D) 从文件 f 中读取长度为 n-1
12、 的字符串 存入指针 s 所指的内存二、填空题:(1) 已有文本文件 test.txt,其中的内容为:Hello,everyone!。以下程序中, 文件 test.txt 已正 确为 “读”而打开,由文件指针 fr 指向该文件, 则程序的输出结果是 【1】 。#include main() FILE *fr; char str40;fgets(str,5,fr);printf(%sn,str); fclose(fr);(2) 若 fp 已正确定义为一个文件指针, d1. dat 为二进制文件,请填空,以便为 “读”而打开 此文件: fp=fopen( 2 );。(3) 以下程序用来统计文件中字
13、符个数。请 填空。#include stdio.hmain() FILE *fp; long num=0L; if(fp=fopen(fname.dat,r)=NULL) pirntf(Open errorn); exit(0); while( 【3】 ) fgetc(fp); num+; printf(num=%1dn,num-1); fclose(fp);(4) 以下程序段打开文件后,先利用 fseek 函数将文件位置指针定位在文件末尾, 然后调用 ftell 函数返回当前文件位置指针的具体位置, 从 而确定文件长度,请填空。FILE *myf; ling f1;myf= 【4】 ( “
14、test.t ”, “rb” ); fseek(myf,0,SEEK_END); f1=ftel(myf); fclose(myf);printf( “ %dn” ,f1);(5) 下面程序把从终端读入的文本(用 作 为文本结束标志) 输出到一个名为 bi.dat 的新文 件中。请填空。#include “ stdio.h ”FILE *fp; char ch;if( (fp=fopen ( 【 5】 ) )= = NULL)ex it(0);while( (ch=getchar( ) != f)p utc (ch, fp);fclose(fp);(6) 以下程序中用户由键盘输入一个文件 名,
15、然后输入一串字符(用 #结束输入)存放到 此文件文件中形成文本文件, 并将字符的个数写 到文件尾部,请填空。#include main( ) FILE *fp ;char ch, fname32; int count =0;printf(Input the filename :) ; scanf(%s , fname);if(fp=fopen( 【6】 ,w+)=NULL) printf(Cant open file:%s n , fname); exit(0); printf(Enter data: n) ; while(ch=getchar()!=#) fputc(c h, fp); co
16、unt+; fprintf( 【7】 ,n%dn , count); fclose(fp);(7) 下面程序把从终端读入的 10 个整数以 二进制方式写到一个名为 bi.dat 的新文件中 ,请 填空.#includeFILE *fp; main() int i,j;if(fp=fopen( 【8】 , wb)=NULL) exit(0);for(i=0; i=a&stri=z) stri=【11】; fputc(stri,fp); i+;fclose(fp);fp=fopen(test.txt,【12】);fgets(str,100,fp);printf(%sn,str);fclose(fp
17、);(9) 下面程序把从终端读入的文本用 作为 文本结束标志) 复制到一个名为 bi.dat 的新文件 中,请填空。#include FILE *fp;main() char ch;if(fp=fopen( 【 13】 )=NULL)exit(0); while (ch=getchar()!= )fputc(ch,fp); 【14】(10) 以下程序由终端输入一个文件名 ,然后 把从终端键盘输入的字符依次存放到该文件中 , 用#作为结束输入的标志 .请填空 .#include main() FILE * fp;char ch,fname10;printf(lnput the name of f
18、ilen); gets(fname);if(fp= 【15】 )=NULL) printf(Cannot openn); exit(0); printf(Enter datan);while(ch=getchar()!=#) fputc(【16】 ,f p);fclose(fp); 11) 下面的程序用来统计文件中字符的个数, 请 填空。#include main() FILE *fp;long num=0;if( fp=fopen(fname.dat,r)=NULL) printf( Cant open file! n); exit(0); while 【 17】 fgetc(fp); num+; printf(num=%dn, num); fclose(fp);(12)以下 C 语言程序将磁盘中的一个文件复 制到另一个文件中,两个文件名在命令行中给 出。#include main(int argc, char *argv) FILE *f1,*f2; char ch;if(argc 【18】 ) pri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训机构安全教育课
- 2025综合文化活动中心租赁合同
- 2025订购茶叶合同模板
- 2025版合同:国内许可合同的格式
- 2025年房屋买卖合同
- 2025建筑工程补充合同
- 2024-2025教科版科学一年级下册第二单元测试卷及答案
- 2025年供气合同常用范本
- 小数的读法和写法教学设计
- 2025标准技术咨询合同范本
- GB/T 4909.2-2009裸电线试验方法第2部分:尺寸测量
- DB11-T 065-2022电气防火检测技术规范
- 09S304 卫生设备安装图集
- 肌肉注射操作评分标准
- 配电箱验收记录表
- DB11-T1788-2020技术转移服务人员能力规范
- 建设项目用地预审与选址意见课件讲解
- GB∕T 23524-2019 石油化工废铂催化剂化学分析方法 铂含量的测定 电感耦合等离子体原子发射光谱法
- 宝宝生日祝福可爱卡通电子相册PPT模板
- 盗窃案件现场勘查应注意的问题
- 用人单位职业健康监护档案(一人一档)
评论
0/150
提交评论