输入、输出及文件管理题库

上传人:wt****50 文档编号:34640998 上传时间:2018-02-26 格式:DOC 页数:15 大小:120KB
返回 下载 相关 举报
输入、输出及文件管理题库_第1页
第1页 / 共15页
输入、输出及文件管理题库_第2页
第2页 / 共15页
输入、输出及文件管理题库_第3页
第3页 / 共15页
输入、输出及文件管理题库_第4页
第4页 / 共15页
输入、输出及文件管理题库_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《输入、输出及文件管理题库》由会员分享,可在线阅读,更多相关《输入、输出及文件管理题库(15页珍藏版)》请在金锄头文库上搜索。

1、第九章 输入、输出及文件管理一、选择题1以下叙述中错误的是_。 A)C 语言中对二进制文件的访问速度比文本文件快 B)C 语言中,随机文件以二进制代码形式存储数据 C)语句 FILE fp; 定义了一个名为 fp 的文件指针 D)C 语言中的文本文件以 ASCII 码形式存储数据答案:C2有以下程序 main() FILE *fp; int i, k, n; fp=fopen(data.dat, w+); for(i=1; i#define type1.h#define M2 N*2void main()int i;i=M1+M2; printf(%dn,i); 程序编译后运行的输出结果是:A

2、) 10 B) 20 C) 25 D) 30答案:C9. 有以下程序#include void main() FILE *fp; int i=20,j=30,k,n;fp=fopen(d1.dat,w);fprintf(fp,%dn,i);fprintf(fp,%dn,j);fclose(fp);fp=fopen(d1.dat,r);fscanf(fp,%d%d,printf(%d %dn,k,n);fclose(fp); 程序运行后的输出结果是A) 20 30 B) 20 50 C) 30 50 D) 30 20答案:A10. 以下叙述中错误的是A) 二进制文件打开后可以先读文件的末尾,而顺

3、序文件不可以B) 在程序结束时,应当用 fclose 函数关闭已打开的文件C) 在利用 fread 函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D) 不可以用 FILE 定义指向二进制文件的文件指针答案:D11. 以下叙述中不正确的是A )语言中的文本文件以 ASC码形式存储数据B )语言中对二进制文件的访问速度比文本文件快C )语言中,随机读写方式不适用于文本文件D )语言中,顺序读写方式不适用于二进制文件答案:D12. 有以下程序#include void main( ) FILE *fp; int i,k=0,n=0;fp=fopen(d1.dat,w);for(i=

4、1;ivoid main( )FILE *fp1;fp1=fopen(f1.txt,w);fprintf(fp1,abc);fclose(fp1);若文本文件 f1.txt 中原有内容为:good,则运行以上程序后文件 f1.txt 中的内容为 A)goodabc B)abcd C)abc D)abcgood答案:C14. fopen( )函数的 mode 取值”w+”和”a+”时都可以写入数据,它们之间的差别是 。A ”w+”可在中间插入数据,而”a+”只能在末尾追加数据 B ”w+”和”a+”只能在末尾追加数据 C在文件存在时, ”w+”清除原文件数据,而”a+”保留原文件数据 D ”w+

