C语言文件选择题(新) 下载本文

文件

1、在 C中,对文件的存取以________为单位 A) 记录 B) 字节 C) 元素 D) 簇 B

2、下面的变量表示文件指针变量的是 A) FILE *fp B) FILE fp C) FILER *fp D) file *fp A

3、在 C中,下面对文件的叙述正确的是

A) 用“r”方式打开的文件只能向文件写数据 B) 用“R”方式也可以打开文件

C) 用“w”方式打开的文件只能用于向文件写数据,且该文件可以不存在 D) 用“a”方式可以打开不存在的文件 C

4、在 C中,当文件指针变fp已指向“文件结束”,则函数feof(fp)的值是 A) .t. B) .F. C) 0 D) 1 D

5、下面程序段的功能是 #include main() {char s1;

s1=putc(getc(stdin),stdout);}

A) 从键盘输入一个字符给字符变量s1

B) 从键盘输入一个字符,然后再输出到屏幕

C) 从键盘输入一个字符,然后在输出到屏幕的同时赋给变量s1 D) 在屏幕上输出stdout的值 C

6、在 C中,常用如下方法打开一个文件 if((fp=fopen(\{printf(\ 其中函数exit(0)的作用是 A) 退出C环境

B) 退出所在的复合语句

C) 当文件不能正常打开时,关闭所有的文件,并终止正在调用的过程 D) 当文件正常打开时,终止正在调用的过程 C

7、执行如下程序段 #include FILE *fp;

fp=fopen(\

则磁盘上生成的文件的全名是 A) file B) file.c C) file.dat D) file.txt A

8、在C中若按照数据的格式划分,文件可分为

A) 程序文件和数据文件 B) 磁盘文件和设备文件 C) 二进制文件和文本文件 D) 顺序文件和随机文件 C

9、若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp) 的返回值是

A) EOF B) -1 C) 非零值 D) NULL C

10、以下函数,一般情况下,功能相同的是 A) fputc和putchar B) fwrite和fputc C) fread和fgetc D) putc和fputc D

11、设文件file1.c已存在,且有如下列程序段 #include FILE *fp1;

fp1=fopen(\

while(!feof(fp1)) putchar(getc(fp1)); 该程序段的功能是

A) 将文件file1.c的内容输出到屏幕 B) 将文件file1.c的内容输出到文件

C) 将文件file1.c的第一个字符输出到屏幕 D) 什么也不干 A

12、设文件stu1.dat已存在,且有如下列程序段 #include FILE *fp1, *fp2;

fp1=fopen(\fp2=fopen(\

while(feof(fp1)) putc(getc(fp1),fp2); 该程序段的功能是

A) 将文件stud1.dat的内容复制到文件stud2.dat中 B) 将文件stud2.dat的内容复制到文件stud1.dat中 C) 屏幕输出stud1.dat的内容 D) 什么也不干 D

13、如果要将存放在双精度型数组a[10]中的10个双精度型实数写入文件型指针 fp1指向的文件中,正确的语句是 A) for(i=0;i<80;i++) fputc(a[i],fp1); B) for(i=0;i<10;i++) fputc(&a[i],fp1); C) for(i=0;i<10;i++) fwrite(&a[i],8,1,fp1); D) fwrite(fp1,8,10,a); C

14、下列程序的主要功能是 #include \main() {FILE *fp; long count=0;

fp=fopen(\ while(!feof(fp))

{fgetc(fp);count++;}

printf(\ fclose(fp); }

A) 读文件中的字符 B) 统计文件中的字符数并输出 C) 打开文件 D) 关闭文件 B

15、下面程序的主要功能是: #include \main() {FILE *fp;

float x[4]={-12.1,12.2,-12.3,12.4}; int i;

fp=fopen(\ for(i=0;i<4;i++)

{fwrite(&x[i],4,1,fp);fclose(fp);} }

A) 创建空文档data1.dat B) 创建文本文件data1.dat

C) 将数组x中的四个实数写入文件data1.dat中 D) 定义数组x C

16、有如下程序段: #include \main() {FILE *fp;

int i;

char s[10];

fp=fopen(\ for(i=0;i<40;i++)

{scanf(\ fclose(fp); }

下面说法正确的是

A) 将39个人的名字写入文本文件name.txt中 B) 将40个人的名字写入文本文件name.txt中 B) 文件name.txt中只能写入40个字符 D) 文件name.txt必须存在 B