第10章 对文件的输入输出
(2012年9月真题)(40)有以下程序
#include
main()
{?FILE *fp;int i,a[6]={1,2,3,4,5,6};
???fp=fopen("d2.dat","w+");
???for(i=0;i<6;i++)???fprintf(fp,"%d\n",a[i]);
???rewind(fp);
???for(i=0;i<6;i++)???fscanf(fp,"%d",&a[5-i]);
???fclose(fp);
???for(i=0;i<6;i++)???printf("%d,",a[i]);}
程序运行后的输出结果是
A)4,5,6,1,2,3,??????????B)1,2,3,3,2,1,
C)1,2,3,4,5,6,?????????D)6,5,4,3,2,1,
答案:D
(2012年3月真题)40、以下函数不能用于向文件写入数据的是
A ftell B fwrite C fputc D fprintf
答案:A
(2011年9月真题)40.有以下程序
#include
main()
{FILE *fp; int k,n,i,a[6]={1,2,3,4,5,6};
fp=fopen("d2.dat","w");
for(i=0;i<6;i++)
fprintf(fp,"%d\n",a[i]);
fclose(fp); fp=fopen("d2.dat","r");
for(i=0;i<3;i++)
fscanf(fp,"%d%d",&k,&n);
fclose(fp); printf("%d,%d\n",k,n); }
程序运行后的输出结果是
A.1,2B.3,4 C.5,6D.123,456
答案:C
(2011年3月真题)(40)设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是
A)写操作结束后可以从头开始读 B)只能写不能读
C)可以在原有内容后追加写 D)可以随意读和写
(2010年3月真题)(40)有以下程序
#include
#include
main()
{ FILE *fp;char str[10];
fp=fopen("myfile.dat","w");
fputs("abc",fp);fclose(fp);
fopen("myfile.data","a+");
fprintf(fp,"%d",28);
rewind(fp);
fscanf(fp,"%s",str); puts(str);
fclose(fp); }
程序运行后的输出结果是
abc B) 28c C) abc28 D)因类型不一致而出错
答案:B
(2009年9月真题)(40)下列关于C语言文件的叙述中正确的是
A)文件由一系列数据依次排列组成,只能构成二进制文件
B)文件由结构序列组成,可以构成二进制文件或文本文件
C)文件由数据序列组成,可以构成二进制文件或文本文件
D)文件由字符序列组成,其类型只能是文本文件
答案:C
(2009年3月真题)40.有以下程序
#include
main()
{ FILE *f;
f=fopen("filea.txt","w"); fprintf(f,"abc"); fclose(f); }
若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt的内容为
A)helloabc B)abclo C)abc D)abchello
答案:C
(2008年9月真题)(40)?有以下程序#include??main(){?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文件的内容是A)?China??????B)?Chinang??????C)?ChinaBeijing??????D)?BeijingChina
答案:B
(2008年4月真题)30、下列叙述中错误的是( )。
A)gets函数用于从终端读入字符串
B)getchar函数用于从磁盘文件读入字符
C)fputs函数用于把字符串输出到文件
D)fwrite函数用