首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。请在程序的下划线处填入正
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。请在程序的下划线处填入正
admin
2019-03-06
48
问题
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#include
void WriteText(FILE *) ;
void ReadText(FILE *);
main ()
{FILE *fp;
if( (fp=fopen("myfile4.txt","w"))
==NULL)
{ printf(" open fail!!\n");
exit(0);}
WriteText(fp);
fclose (fp);
if( (fp=fopen("myfile4.txt",
"r"))==NULL)
{printf(" open fail!!\n");exit(0);}
ReadText(fp);
fclose(fp);
}
/**********found**********/
void WriteText(FILE 【1】)
{ char str[81];
printf("\nEnter string with -1
to end :\n");
gets(str);
while(strcmp(str,"-1")!=0) {
/********** found* *********/
fputs (【2】, fw) ;
fputs("\n",fw);
gets (str);
}
}
void ReadText(FILE *fr)
{ char str[81];
printf("\nRead file and output
to screen :\n");
fgets(str, 81,fr) ;
while(!feof(fr)) {
/********* found**********/
printf ("%s",【3】) ;
fgets(str,81,fr);
}
}
选项
答案
(1)*fw (2)str (3)str
解析
第一空:此处是补充函数参数名,参数类型已知是FILE文件指针,“fputs("\n",fw)”是将字符“\n”写入文件,可知fw是文件指针名,因此,第一空处应该是“void WriteText(FILE*fw)”。
第二空:“while(strcmp(str,"-1")!=0)”循环的结束标志是str字符串等于“-1”时循环退出,如果str不等于“-1”,执行循环体内容:用fputs函数将str字符串写入文件。fputs函数的调用形式是:“fputs(s,fp)”,其中,s是指向字符串的指针或字符串数组名,fp是指向将要被写入的文件的文件指针,因此,第二处应该是“fputs(str,fw)”。
第三空:“while(!feof(fr))”循环的作用是不断读取文件直到到达文件尾,每次最多读81个,将读到的数据放在str字符串里,并用printf输出到屏幕,因此,第三处应该是“printf("%s",str)”。
转载请注明原文地址:https://kaotiyun.com/show/lIRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有如下程序:intsub(){staticintn=1;intx=1;x*=n;n++;returnx;}main(){intn,t=1;for(n=1;n<6;n++)
待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
下列软件系统结构图的宽度为【】。
下列的程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,程序空白处应该填写的是()。#include<stdio.h>main(){chars1[]="chinese",s2[]="japnese";
有以下程序#includemain0{inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是
将以下程序写成三目运算表达式是【】。if(a>b)max=a;elsemax=b;
若函数调用时,参数为基本数据类型的变量,下列叙述中正确的是()。
执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是()main(){chars[100]intc,i;scanf("%c",&C);scanf("%d",&i);
有如下程序;intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);pr
随机试题
房室结内折返性心动过速发作时先行治疗应选用的是()
因吃不洁食物而感染痢疾,食物是
A.Synder试验B.DentobuffStrip法C.Dentocult-LB法D.MSBB法E.激光荧光检测法变形链球菌的检测方法是
停用抗甲状腺药物的指征是
我国新中国成立初期的《土地改革法》《合作化法》等失去效力,是因为()。
《义务教育化学课程标准(2011年版)》指出:义务教育阶段的化学课程是科学教育的重要组成部分,应体现基础性。要给学生提供未来发展所需要的最基础的化学知识和技能,使学生从化学的角度初步认识物质世界,提高学生运用化学知识和科学方法分析、解决简单问题的能力,为学
课的类型一般分为两大类,即()。
在资本主义条件下,资本家所购买的是()
Theshortergrowingseasonsexpectedwithclimatechangeoverthenext40yearswillendangerhundredsofmillionsofalreadypo
A、Runningwhencaughtinastorm.B、Shelteringfromtherainunderatree.C、Takinganumbrellawithyou.D、Walkingintherain
最新回复
(
0
)