1.c语言源程序是文本文件,目标文件和可执行文件是二进制文件。✔
2.一般不能用任何一个文本编辑器打开二进制文件进行阅读。✔
3.文件指针和位置指针都是随着文件的读写操作在不断改变。✘
文件指针是用来指示当前正在操作的文件,而位置指针则是指示文件中的当前位置
4.一般不能用任何一个文本编辑器打开二进制文件进行阅读。✔
会出现乱码
5.缓冲文件系统的文件缓冲区位于(C)。
A.磁盘缓冲区中
B.磁盘文件中
C.内存数据区中
D.程序文件中
6.以下可作为函数fopen中第一个参数的正确格式是( D)。
A.c:user\text.txt
B.c:\user\text.txt
C."c:\user\text.txt"
D."c:\\user\\text.txt"
在C语言中,字符串中的反斜杠\
是转义字符,所以在表示路径时需要使用双反斜杠\\
来表示一个反斜杠。因此,在Windows系统中,表示路径时应该使用双反斜杠,而且字符串需要用双引号括起来。
7.函数fscanf()的正确调用形式是( D) 。
A.fscanf(fp, 格式字符串, 输出表列);
B.fscanf(格式字符串, 输出表列, fp);
C.fscanf(格式字符串, 文件指针, 输出表列);
D.fscanf(文件指针, 格式字符串, 输入表列);
函数fscanf()用于从文件中读取格式化输入,第一个参数是文件指针,第二个参数是格式字符串,第三个参数是要读取的变量。
8.下面的程序执行后,文件 test中的内容是(B)。
void fun(char * fname, char *st)
{ FILE * myf; int i;
myf = fopen(fname, "w");
for(i = 0; i<strlen(st); i++) fputc(st i], myf);
fclose(my f); }
int main(void)
{ fun("test" , "new world");
fun("test" , "hello, ");
return 0;
}
A.new worldhello,
B.hello,
C.new world
D.hello, rld
fun函数使用的是"w"模式打开文件,这意味着在每次调用fun函数时,都会清空文件内容然后重新写入。因此,第一次调用fun函数时,"new world"会被写入文件test.txt,并替换掉之前的内容。接着,第二次调用fun函数时,"hello,"会再次被写入文件test.txt,覆盖掉之前的内容。所以,最终文件test.txt中的内容是: hello,
9.在C语言中,下面关于文件的存取方式正确的叙述是(C)
A.可以顺序存取,也可以随机存取
B.不可以顺序存取,但可以随机存取
C.可以顺序存取,但不可以随机存取
D.只能从文件的开头存取
顺序存取:当“打开”文件进行读或写操作时总是从文件的开头开始,从头到尾顺序读或写。
直接存取:又称随机存取文件,可以通过调用C语言的库函数来指定开始读(写)的字节号,然后直接对此位置上的数据进行读或写操作
10.下列叙述中正确的是(D)。
A.C语言中的文件是流式文件, 因此只能顺序存取数据
B.打开一个已存在的文件并进行了写操作后, 原有文件中的全部数据必定被覆盖
C.在一个程序中当对文件进行了写操作后, 必须先关闭该文件然后再打开, 才能读到第一个数据
D.当对文件的读(写)操作完成之后, 必须将它关闭, 否则可能导致数据丢失
11.在C语言中,下面关于文件操作正确的叙述是(D )。
A.对文件操作时需要先关闭文件
B.对文件操作时打开和关闭文件的顺序没有要求
C.对文件操作时,必须先检查文件是否存在,然后再打开文件
D.对文件操作时需要先打开文件
如果之前已经存在这个文件,那么使用"w"模式打开文件会清空文件中的内容,即使文件中之前已经有内容也会被清空。因此,无论之前文件是否存在,使用"w"模式打开文件都会得到一个空的文件。