C语言习题(详细解答)

}

【解析】在这里需要定义文件指针,定义文件指针的格式为: FILE * 变量名。 2.以下程序的功能是从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。请填空。

#include main()

{ FILE *fp; char ch;

fp=fopen(___\_____); ch=fgetc(fp);

while(!feof(fp)) { putchar(ch); ch=fgetc(fp); } putchar(′\\n′); fclose(fp); }

【解析】fopen函数的调用方式通常为 fopen(文件名,使用文件方式)。本题中要求程序可以打开filea.dat文件,并且读取文件中的内容。所以空白处应当填入 \,\。 3.以下程序用来判断指定文件是否能正常打开,请填空。

#include main() { FILE *fp;

if(((fp=fopen(\,\==__NULL______)) printf(\未能打开文件!\\n\; else

printf(\文件打开成功!\\n\; }

【解析】本题考查fopen函数的用法。若fopen不能实现打开任务时,函数会带回一个出错信息,出错原因可能是磁盘出现故障,磁盘无法建立新文件等,此时fopen函数将带回一个空指针NULL。因此通过判断返回值是否为NULL即可判断是否读取文件正确。

4.以下程序运行后的输出结果是___123456_____。

#include main()

{ FILE *fp;int x[6]={1,2,3,4,5,6},i;

fp=fopen(\,\; fwrite(x,sizeof(int),3,fp); rewind(fp);

fread(x,sizeof(int),3,fp);

for(i=0;i<6;i++)printf(\,x[i]); printf(\; fclose(fp); }

【解析】本题中fwrite函数向目标文件指针fp指向的文件test.dat中写入3个int数据,即123。rewind函数将文件内部的位置指针重新指向文件的开头。fread函数将从fp所指文件中读取3个int数据到x指向的地址,因此数组x的元素没有变化。

31

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