首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。 请在程序
给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。 请在程序
admin
2021-04-28
80
问题
给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #include<stdlib.h>
3 int fun(char *source,char*target)
4 {FILE *fs,*ft; char ch;
5 /**********found**********/
6 if((fs=fopen(source,_1__))==NULL)
7 return 0;
8 if((ft=fopen(target,’’w’’))==NULL)
9 return 0;
10 printf(’’\nThe data in file:\n’’);
11 ch=fgetc(fs);
12 /**********found**********/
13 while(!feof(__2__))
14 { putchar(ch);
15 /**********found**********/
16 fputc(ch,__3__);
17 ch=fgetc(fs);
18 }
19 fclose(fs);fclose(ft);
20 printf(’’\n\n’’);
21 return 1;
22 }
23 main()
24 { char sfname[20]=’’myfile1’’, tfname[20]=’’myfile2’’;
25 FTTE *myf;int i;char c;
26 myf=fopen(sfname,’’w’’);
27 printf(’’\nThe originaldata:\n’’);
28 for(i=1;i<30;i++)
29 { c=’A’+rand() %25;
30 fprintf(myf,’’%c’’,c);
31 printf(’’%c’’,c);}
32 fclose(myf);printf(’’\n\n’’);
33 if(fun(sfname,tfname))
34 printf(’’Succeed!’’);
35 else printf(’’Fail!’’);
36 }
选项
答案
(1)’’r’’ (2)fs (3)ft
解析
第一空:将指定源文件中的内容复制到指定的目标文件中,源文件只需读,因此以只读方式打开即可,故第一空处应该是“if((fs=fopen(source,"r"))==NULL)”。
第二空:“while(!feof( __2__ ))”循环的目的是不断读取源文件直至到达源文件的末尾,循环结束标志是已达到文件的末尾。用feof()函数来检查是否已经到了文件末尾,文件状态检测函数feoff)的调用形式是:feof(fs),如果已经到达文件尾函数返回非零值,否则返回0,故第二空处应该是“while(!feof(fs))”。
第三空:考察fputc函数的使用方法,fputc函数的调用形式是:fputc(ch,ft),ch是要输出的字符,由“ch=fgetc(fs)”从源文件读到字符ch,然后将ch写到目标文件中,故第三空处应该是“fputc(ch,ft);”。
转载请注明原文地址:https://www.kaotiyun.com/show/5Wtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下叙述中错误的是
有以下结构体说明、变量定义和赋值语句structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];则以下scanf函数调用语句有错误的是
有以下程序:#includemain(){ intx=1,y=0,a=0,b=0; switch(x) { case1:switch(y){ case0:a++;break;case1:
有以下程序main(){inta=-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序运行后输出结果是
下面叙述中正确的是
下列语句组中,正确的是
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)
有如下程序#includemain(){char*p1=0;int*p2=0;double*p3=0;printf("%d,%d,%d\n",sizeof(p1),sizeof(p2),sizeof(p3));
下面不属于软件测试实施步骤的是
下列对队列的描述中正确的是
随机试题
患者,男性,68岁。尿频,夜尿多、排尿不畅4年,10小时前饮酒后突然出现小便不能自解,急诊就诊,主诉下腹部胀痛,查体:下腹膨隆,叩诊浊音,轻度压痛;直肠指检可触及前列腺增大、光滑、质韧、中央沟消失。为了进一步了解患者的病情,还应该进行进一步检查,但不包
12名男性乙肝病患者,按病情和年龄相近配成4组,甲组3人,乙组3人,丙组3人,丁组3人,再把每一年龄组的三人随机分配于三个治疗组,每名患者测得治疗后的GPT下降量。已知病情和年龄对治疗效果有影响,欲比较三种药物降低乙肝病人血液中GPT量的效果05,
高层厂房、高层仓库建筑的耐火等级不低于()。
标准仓单签发完毕后,即可用于履行交易所期货合约的实物交割。( )
不得让不满()周岁的未成年人脱离监护单独居住。
下列句子中,没有语病的一句是()
什么是马克思主义课程论?
网络传递延迟最小的是(3)________________。
在VisualFoxPro中,要结束SCAN…ENDSCAN循环体本次执行,不再执行后面的语句,而是转回SCAN处重新判断条件的语句是()。
【S1】【S3】
最新回复
(
0
)