第九单元 文 件
选择题
若fp是指某文件的指针,且已读到文件的末尾,则表达式feof(fp)的返回值是 。
A. EOF B. –1 C. 非零值 D. NULL
C语言可以处理的文件类型是 。
A. 文本文件和数据文件 B. 文本文件和二进制文件
C. 数据文件和二进制文件 D. 数据代码文件
C语言库函数fgets(str,n,fp)的功能是 。
A. 从文件fp中读取长度n的字符串存入str指向的内存
B. 从文件fp中读取长度不超过n-1的字符串存入str指向的内存
C. 从文件fp中读取n个字符串存入str指向的内存
D. 从str读取至多n个字符到文件fp中
函数rewind的作用是 。
A. 使位置指针重新返回到文件的开头
B. 将位置指针指向文件中所要求的特定位置
C. 使位置指针指向文件的末尾
D. 使位置指针自动移至下一个字符位置
在执行fopen函数时,若执行不成功,则函数的返回值是 。
A. TRUE B. –1 C. 1 D. NULL
在C程序中,可把整型数以二进制形式存放到文件中的函数是 。
A. fprintf函数 B. fread函数 C. fwrite函数 D. fputc函数
填空题
从键盘输入一个字符串,把它输出到磁盘文件f1.dat中(用字符‘#’作为结束输入的标志)。
# include
main()
{ FILE *fp ;
char ch,fname[10];
printf("文件名:");
gets(fname);
if ((fp= (1) )==NULL)
{ printf("connot open\n");
exit(0);
}
while ((ch=getchar())!='#')
fputc( (2) );
(3) ;
}
将上题名为f1.dat的文件拷贝到一个名为f2.dat的文件中。
# include
main()
{ FILE *fp1,*fp2 ;
char c;
if ((fp1=fopen("f1.dat", (1) )==NULL)
{ printf("connot open\n");
exit(0);
}
if ((fp2=fopen("f2.dat", (2) )==NULL)
{ printf("connot open\n");
exit(0);
}
c=fgetc(fp1);
while ( (3) )
{ fputc(c,fp2);
c=fgetc(fp1);
}
(4)
}
打印出worker2.rec中顺序号为奇数的职工记录。(即第 1,3,5,...号职工的数据)
#include
struct worker_type
{ int num;
char name[10];
char sex;
int age;
int pay;
} worker[10];
main()
{ int i;
FILE *fp;
if ((fp=fopen( (1) )==NULL)
{ printf("connot open\n");
exit(0);
}
for (i=0;i<10; (2) )
{ fseek(fp, (3) ,0);
fread( (4) , (5) ,1,fp);
printf(