C语言中 能识别和处理的文件是( ),2012年计算机等级二级C语言章节习题及答案(13)...

第13章 文件

一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)13.1 fseek函数的正确调用形式是

A)fseek(文件指针,起始点,位移量)

B)fseek(文件指针,位移量,起始点)

C)fseek(位移量,起始点,文件指针)

D)fseek(起始点,位移量,文件指针)

正确答案: B

13.2 若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是

A)EOF

B)-1

C)1

D)NULL

正确答案: C

13.3 fscanf函数的正确调用形式是

A)fscanf(fp,格式字符串,输出表列);

B)fscanf(格式字符串,输出表列,fp);

C)fscanf(格式字符串,文件指针,输出表列);

D)fscanf(文件指针,格式字符串,输入表列);

正确答案: D

13.4 下列关于C语言数据文件的叙述中正确的是

A)文件由ASCII码字符序列组成,C语言只能读写文本文件

B)文件由二进制数据序列组成,C语言只能读写二进制文件

C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件

D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

正确答案: D

13.5 函数fseek(pf, OL,SEEK_EN

D)中的SEEK_END代表的起始点是

A)文件开始

B)文件末尾

C)文件当前位置

D)以上都不对

正确答案: B

13.6 C语言中,能识别处理的文件为

A)文本文件和数据块文件

B)文本文件和二进制文件

C)流文件和文本文件

D)数据文件和二进制文件

正确答案: B

13.7 若调用fputc函数输出字符成功,则其返回值是

A)EOF

B)1

C)0

D)输出的字符

正确答案: D

13.8 已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是

A)一个整型变量,代表要读入的数据项总数

B)一个文件指针,指向要读的文件

C)一个指针,指向要读入数据的存放地址

D)一个存储区,存放要读的数据项

正确答案: C

13.9 当顺利执行了文件关闭操作时,fclose函数的返回值是

A)-1

B)TRUE

C)0

D)1

正确答案: C

13.10 如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是

A)fp=fopen("Demo","r");

B)fp=fopen("Demo","ab+");

C)fp=fopen("Demo","w+");

D)fp=fopen("Demo","r+");

正确答案: D来源:-计算机二级考试

13.11 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是

A)fopen("A:\user\abc.txt","r")

B)fopen("A:\\user\\abc.txt","rt+")

C)fopen("A:\user\abc.txt","rb")

D)fopen("A:\user\abc.txt","w")

正确答案: B

13.12 fwrite函数的一般调用形式是

A)fwrite(buffer,count,size,fp);

B)fwrite(fp,size,count,buffer);

C)fwrite(fp,count,size,buffer);

D)fwrite(buffer,size,count,fp);

正确答案: D

13.13 C语言中,文件组成的基本单位为

A)记录

B)数据行

C)数据块

D)字符序列

正确答案: D

13.14 C 语言中,系统的标准输入文件是指

A)键盘

B)显示器

C)软盘

D)硬盘

正确答案: A

13.15 有以下程序

#include main()

{ FILE *fp; int i=20,j=30,k,n;

fp=fopen("d1.dat","w");

fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);

fclose(fp);

fp=fopen("d1.dat","r");

fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);

fclose(fp);

}

程序运行后的输出结果是

A)20 30

B)20 50

C)30 50

D)30 20

正确答案: A

13.16 阅读以下程序及对程序功能的描述,其中正确的描述是

#include main()

{ FILE *in,*out;

char ch,infile[10],outfile[10];

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

scanf("%s",infile);

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

scanf("%s",outfile);

if((in=fopen(infile,"r"))==NULL)

{ printf("cannot open infile\n");

exit(0);

}

if((out=fopen(outfile,"w"))==NULL)

{ printf("cannot open outfile\n");

exit(0);

}

while(! feof(in))fputc(fgetc(in),out);

fclose(in);

fclose(out);

}

A)程序完成将磁盘文件的信息在屏幕上显示的功能

B)程序完成将两个磁盘文件合二为一的功能

