计算机等级二级C语言章节习题及答案13Word格式文档下载.docx
《计算机等级二级C语言章节习题及答案13Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机等级二级C语言章节习题及答案13Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。
![计算机等级二级C语言章节习题及答案13Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-11/29/50d9cd41-ceb9-4149-b71e-278be9808fbd/50d9cd41-ceb9-4149-b71e-278be9808fbd1.gif)
B)文件由二进制数据序列组成,C语言只能读写二进制文件
C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
13.5函数fseek(pf,OL,SEEK_EN
D)中的SEEK_END代表的起始点是
A)文件开始
B)文件末尾
C)文件当前位置
D)以上都不对
13.6C语言中,能识别处理的文件为
A)文本文件和数据块文件
B)文本文件和二进制文件
C)流文件和文本文件
D)数据文件和二进制文件
13.7若调用fputc函数输出字符成功,则其返回值是
B)1
C)0
D)输出的字符
13.8已知函数的调用形式:
fread(buf,size,count,fp),参数buf的含义是
A)一个整型变量,代表要读入的数据项总数
B)一个文件指针,指向要读的文件
C)一个指针,指向要读入数据的存放地址
D)一个存储区,存放要读的数据项
13.9当顺利执行了文件关闭操作时,fclose函数的返回值是
A)-1
B)TRUE
D)1
13.10如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是
A)fp=fopen("
Demo"
"
r"
);
B)fp=fopen("
ab+"
C)fp=fopen("
w+"
D)fp=fopen("
r+"
13.11若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是
A)fopen("
A:
\user\abc.txt"
)
B)fopen("
\\user\\abc.txt"
rt+"
C)fopen("
rb"
D)fopen("
w"
13.12fwrite函数的一般调用形式是
A)fwrite(buffer,count,size,fp);
B)fwrite(fp,size,count,buffer);
C)fwrite(fp,count,size,buffer);
D)fwrite(buffer,size,count,fp);
13.13C语言中,文件组成的基本单位为
A)记录
B)数据行
C)数据块
D)字符序列
13.14C语言中,系统的标准输入文件是指
A)键盘
B)显示器
C)软盘
D)硬盘
A
13.15有以下程序
#include
main()
{FILE*fp;
inti=20,j=30,k,n;
fp=fopen("
d1.dat"
);
fprintf(fp,"
%d\n"
i);
j);
fclose(fp);
fscanf(fp,"
%d%d"
,&
k,&
n);
printf("
%d%d\n"
k,n);
}
程序运行后的输出结果是
A)2030
B)2050
C)3050
D)3020
13.16阅读以下程序及对程序功能的描述,其中正确的描述是
{FILE*in,*out;
charch,infile[10],outfile[10];
printf("
Entertheinfilename:
\n"
scanf("
%s"
infile);
Entertheoutfilename:
outfile);
if((in=fopen(infile,"
))==NULL)
{printf("
cannotopeninfile\n"
exit(0);
if((out=fopen(outfile,"
cannotopenoutfile\n"
while(!
feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
A)程序完成将磁盘文件的信息在屏幕上显示的功能
B)程序完成将两个磁盘文件合二为一的功能
C)程序完成将一个磁盘文件复制到另一个磁盘文件中
D)程序完成将两个磁盘文件合并并在屏幕上输出
13.17下面的程序执行后,文件test中的内容是
voidfun(char*fname,char*st)
{FILE*myf;
inti;
myf=fopen(fname,"
);
for(i=0;
i
fclose(myf);
{fun("
test"
newworld"
fun("
hello,"
A)hello,
B)newworldhello,
C)newworld
D)hello,rld
13.18假定当前盘符下有两个文本文件,如下
文件名a1.txta2.txt
内容123#321#
则下面程序段执行后的结果为
#include"
stdio.h"
voidfc(FILE*p)
{charc;
while((c=fgetc(p))!
=′#′)putchar(
C);
a1.txt"
fc(fp);
a2.txt"
putchar(′\n′);
A)123321
B)123
C)321
D)以上答案都不正确
13.19阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在)
voidmain()
inta[10],*p=a;
a123.txt"
while(strlen(gets(p))>
0)
{fputs(a,fp);
fputs("
fp);
A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt中
B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中
C)从键盘输入若干行字符,第一行写入文本文件a123.txt中
D)从键盘输入若干行字符,依次写入文本文件a123.txt中
13.20阅读下面程序,此程序的功能为
main(intargc,char*argv[])
{FILE*p1,*p2;
intc;
p1=fopen(argv[1],"
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打开的文件内容之后
二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
13.21利用fseek函数可以实现的操作是【1】
从所改变的文件位置指针处开始读写
13.22下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。
FILE*fp;
{charch;
if((fp=fopen(【2】))==NULL)exit(0);
while((ch=getchar())!
='
@'
)fputc(ch,fp);
"
bi.dat"
或"
13.23在对文件操作的过程中,若要求文件的位置指针回到文件的开始处,应当调用的函数是【3】。
rewind()或fseek()
13.24以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。
main()
{FILE*fp;
chara[4]="
1234"
,b[6]="
abcedf"
;
if((fp=fopen("
【4】"
wb"
))=NULL)exit(0);
fwrite(a,sizeof(char),4,fp);
fwrite(b,【5】,1,fp);
lett.dat6*sizeof(char)
13.25用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
st=(char*)
【6】;
malloc(11)或malloc(sizeof(char)*11)
13.26以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE*myf;
longf1;
myf=【7】("
test.t"
fseek(myf,0,SEEK_EN
D);
f1=ftell(myf);
f1);
fopen
13.27“FILE*p”的作用是定义一个文件指针变量,其中的“FILE”是在【8】头文件中定义的。
stdio.h
13.28当调函数frend从磁盘文件中读取数据时,若函数数的返回时为5,则表明【9】;
若函数的返回值为0,则表明【10】。
读取的数据项做为5文件结束或出错