- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <stdio.h> int main() { FILE *fp; int k, n, a[6]={1,2,3,4,5,6}; fp = fopen("d2.dat", "w"); fprintf(fp, "%d%d%d\n", a[0], a[1], a[2]); fprintf(fp, "%d%d%d\n", a[3], a[4], a[5]); fclose(fp); fp = fopen("d2.dat", "r"); fscanf(fp, "%d%d", &k, &n); printf("%d %d\n", k, n); fclose(fp); } A) 1 2 B) 1 4 C) 123 4 D) 123 456 )
16. 以下程序用来统计文件中字符的个数(函数 feof 用 以检查文件是否结束,结束时返回非零 ) #include <stdio.h> int main() { FILE *fp; long num=0; fp=fopen("fname.dat", "r"); while( ______ ){ fgetc(fp); num++;} printf("num=%d\n", num); fclose( fp ); } 下面选项中,填入横线处不能得到正确结果的是( A) feof(fp)==NULL C) feof(fp) B) !feof(fp) D) feof(fp)==0 ) )
21. 以下程序的运行结果是( #include <stdio.h> int main() { FILE *fp; int i, a[6]={1,2,3,4,5,6},k; fp = fopen("data.dat", "w+"); fprintf(fp, "%d\n", a[0]); for (i=1; i<6; i++) { fseek(fp, 0L, 0); fscanf(fp, "%d", &k); fseek(fp, 0L, 0);
D) 123
A) gets函数用于从终端读入字符串 B) getchar函数用于从磁盘文件读入字符 C) fputs函数用于把字符串输出到文件 D) fwrite函数用于以二进制形式输出数据到文件
7. 下列关于C语言文件的叙述中正确的是(
A) 文件由一系列数据依次排列组成,只能构成二进制文件 B) 文件由结构序列组成,可以构成二进制文件或文本文件 C) 文件由数据序列组成,可以构成二进制文件或文本文件 D) 文件由字符序列组成,其类型只能是文本文件 -1-
(Work hard and make progress every day!) 18. 下面关于"EOF"的叙述,正确的是( A) EOF的值等于0 B) EOF是在库函数文件中定义的符号常量 C) 文本文件和二进制文件都可以用EOF作为文件结束标志 D) 对于文本文件,fgetc函数读入最后一个字符时,返回 值是EOF 19. 若 f p 定义为指向某文件的指针,且没有读到该文件 的末尾,则C语言函数 feof(fp) 的函数返回值是( A) EOF B) 非0 C) -1 ) D) 0 ) )
fp 为文件指针,执行语句fp=fopen("file","w");后, ) B) 写操作结束后可以从头开始读 D) 可以随意读和写
以下针对文件file操作叙述的选项中正确的是( A) 只能写不能读 C) 可以在原有内容后追加写
10. 设 fp 为指向某二进制文件的指针,且已读到此文件 末尾,则函数 feof(fp) 的返回值为( A) 0 B) '\0' C) 非0值 ) D) NULL
A) 当对文件的读(写)操作完成之后,必须将它关闭,否则
6. 以下程序运行后的输出结果是(
#include <stdio.h> int main( ) { FILE *fp; int a[10]={1, 2, 3}, i, n; fp = fopen("d1.txt", "w"); for(i=0;i<3;i++) fprintf(fp,"%d", a[i]); fprintf(fp, "\n"); fclose(fp); fp =fopen("d1.txt", "r"); fscanf(fp,"%d", &n);fclose(fp); printf("%d\n", n); } A) 321 B) 12300 C) 1 4. 以下叙述中错误的是( )
© Prof.Guo
Байду номын сангаас十章
文件 ) 15. 以下程序把从终端输入的字符存放到 f 文件中, 用 # 作为结束输入的标志, 则横线处应填入的选项是( #include <stdio.h> int main() { FILE *fp; char ch; fp=fopen( "fname", "w" ); while( ( ch=getchar()) !='#' ) fputc( ___ _ ); fclose(fp); } A) ch, "fname" D) 因类型不一致而出错 ) B) fp, ch C) ch D) ch, fp )
第十章
文件 5. 以下程序执行后 abc.dat 文件的内容是( #include <stdio.h> int main() { FILE *pf; char *s1="China", *s2="Beijing"; pf=fopen("abc.dat","wb+"); fwrite(s2,7,1,pf); rewind(pf); fclose(pf); } A) China C) ChinaBeijing B) Chinang D) BeijingChina ) /*文件位置指针回到文件开头*/ fwrite(s1,5,1,pf); ) )
C) 文件指针的值是文件在计算机磁盘中的路径信息 D) 调用fscanf函数可以向文本文件中写入任意字符
© Prof.Guo
第十章
文件 fp=fopen("d1.dat","w"); fprintf(fp,"%d\n", i); fprintf(fp,"%d\n", j); fclose(fp); fp=fopen("d1.dat","r"); printf("%d %d\n",k,n); D) 11 } A) 20 30 B) 20 50 C) 30 50 ) D) 30 20 fscanf(fp,"%d%d",&k,&n); fclose(fp); else
11. 有以下程序 #include <stdio.h> int main() { FILE *f; f=fopen("filea.txt","w"); fprintf(f,"abc"); fclose(f); } 若文本文件 filea.txt 中原有内容为: hello, 则运行以上程 序后,文件 filea.txt 中的内容为( A) abclo B) abc C) helloabc ) D) abchello
17. 关于 "文件指针" 概念的叙述正确的是( A) 文件指针是程序中用FILE定义的指针变量
14. 以下选项中叙述正确的是( A) 文件指针是指针类型的变量 B) 文件指针可同时指向不同文件
B) 文件指针就是文件位置指针,表示当前读写数据的位 置 C) 文件指针指向文件在计算机中的存储位置 D) 把文件指针传给fscanf函数,就可以向文本文件中写入 任意的字符 -2-
(Work hard and make progress every day!) exit(0);} printf("成功打开文件!"); 若指定文件 test.txt 不存在,且无其他异常,则以下叙述 错误的是( ) A) 输出"不能打开文件!" B) 输出"成功打开文件!" C) 系统将按指定文件名新建文件 D) 系统将为写操作建立文本文件 30. 有以下程序段 FILE *fp; if( (fp=fopen("test.txt","w")) == NULL) { printf("不能打开文件!"); exit(0);} else printf("成功打开文件!"); 若文件 test.txt 已存在,则以下叙述正确的是( B) 程序运行时,会因文件存在而出错 C) 对文件test.txt进行写操作后,可以随机进行读取 D) 对文件test.txt写入的内容总是被添加到文件尾部
20. 以下程序运行后输出结果是(
13. 以下程序的输出结果是(
#include <stdio.h> int main() { FILE *fp; int i, a[6]={1,2,3,4,5,6},k; fp = fopen("data.dat", "w+"); for (i=0; i<6; i++) { fseek(fp, 0L, 0); fprintf(fp, "%d\n", a[i]); rewind(fp); fscanf(fp, "%d", &k); fclose(fp); printf("%d\n", k); } A) 123456 B) 1 C) 6 ) D) 21