第十三章测试1.
以下关于fclose(fp)函数的叙述正确的是( )。
A:只有对文件进行输出操作之后,才能调用fclose(fp)函数关闭文件
答案:D
2.
以下叙述正确的是( )。
A:fopen函数的返回值必须赋给一个任意类型的指针变量
若有以下程序
#include <stdio.h>
int main()
{ FILE *fp;
int i, a[6]={1,2,3,4,5,6},k;
fp = fopen("data.dat", "w+");
for (i=0; i<6; i++)
{ fseek(fp, 0L, 0);
fprintf(fp, "%d", a[i]);
}
rewind(fp);
fscanf(fp, "%d", &k);
fclose(fp);
printf("%d", k);
return 0;
}
则程序的输出结果是( )。
A:1
B:123456
C:21
D:6
4.
下面选项中关于"文件指针"概念的叙述正确的是( )。
A:文件指针是程序中用FILE定义的指针变量
下面关于"EOF"的叙述,正确的是( )。
A:EOF是在库函数文件中定义的符号常量
标准库函数fgets( s,n,f )的功能是( )。
A:从文件f中读取n个字符串存入指针s所指的内存
有如下程序
#include <stdio.h>
int main()
{
int i;
FILE* fp;
for (i=0; i<5; i++)
{
fp = fopen("output.txt", "w");
fputc('A' + i, fp);
fclose(fp);
}
return 0;
}
程序运行后,在当前目录下会生成一个output.txt文件,其内容是( )。
A:E
l 有下列程序
#include <stdio.h >
int main( )
{ FILE *fp;
int i, a[6]={ 1,2,3,4,5,6};
fp = fopen("d.dat", "w+b");
for(i=0;i<6;i++)
fwrite(&a[i], sizeof(int), 1, fp);
rewind(fp);
fread(&a[3], sizeof(int), 3, fp);
fclose(fp);
for (i=0;i<6; i++)
printf("%d,", a[i]);
return 0;
}
程序执行后的输出结果是( )。
A:4,5,6,1,2,3, B: 1,2,3,4,5,6,
C: 4,5,6,4,5,6,
D:1,2,3,1,2,3, 9.
以下程序依次把从终端输入的字符存放到f文件中,用#作为结束输入的标志, 则在横线处应填入的选项是 ( )。
#include <stdio.h>
int main()
{ FILE *fp; char ch;
fp=fopen( "fname", "w" );
while(( ch=getchar()) !='#') fputc( __________ );
fclose(fp);
return 0;}
A:ch
以下不能对文件进行输出的库函数是( )。
A:fputc