《C语言程序设计基础》课程单元总结与单元练习 答案
单元十 文件操作
单元总结提升
在本单元中,如何打开文件、如何读写文件以及如何关闭文件是核心内容。通过本单元的学习,我们应该知道:
1.C语言对文件的操作是通过文件指针实现的,文件指针是系统定义好的结构类型,名称为 FILE ,该类型已在头文件stdio.h中定义,对文件进行操作时,用该类型直接定义文件指针变量即可。定义形式为: FILE *文件指针变量名; 。 2.对文件的操作过程及相应的文件操作函数为: 第一步: 打开文件 ,相应的函数为 fopen() 。 第二步: 读写文件 ,相应的函数为 fputc()/fgetc()等 。 第三步: 关闭文件 ,相应的函数为 fclose() 。 通过本单元的学习,应理解文件指针FILE的含义,重点掌握利用文件指针操作文件的方法,以及文件操作函数的使用方法。
单元练习
一.选择题
1.设fp为FILE类型的指针,要以只写的方式打开文件d:\\data\\file.txt,正确的语句是( )。
A.fp=fopen(“d:\\data\\file.txt”,”w”); B.fp=fopen(“d:\\\\data\\\\file.txt”,”w”); C.fp=fopen(“d:\\data\\file.txt”,”r”); D.fp=fopen(“d:\\\\data\\\\file.txt”,”r”);
2.执行fopen函数时发生错误,则函数的返回值是( )。
A.地址值
B.NULL(0)
C.1
D.EOF(-1)
3.当正确执行了文件关闭操作时,fclose函数的返回值是( )。
A.-1
B.true
C.0
D.1
4.rewind函数的作用是( )。
A.使位置指针重新返回文件的开头 B.使位置指针指向文件所要求的特定位置
《C语言程序设计基础》课程单元总结与单元练习 答案
C.使位置指针从新返回文件的末尾 D.使位置指针自动移到下一个字符位置
5.以下程序想要把键盘输入的字符写到文件data.txt中,直到输入“*”为止,但程序有错误,出错的原因是( )。
#include
} fclose(fp); FILE *fp; char ch;
fp=fopen(\ch=getchar(); while(ch!='*') { fputc(fp,ch);
ch=getchar();
A.函数fopen调用形式错误 B.函数fclose调用形式错误 C.函数fputc调用形式错误 D.函数getchar()调用形式错误
二.填空题
1.以下程序功能是:用变量count统计文件中字符的个数。请将程序补充完整。
#include
FILE *fp; long count=0;
if((fp=fopen(\ ))==NULL) { printf(\不能打开文件.\ exit(0); }
while(fgetc(fp)!=EOF) ; printf(\文件中的字符个数为%ld.\\n\fclose(fp);
2.以下程序的功能是:找出文件file.txt中所有的整数。文本文件file.txt中存有一系列整数,各整数之间以空格、Tab符、回车符分隔。程序中用数组b[]存储不同的整数,变量k为已
《C语言程序设计基础》课程单元总结与单元练习 答案
存入数组b中的不同整数的个数,并假定文件的不同整数个数不超过1000个。请将程序补充完整。
#include
FILE ; int b[N],d,i,k;
if((fp= )==NULL) { printf(\不能打开文件.\ exit(0); } k=0;
while(fscanf( )==1) { }
b[k]=d;
for(i=0;b[i]!=d;i++); if(i==k) k++;
;
*******************************************************************************
习题答案:
一.选择题
1.B
2.B
3.C
4.A
5.C
二.填空题
1.\ count++
2.#include
#include
FILE *fp ; int b[N],d,i,k;
if((fp= fopen(\{ printf(\不能打开文件.\ exit(0); } k=0;
《C语言程序设计基础》课程单元总结与单元练习 答案
}
while(fscanf(fp,\{ }
b[k]=d;
for(i=0;b[i]!=d;i++); if(i==k) k++;
fclose(fp) ;
*******************************************************************************