首页 > 全部 > 二级C语言 > 国家二级C语言机试(操作题)模拟试卷344

国家二级C语言机试(操作题)模拟试卷344

本单篇文档共3887字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 6176人下载
价格: 1.00 原价:¥7.00
收藏

国家二级C语言机试(操作题)模拟试卷344

程序填空题

1.给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

1 #include<stdio.h>

2 #include<string.h>

3 #include<stdlib.h>

4 void WriteText(FILE *);

5 void ReadText(FTLE *);

6 main()

7 { FILE *fp;

8 if((fp=fopen(’’myfile4.txt’’,’’w’’))==NULL)

9 {printf(’’open fail!!\n’’);exit(0);}

10 WriteText(fp);

11 fclose(fp);

12 if((fp=fopen(’’myfile4.txt’’,’’r’’))==NULL)

13 {printf(’’open fail!!\n’’);exit(0);}

14 ReadText(fp);

15 fclose(fp);

16 }

17 /**********found**********/

18 void WriteText(FTLE __1__ )

19 { char str[81];

20 printf(’’\nEnter string with-1 to end:\n’’);

21 gets(sir);

22 while(strcmp(str,’’-1’’)!=0){

23 /**********found**********/

24 fputs(__2__,fw);fputs(’’\n’’,fw);

25 gets(str);

26 }

27 }

28 void ReadText(FILE *fr)

29 { char str[81];

30 printf(’’\nRead file and output to screen:\n’’);

31 fgets(str,81,fr);

32 while(!feof(fr)) {

33 /**********found**********/

34 printf(’’%s’’,__3__);

35 fgets(str,81,fr);

36 }

37 }

(1)*fw (2)str (3)str

解析:第一空:此处是补充函数参数名,参数类型已知是FILE文件指针,“fputs(’’\n’’,fw)”是将字符“\n”写入文件,可知fw是文件指针名,因此第一空处应该是“void Write Text(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)”。

程序修改题

2.给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:

(1)double fun(double a,double x0) (2)if(fabs(x1-x0)>0.00001)

解析:函数的功能是应用递归算法求某数a的平方根。

(1)主函数中“fun(x,1.0)”,x是double型变量,1.0是浮点数,可知fun有两个double型参数,而第一标识下“dotmle”不是C语言关键字,所以应将“double fun(double a,dounle x0)”改为“double fun(double a,double x0)”。

(2)第二个标识下的if语句是判断进行递归运算的条件,第二标识下变量x0没有定义,根据题意,这里是判断x1和x0的差值的绝对值是否比0.00001大,所以第二个标识下“if(fabs(x1-x0)>0.000011”改为“if(fabs(x1-x0)>0.00001)”。

程序设计题

3.编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。

xn+1=cos(xn)

迭代步骤如下:

(1)取x1初值为0.0;

(2)x0=x1,把x1的值赋给x0;

(3)x1=cos(x0),求出一个新的x1;

(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。

程序将输出结果Root=0.739086。

注意:部分源程序在文件PROG1.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

1 #include<math.h>

2 #include<stdio.h>

3 double fun()

4 {

5

6 }

7 main()

8 {

9 void NONO();

10 printf(’’Root=%f\n’’,fun());

11 NONO();

12 }

13 void NONO()

14 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/

15 FILE *wf;

16 wf=fopen(’’out.dat’’,’’w’’);

17 fprintf(wf,’’%f\n’’,fun());

18 fclose(wf);

19 }

1 float x0, x1=0.0;

2 do {

3 x0=x1;

4 x1=cos(x0);

5 } while(fabs(x0-

本文档预览:3600字符,共3887字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(操作题)模拟试卷344

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号