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

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

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

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

程序填空题

1.给定程序的功能是:调用函数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,\\

程序修改题

2.给定程序MODI1.C中fun函数的功能是:求

s=aa…aa-…-aaa-aa-a

(此处aa…aa表示n个a,a和n的值在1至9之间)

例如a=3,n=6,则以上表达式为:

s=333333-33333-3333.333-33-3

其值是:296298

a和n是fun函数的形参,表达式的值作为函数值传回main函数。

请改正程序中的错误,使它能计算出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

1 #include<stdio.h>

2 long fun(int a,int n)

3 { int j;

4 /**********found**********/

5 long s=0,t=1;

6 for(j=0;j<n;j++)

7 t=t *10+a;

8 s=t;

9 for(j=1;j<n;j++){

10 /**********found**********/

11 t=t%10;

12 s=s-t;

13 }

14 return(s);

15 }

16 main()

17 { int a,n ;

18 printf(’’\nPlease enter a and n:’’);

19 scanf(’’%d%d’’,&a,&n);

20 printf(’’The value of function is:%id\n’’,fun(a,n));

21 }

(1)lonq s=0, t=0; (2)t=t/10;

解析:函数的功能是求s=aa…aa-…-aaa-aa-a。

(1)当进入第一循环,“t=t*10+a;”语句,如果输入的a是3,并且利用题目中给出的初始化值1,计算得出t的值为13,而实际应该是3,由此可知t的初值设置不正确,不应该是1。所以将“long s=0,t=1;”改为“long s=0,t=0;”。

(2)循环中通过语句“t=t%10;”来获得每一项,每循环一次,t的值应缩小10倍,这里应该用除以10来实现,而不能用“%”求余数。所以将“t=t%10;”改为“t=t/10;”。

程序设计题

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 {/*本函数用于打开文件,输入数据,调用函数,输出数据

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号