昆明理工大学C语言程序设计课后习题答案

18.如果程序中有语句FILE *fp;fp=fopen(\,则程序准备做______。 A.对文件读写操作 B.对文件读操作 C.对文件写操作 D.对文件不操作 19.使用函数fopen()以文本方式打开或建立可读可写文件,要求:若指定的文件不存在,则新建一个,并使文件指针指向其开头;若指定的文件存在,打开它,将文件指针指向其结尾。正确的“文件使用方式”是______。

A.\C.\ 20.若定义:int a[5];,fp是指向某一已经正确打开了的文件的指针,下面的函数调用形式中不正确的是________。

A.fread(a[0],sizeof(int),5,fp); B.fread(&a[0],5*sizeof(int),1,fp); C.fread(a,sizeof(int),5,fp); D.fread(a,5*sizeof(int),1,fp);

21.若要打开D盘上子目录tt下的二进制文件test.bin,在调用函数fopen时,第一个参数的正确格式是( )。

A.\C.\

22.正常执行文件关闭操作时,fclose()函数的返回值是______。

A.-1 B.TRUE C.0 D.1 23. feof()函数______。

A.可用于二进制文件也可用于文本文件 B.只用于二进制文件 C.不能用于二进制文件 D.只能用于文本文件 24.语句“fseek(fp,-100L,1);”的功能是_______。

A.将fp所指向的文件的读写指针移到距文件首100个字节处 B.将fp所指向的文件的读写指针移到距文件尾100个字节处

C.将fp所指向的文件的读写指针从当前位置向文件首方向移动100个字节 D.将fp所指向的文件的读写指针从当前位置向文件尾方向移动100个字节 25.在C程序中,可把整型数以二进制形式存放到文件中的函数是______。

A.fprintf() B.fread() C.fwrite() D.fputc() 26.下面关于C语言文件操作的结论中,______是正确的。

A.对文件操作必须先关闭文件 B.对文件操作必须先打开文件 C.对文件操作顺序无要求

D.对文件操作前必须先测试文件是否存在,然后再打开文件

27.如果需要打开一个已经存在的非空文件“f”进行修改,正确的打开语句是_____。 A.fp=fopen(\ C.fp=fopen(\D.fp=fopen(\ 28.fscanf()函数的正确调用形式是_______。

A.fscanf(文件指针,格式字符串,输出表列); B.fscanf(格式字符串,输出表列,文件指针);

C.fscanf(格式字符串,文件指针,输出表列); D.fscanf(文件指针,格式字符串,输入表列); 29.下面不是系统指定的标准设备文件有_______。

A.fopen() B.stdin() C.stdout() D.stderr! () 30.下面_______操作后,文件的读写指针不指向文件首。

A.rewind(fp) B.fseek(fp,0L,0)C.fseek(fp,0L,2) D.fopen(\31.下面程序把终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符“#”时

结束输入和输出操作程序有错,出错原因是_____。 #include \void main()

{ FILE *fout; char ch;

fout=fopen('abc.txt', 'w'); ch=fgetc(stdin);

while(ch!= '#') { fputc(ch,fout); ch=fgete(stdin);} fclose(fout); }

A.函数fopen()调用形式有误 B.输入文件没有关闭

C.函数fgetc()调用形式有误 D.文件指针stdin()没有定义 32.函数fgetc()的作用是从文件读入一个字符,该文件的打开方式必须是______。

A.读或读写 B.追加 C.只写 D.答案B和C都正确 33.利用fseek()函数可实现的操作是______。

A.文件的随机读写 B.文件的顺序读写 C.改变文件的位置指针 D.以上答案均正确 34.若执行fopen()函数时发生错误,则函数的返回值是______。

A.地址值 B.EOF C.0 D.1 35.系统的标准输入文件是指______。

A. 显示器 B.硬盘 C.键盘 D.软盘 36.以下程序的运行结果是_______。 #include \ main()

{FILE *fp; int a[10]={1,2,3,0,0},i; fp=fopen(\ fwrite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp); fclose(fp);

fp=fopen(\ fread(a,sizeof(int),10,fp); fclose(fp);

for(i=0;i<10;i++) printf(\

A.1,2,3,0,0,0,0,0,0,0, B.1,2,3,1,2,3,0,0,0,0, C.123,0,0,0,0,123,0,0,0,0,D.1,2,3,0,0,1,2,3,0,0, 37.以下程序的运行结果是_______。 #include \ main()

{ FILE *fp;

int a[10]={1,2,3},i,n; fp=fopen(\

for(i=0;i<3;i++) fprintf(fp,\ fprintf(fp,\ fclose(fp);

fp=fopen(\ fscanf(fp,\

fclose(fp);

printf(\

A.12300 B.123 C. 1 D.321

38.以下程序执行后,abc.dat 文件的内容是________。 #include \ main()

{ FILE *pf;

char *s1=\ pf=fopen(\ fwrite(s2,7,l,pf); rewind(pf);

fwrite(s1,5,1,pf); fclose(pf); }

A.China B.Chinang C.ChinaBeijing D.BeijingChina

39.若文本文件filea.txt中原有内容为:hello,则运行以下程序后,文件filea.txt中的

内容为________。 #include \ main()

{ FILE *f;

f=fopen(\ fprintf(f,\ fclose(f); }

A.helloabc B.abclo C.abc D.abchello 40.以下程序运行后的输出结果是_______。 #include \ main()

{ FILE *fp,

int k,n,j,a[6]={1,2,3,4,5,6}; fp=fopen(\

for(i=0;i<6;i++) fprintf(fp,\ fclose(fp);

fp=fopen(\

for(i=0;i<3;i++) fscanf(fp,\ fclose(fp);

printf(\

A.1,2 B.3,4 C.5,6 D.123.456

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4