填空题
1. 下列给定程序中,函数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++)
/*********found*********/
fprintf (______,"%d %f\n",i,sqrt((double)i));
printf("\nSucceed!! \n");
/*********found*********/
______;
printf("\nThe data in file:\n");
/*********found*********/
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",&an,&x);}
fclose(fp);
return 1;
}
main()
{ char fname[]="myfile3.txt";
fun(fname);
}
【正确答案】
1、(1)fp (2)felose(fp) (3)fname
【答案解析】
填空1:fprintf函数的形式是:fprintf(文件指针,格式字符串,输出表列);,所以填入文件指针fp。
填空2:文件一旦使用完毕,应使用关闭函数fclose将文件关闭,以避免发生文件数据丢失等错误。
填空3:fopen函数用来打开一个文件,其一般形式为:文件指针名=fopen(文件名,使用文件方式);因此应填入文件名fname。