练习与思考9
1.1 填空题
假设在程序中有这样一些语句:
#include
FILE *fp1, *fp2;
char ch, str[100];
int nNumRead=-1;
fp1 = fopen("test1.txt", "r");
fp2 = fopen("test2.txt", "w");
并且,假设两个文件都被成功打开,请完成下面代码的空格部分:
a) ch = fgetc(__fp1__); /* 读取文件test1.txt中字符*/
b) fprintf(__fp2__, "%c\n", __ch__); /* 把ch写入文件test2.txt中*/
c) fclose(__fp2__); /* 关闭文件test2.txt */
d) while(!__feof(fp1)__)fscanf(fp1, __”%c”__, __&ch__); /* 依次读入文件test1.txt中所有字符*/
e) nNumRead = fread(__str__,__sizeof(char)__, 1, fp1);
f) fseek(fp1, __0L__, __SEEK_END/2__); /* 将文件内部读写位置指针定位到文件尾*/
1.2 选择题
(1) 在C语言中对文件操作的一般步骤是( A )。
(A) 打开文件—操作文件—关闭文件
(B) 操作文件—修改文件—关闭文件
(C) 读写文件—打开文件—关闭文件
(D) 读文件—写文件—关闭文件
(2) fscanf()函数的正确调用形式为( B )。
(A) fscanf(fp, 格式字符串, 读入变量列表);
(B) fscanf(文件指针, 格式字符串, 读入变量列表);
(C) fscanf(格式字符串, 文件指针, 读入变量列表);
(D) fscanf(格式字符串, 读入变量列表, fp);
(3) 已知函数的调用形式:fread(buffer, size, count, fp); 其中buffer代表的是( C )。
(A) 一个整型变量,代表要读入的数据项总数
(B) 一个文件指针,指向要读入的文件
(C) 一个指针,指向要存放读入数据的地址
(D) 一个存储区,存放要读入的数据项
(4) 以下可作为函数fopen中的第一参数的是( D )。
(A) c:user\text.txt (B) c:\user\text.txt
(C) "c:\user\text.txt" (D) "c:\\user\\text.txt"
(5) 若执行fopen函数发生错误,则函数的返回值是( B )。
(A) 地址值(B) NULL (C) 1 (D) EOF