首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。 请在程序的下划
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。 请在程序的下划
admin
2013-09-15
69
问题
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void WriteText(FILE *);
void ReadText(FILE *);
mairl()
{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");
get s(str);
while(strcmp(str,"-1")!=0) {
/**********found**********/
fput s(_____2_____,fw); fput s("\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(ff))循环的作用是不断读取文件直到到达文件尾,每次最多读81个,将读到的数据放在str字符串里,并用printf输出到屏幕,因此第三处应该是printf("%s",str)。
转载请注明原文地址:https://kaotiyun.com/show/CMJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是
当用户要求输入的字符串中含有空格时,应使用的输入函数是
有以下程序 #include <stdio.h> void fun(int *a, int n)/* fun 函数的功能是将a所指数组元素从大到小排序*/ { int t, i,j; for (i=0; i<n-1 ;i
以下叙述中错误的是
有以下程序 #include <stdio.h> main() { int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++) m=m%j; printf
有以下程序段 int j; float y; char name[50]; scanf("%2d%f%s",&j,&y,name); 当执行上述程序段,从键盘上输入55566 7777abc后,y的值为
以下关于long、int和short类型数据占用内存大小的叙述中正确的是
以下程序按下现指定的数据给x数组的下三角置数,并按如下形式输出,请填空。437269158
若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是______。
随机试题
生产进度的动态控制属于以下哪一种生产作业控制()
桡骨和尺骨之间相对应的关节面不包括【】
Someproblemscanbereadilyidentifiedsimplybylookingaround.Theseproblemsconcernthepollutionofourenvironmentbytec
慢性粒细胞性白血病的临床特点是
下述为无机粉尘的是
培养真菌的最适温度是
经当事人申请可以不公开审理的案件有( )。
20世纪上半叶,发生了以()和()为核心的物理学革命,加上其后的宇宙大爆炸模型、DNA螺旋结构、板块构造理论、计算机科学,这六大科学理论的突破,共同确立了现代科学体系的基本结构。
十九大报告指出,青年兴则国家兴,青年强则国家强。青年要成为担当民族复兴大任的时代新人,根本要求是()
•Youwouldliketogotoacourse,onSmartFinancetraining.•Writeanotetoyourmanagingdirector:•sayingyourwillingn
最新回复
(
0
)