5、”不能在中间插入数据,而”a+”只能在末尾追加数据答案:C15. 若定义:int a5;,fp 是指向某一已经正确打开了的文件的指针,下面的函数调用形式中不正确的是( ) 。(A)fread (a0,sizeof (int ),5,fp);(B)fread ((C)fread (a,sizeof (int ),5,fp);(D)fread (a, 5 * sizeof (int ),1,fp);答案:(A)16. 以下程序的功能是 。#include void main ( )FILE *fp;char str = HELLO;fp=fopen(PRN, w);fputs (str,fp);f

6、close (fp);A在屏幕上显示”HELLO” B把”HELLO”存入 PRN 文件中 C在打印机上打印出”HELLO” D以上都不对答案:C二、填空题1C 语言把文件看作是一个字符(字节)的序列。根据数据的组织形式,可以分为_【_1_】_文件和二进制文件;按文件的读写方式,可以分为顺序文件和_【_2_】_。答案:【1】ASCII;【2】随机文件2ASCII 文件又称为_【_1_】_文件,它的每一个字节存放一个 ASCII 码,代表一个_【_2_】 。答案:【1】文本;【2】字符3二进制文件是把数据按其在内存中的_【_1_】_形式原样输出到磁盘上存放。答案:【1】存储4ASCII 文件便于

7、对_【_1_】_进行处理,但一般占存储空间较多,而且要花费转换时间(二进制形式与 ASCII 码间的转换) 。答案:【1】字符5二进制文件存储_【_1_】_可节省外存空间和转换时间,但不便于处理_【_2_】_。答案:【1】数值;【2】字符6C 语言中文件并不是由_【_1_】_组成的,对文件的存取是以字符(字节)为单位的。答案:【1】记录7C 语言中通过设置指向 FILE 类型结构体的_【_1_】_变量,来实现对文件的访问。答案:【1】指针8对文件读写之前应该_【_1_】_该文件,在使用结束之后应_【_2_】_该文件。答案:【1】打开;【2】关闭9在打开一个文件时,告诉编译系统三个信息:需要访问

8、的_【_1_】_、使用文件的_【_2_】_、指向被打开文件的指针变量。答案:【1】文件名;【2】方式10_【_1_】_和_【_2_】_函数一般用于二进制文件的输入输出,因为它们是按数据块的长度来处理输入输出的。答案:【1】fread;【2】fwrite11文件中有一个位置指针,指向当前的_【_1_】_位置。每次读写完一个字符后,该位置指针自动移动指向下一个字符位置。答案:【1】读写12_【_1_】_函数的作用是使位置指针重新返回文件的开头。答案:【1】rewind13_【_1_】_函数可以改变文件的位置指针,实现随机读写。答案:【1】fseek14_【_1_】_函数的作用是返回文件位置指针的当

9、前值。答案:【1】ftell15若文件位置指针已指到文件末尾,则函数 feof 的值为_【_1_】_。答案:【1】真(非 0)16. 以下 C 语言程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出。#include void main(int argc; char *argv ) FILE *f1,*f2; char ch;if(argcvoid main() FILE * fp;char ch,fname10;printf(lnput the name of filen);gets(fname);if(fp= 【1】 )=NULL) printf(Cannot openn)

10、; return;printf(Enter datan);while(ch=getchar()!=#) fputc( 【2】 ,fp);fclose(fp); 答案:【1】fopen(fname,w); 【2】ch;18. 以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文件文件中形成文本文件,并将字符的个数写到文件尾部,请填空。#include void main() FILE *fp;char ch,fname32; int count=0;printf(Input the filename :); scanf(%s,fname);if(fp=fopen( 【1

11、】 ,w+)=NULL) printf(Cant open file:%s n,fname); return;printf(Enter data:n);while(ch=getchar()!=#) fputc(ch,fp); count+;fprintf( 【2】 ,n%dn, count);fclose(fp);答案:【1】fname; 【2】fp;19.下面程序把从终端读入的文本(用#作为文本结束标志)复制到一个名为 text.dat 的新文件中。请补全所缺语句。#include FILE *fp;Void main( )char ch;if(fp=fopen( 【1】 )=NULL)ex

12、it(0);while(ch=getchar()!=#)fputc(ch,fp);【2】 ;答案:【1】text.dat, w 【2】fclose20. 以下程序用来统计文件中字符个数。请填空。#include void main() FILE *fp; long num=0L;if(fp=fopen(fname.dat,r)=NULL) printf(Open errorn); return;while( 【1】 ) fgetc(fp); num+;printf(num=%Ldn,num-1);fclose(fp);答案:【1】!feof(fp)三、编程题1. 产生 20 个随机字母,或为大

13、写或为小写,显示之,分别存入文件 S2、S3 中,再打开,分别显示之。答 要点:(1)定义两文件指针,按”w”方式打开两个文件。(2)大写字母 ASCII 码:6590,小写 97122。循环 20 次,每次产生一个 65122 之间的随机数,如在 6590 范围内的写入文件 s2,在 97122 范围内的写入文件 s3,否则重新产生这次用的随机数,直到是大写或小写字母。关闭文件。(3)用”r”方式打开两个文件,读字符显示。关闭文件。#include #include #include void main( ) int i;char ch;FILE *fp1, *fp2;if (fp1=fop

14、en (s2, w) = NULL) printf (open error!);return;if (fp2=fopen (s3,w) = NULL)printf (open error!);return;srand(time(NULL); /初始化随机数种子for (i=1;i=97)fputc (ch,fp2);break;printf (n);fclose (fp1);fclose (fp2);fp1=fopen (s2, r);fp2=fopen (s3,r);while (ch=fgetc (fp1)!=EOF) putchar (ch);printf (n);while (ch=f

15、getc (fp2)!=EOF) putchar (ch);printf (n);fclose (fp1);fclose (fp2);运行示例:IpKbZDRozUFEgjDkGDPh (有 3 次非字母,重新产生)IKZDRUFEDGDPpbozgjkh2.按照下列要求编写程序从 file_st 文件中读入一个含 10 个字符的字符串。解:#include #define SIZE 10void main( ) FILE *fp;char c10,i;if(fp=fopen(file_st, r)=NULL) /*打 开 文 件 */ printf(cannot open this filen);return;else printf(nContext of file_stri

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号