C)程序完成将一个磁盘文件复制到另一个磁盘文件中

D)程序完成将两个磁盘文件合并并在屏幕上输出

正确答案: C

13.17 下面的程序执行后,文件test中的内容是

#include void fun(char *fname,char *st)

{ FILE *myf; int i;

myf=fopen(fname,"w" );

for(i=0;i

fclose(myf);}

main()

{ fun("test","new world"); fun("test","hello,");}

A)hello,

B)new worldhello,

C)new world

D)hello, rld

正确答案: A

13.18 假定当前盘符下有两个文本文件,如下

文件名 a1.txt a2.txt

内容 123# 321#

则下面程序段执行后的结果为

#include "stdio.h"

void fc(FILE *p)

{ char c;

while((c=fgetc(p))!=′#′) putchar(

C);

}

main()

{ FILE *fp;

fp=fopen("a1.txt","r");

fc(fp);

fclose(fp);

fp=fopen("a2.txt","r");

fc(fp);

fclose(fp);

putchar(′\n′);}

A)123321

B)123

C)321

D)以上答案都不正确

正确答案: A

13.19 阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在)

#include "stdio.h"

void main()

{ FILE *fp;

int a[10],*p=a;

fp=fopen("a123.txt","w");

while( strlen(gets(p))>0 )

{ fputs(a,fp);

fputs("\n",fp);

}

fclose(fp);

}

A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt中

B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中

C)从键盘输入若干行字符,第一行写入文本文件a123.txt中

D)从键盘输入若干行字符,依次写入文本文件a123.txt中

正确答案: D

13.20 阅读下面程序,此程序的功能为

#include "stdio.h"

main(int argc,char *argv[])

{ FILE *p1,*p2;

int c;

p1=fopen(argv[1],"r");

p2=fopen(argv[2],"a");

c=fseek(p2,0L,2);

while((c=fgetc(p1))!=EOF) fputc(c,p2);

fclose(p1);

fclose(p2);

}

A)实现将p1打开的文件中的内容复制到p2打开的文件

B)实现将p2打开的文件中的内容复制到p1打开的文件

C)实现将p1打开的文件中的内容追加到p2打开的文件内容之后

D)实现将p2打开的文件中的内容追加到p1打开的文件内容之后

正确答案: C来源:-计算机二级考试

二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)13.21 利用 fseek 函数可以实现的操作是【1】

正确答案: 从所改变的文件位置指针处开始读写

13.22 下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。

#include "stdio.h"

FILE *fp;

{ char ch;

if((fp=fopen(【2】))==NULL)exit(0);

while((ch=getchar( ))!='@')fputc (ch,fp);

fclose(fp);}

正确答案: "bi.dat","w"或"bi.dat","w+"

13.23 在对文件操作的过程中,若要求文件的位置指针回到文件的开始处,应当调用的函数是【3】。

正确答案: rewind()或fseek()

13.24 以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。

#include main ()

{ FILE *fp;

char a[4]="1234",b[6]="abcedf";

if((fp=fopen("【4】","wb"))=NULL) exit(0);

fwrite(a,sizeof(char),4,fp);

fwrite(b,【5】,1,fp);

fclose(fp);

}

正确答案: lett.dat 6*sizeof(char)

13.25 用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。

st=(char*)【6】 ;

正确答案: malloc(11) 或 malloc(sizeof(char)*11)

13.26 以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。

FILE *myf; long f1;

myf=【7】 ("test.t","rb");

fseek(myf,0,SEEK_EN

D);

f1=ftell(myf);

fclose(myf);

printf("%d\n",f1);

正确答案: fopen

13.27 “FILE *p”的作用是定义一个文件指针变量,其中的“FILE”是在 【8】 头文件中定义的。

正确答案: stdio.h

13.28 当调函数frend从磁盘文件中读取数据时,若函数数的返回时为5,则表明 【9】 ;若函数的返回值为0,则表明 【10】 。

正确答案: 读取的数据项做为5 文件结束或出错来

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值