第十章 文件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、概念题

1. fopen函数的返回值是返回指向该流的文件指针。

2. 文件打开方式为"r+",文件打开后,文件读写位置在头。

3. 文件打开方式为"a",文件打开后,文件读写位置在尾。

4. 表达式“fgetc(fpn)”的值为带回所读的字符或EOF 。

5. 表达式“fgets(a, 10, fpn)”的值为a地址或NULL 。

6. 函数fscanf的返回值为输入项个数或EOF 。

7. 函数fread的返回值为所读入数据的个数或0 。

8. 表达式“fscanf(fpn, "%f", &x)”的值为-1时,函数feof()的值为 1 。

二、判断题

1. 若文件型指针fp已指向某文件的末尾,则函数feof(fp)的返回值是0(F )。

2. 不能用“r”方式打开一个并不存在的文件(T )。

3. FILE *fp;的功能是,将fp定义为文件型指针(T )。

4. “文件”是指存储在外部介质上数据的集合(T)。

5. “文件”根据数据的组织形式可以分为ASCII文件和十进制文件(F )。

6. 用“r”方式打开的文件只能用于向计算机输入数据(F)。

7. 用“wb”方式打开的文件为输出打开一个ASCII文件(F )。

8. 文件结束标志EOF(-1)表示已经遇到文件结束符(T)。

9. fseek函数用于文件读写时的文件指针定位(F)。

三、单选题

1. 以下叙述中不正确的是(D )。

A. C语言中的文本文件以ASCⅡ码形式存储数据

B. C语言中对二进制文件的访问速度比文本文件快

C. C语言中,随机读写方式不适用于文本文件

D. C语言中,顺序读写方式不适用于二进制文件

2. 若用fopen()函数打开一个已经存在的文本文件,保留该文件原有数据且可以读也可以写,则文件的打开模式为(C )。

A.“ab+” B.“w+” C.“a+” D.“a”

3. 若想对文本文件只进行读操作,打开此文件的方式为(A )。

A."r" B."W" C."a" D."r+"

4. 用(A )函数打开文件,操作完毕后用(C )函数关闭它。

A.fopen

B.open

C.fclose

D.close

5. 如果要打开C盘file文件夹下的abc.dat文件,fopen函数中第一个参数应为( D )。

A. c:file\abc.dat

B. c:\file\abc.dat

C. "c:\file\abc.dat"

D. "c:\\file\\abc.dat"

6. 以“只读”方式打开文本文件c:\xy.txt,下列语句中哪一个是正确的(B )。

A. fp=fopen("c:\\xy.txt","a");

B. fp=fopen("c:\\xy.txt","r");

C. fp=fopen("c:\\xy.txt","wb");

D. fp=fopen("c:\xy.txt","r");

7. fseek函数可以实现的操作是(A)。

A. 改变文件的位置指针的当前位置

B. 文件的顺序读写

C. 文件的随机读写

D. 以上都不对

8. 检测fp文件流的文件位置指针在文件头的条件是(B )。

A. fp=0

B. ftell(fp)=0

C. fseek(fp,0,SEEK_SET)

D. feof(fp)

9. 以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。

#include “stdio.h”

main()

{ FILE *fout; char ch;

fout=fopen('abc.txt','w');

ch=fgetc(stdin);

while(ch!='#')

{ fputc(ch,fout);

ch=fgetc(stdin);

}

fclose(fout);

}

出错的原因是A

A. 函数fopen调用形式错误

B. 输入文件没有关闭

C. 函数fgetc调用形式错误

D. 文件指针stdin没有定义

四、程序填空题

1. 以下程序将一个磁盘文件中的信息复制到另一个磁盘文件中。

#include "stdio.h"

main( )

{ FILE *in, *out;

char ch;

char infile[10], outfile[10];

printf("Enter the infile name\n");

scanf("%s", 【1】infile );

printf("Enter the outfile name\n");

scanf("%s", outfile);

if (( 【2】in=fopen(“””) )==NULL) {

printf("can not open infile %s\n", infile);

exit(0); }

if ((out = fopen(outfile, " 【3】"))==NULL){

printf("can not open outfile %s\n", outfile);

exit(0); }

while( 【4】)

fputc( 【5】, out);

fclose(in);

fclose(out);

}

2. 当前目录下存放着文本文件from.txt, 将其中除数字以外的内容显示在屏幕上。

#include < stdi0.h >

#include < stdlib.h >

void main ()

{ FILE *fr;int ch;

if( 【1】){

printf("Can not open file-- form.txt.\n");

exit (0);

}

while (!feof(fr)){

【2】;

if (【3】)

putchar(ch);

}

fclose(fr);

}

3. 从键盘输入一批以-1结束的整数,将其中的奇数写入当前目录下的文本文件res.txt。

#include

#include

void main()

{ int x;

【1】;

if((fp=fopen("res.txt","w"))==NULL) {

printf("Can not open file! \n ");

exit(0);

}

scanf("%d", &x);

while( 【2】){

if(x%2!=0) 【3】;

【4】;

相关文档
最新文档