填空题
下列给定程序中,函数fun()的功能是:将自然数1~10及其平方根写到名为myfile3.txt的文本文件中,然后再按顺序读出显示在屏幕上。
请在程序标号处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构。
试题程序
#include
<math.h>
#include <stdio.h>
int fun(char
*fname)
{ FILE *fp; int i, n; float x;
if((fp=fopen(fname, "w"))==NULL)
return 0;
for(i=1; i<=10; i++)
fprintf(______, "% d % f/n", i,
sqrt((double)i));
printf("/nSucceed! ! /n");
______;
printf("/nThe data in file:/n");
if((fp=fopen (______, "r"))==NULL)
return 0;
fscanf(fp, "% d% f", &n, &x);
while(!feof(fp))
{ printf("% d % f/n", n, x);
fscanf(fp, "% d% f", &n, &x);
}
fclose(fp);
return 1;
}
main()
{ char fname[]="myfile3.txt";
fun(fname);
}
【正确答案】
1、fp
fclose(fp)
fname
【答案解析】[解析] 本题考查:文件的相关操作,fprintf函数与printf函数功能相似,区别在于fprintf函数的对象不是键盘和显示器,而是磁盘文件;文件打开和关闭函数fopen和fclose的使用。
空(1):fprintf函数的形式是:fprintf(文件指针,格式字符串,输出表列);,所以填入文件指针fp。
空(2):文件一旦使用完毕,应使用关闭函数fclose将文件关闭,以避免发生文件数据丢失等错误。
空(3):fopen函数用来打开一个文件,其一般形式为:文件指针名=fopen(文件名,使用文件方式);,因此应填入文件名fname。