判断题
1-1 c语言源程序是文本文件,目标文件和可执行文件是二进制文件。T
1-2 二进制文件名不能用.txt
作为扩展名,否则二进制文件读写函数fread和fwrite将出错。F,拓展名可以是txt
1-3 一般不能用任何一个文本编辑器打开二进制文件进行阅读。T
1-4 文件指针和位置指针都是随着文件的读写操作在不断改变。F,文件指针不变噢
1-5 随机操作只适用于文本文件。F,文本文件通常使用顺序读写
1-6 随机操作只适用于二进制文件。F,二进制文件通常使用随机操作
1-7 以“a”方式打开一个文件时,文件指针指向文件首。F,指向文件末尾
1-8 文件的读函数是从输入文件中读取信息,并存放在内存中。T
1-9 从文件的逻辑结构上看,c语言把文件看作数据流,并将数据按顺序以一维方式组织存储。T
1-10 文件指针指向文件缓冲区中文件数据的存取位置。F
单选题
2-1 如果二进制文件a.dat已经存在,现在要求写入全新数据,应以()方式打开。
A."w" B."wb" C."w+" D."wb+"
选择B
2-2 直接使文件指针重新定位到文件读写的首地址的函数是() 。
A.ftell()函数 B.fseek()函数 C.rewind()函数 D.ferror()函数
选择C
2-3 如果二进制文件a.dat已经存在,现在要求打开该文件进行读、写数据,应以()方式打开。
A."r" B."rb" C."rb+" D."rwb"
选择C
2-4 已知有定义,FILE *fp; char str[] = "Good!"; fp = fopen("filename.dat", "wb");
将数组str中存放的字符串写到名为filename.dat的二进制文件中。需要的语句是
A.fwrite(str[0], sizeof(char), 1, fp);
B.fread(str, sizeof(char), 5, fp);
C.fwrite(fp, sizeof(char), 5, str);
D.fwrite(str, sizeof(char), 5, fp);
选择C
2-5 以下语句将输出 ()。
#include <stdio.h>
printf("%d %d %d", NULL, '\0', EOF);
A.0 0 1 B.0 0 -1 C.NULL EOF D.1 0 EOF
选择B
2-6 若fopen()函数打开文件失败,其返回值是( )。
A.1 B.-1 C.NULL D.ERROR
选择C
2-7 若读文件还未读到文件末尾, feof()函数的返回值是( )。
A.-1 B.0 C.1 D.非0
选择B
2-8 fputc(ch,fp) 把一个字符ch写到fp所指示的磁盘文件中,若写文件失败则函数的返回值为( )。
A.0 B.1 C.EOF D.非0
选择C
2-9 以下可作为函数fopen中第一个参数的正确格式是( )。
A.c:user\text.txt B.c:\user\text.txt C."c:\user\text.txt" D."c:\\user\\text.txt"
选择D,反斜杠要有两个,斜杠只要一个
2-10 函数fgetc的作用是从指定文件读入一个字符,该文件的打开方式可以是( )。
A.只写 B.追加 C.读或读写 D.答案B和C都正确
选择C
2-11 已知函数的调用形式fread(buffer, size, count, fp);其中buffer代表的是( )。
A.一个整数变量,代表要读入的数据项总数
B.一个文件指针,指向要读的文件
C.一个指针,指向要读入数据的存放地址
D.一个存储区,存放要读的数据项
选择C
2-12 若想对文本文件进行只读操作,打开此文件的方式是( )。
A."rb" B."w" C."ab" D."r"
选择D
2-13 若fp是指向某文件的指针,且已读到文件末尾,则表达式feof(fp)的返回值是( )。
A.EOF B.-1 C.非零值 D.NULL
选择C,督导末尾是非零值,未读到是0
2-14 函数fscanf()的正确调用形式是( ) 。
A.fscanf(fp, 格式字符串, 输出表列);
B.fscanf(格式字符串, 输出表列, fp);
C.fscanf(格式字符串, 文件指针, 输出表列);
D.fscanf(文件指针, 格式字符串, 输入表列);
选择D
填空题
4-1 根据数据存储的编码形式,C语言中处理的数据文件通常为 文本 文件和 二进制 文件两种。
4-2 C语言中,在成功打开一个文件后,可以使用 文件指针 来获取文件缓冲区的FILE结构信息。
4-3 程序功能:从指定的文本文件中读出数据,并显示
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
FILE *fp;
char ch,file_read[80];
scanf("%s",file_read);
if((fp=fopen(file_read,"r"))==NULL){
printf("打开文件失败\n");
exit(0);
}
ch=fgetc(fp);
while(ch != EOF) {
printf("%c",ch);
ch=fgetc(fp);
}
fclose(fp);
return 0;
}
4-4 判断文件指针是否已经到了文件尾部的函数是 feof() 。
4-5 只能向指定文件写入一个字符的函数是 fputc() 。
4-6 fgets(s,n,fp);语句用来从fp所指示的文本文件中读取字符串s,该语句最多读取 n-1 个字符。