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

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

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

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

程序填空题

1.给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。规定在__2__处使fa指向函数f1,在__3__处使fb指向函数f2。当调用正确时,程序输出:

x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000

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

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

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

1 #include<stdio.h>

2 double f1(double x)

3 { return x *x;}

4 double f2(double x,double y)

5 { return x*y;)

6 double fun(double a,double b)

7 {

8 /**********found**********/

9 __1__(*f)();

10 double r1,r2;

11 /**********found**********/

12 f=__2__;/* point fountion f1 */

13 r1=f(a);

14 /**********found**********/

15 f=__3__;/* point fountion f2 */

16 r2=(*f)(a,b);

17 return r1+r2;

18 }

19 main()

20 {double x1=5,x2=3,r;

21 r=fun(x1,x2);

22 printf(’’\nx1=%f,x2=%f,x1*x1+ x1*x2=%f\n’’,x1,x2,r);

23 }

(1)double (2)f1 (3)f2

解析:第一空:由“f=__2__;/*point fountion f1*/”和“r1=f(a);”可知f是一个函数的指针,且f指向的函数的返回值为double型,函数的指针的定义方式是:类型标识符(*指针变量名)(),故第一空处的函数的指针的定义为“double”。第二空:“f=__2__;/*point fountion f1 */”和“r1=f(a);”可知f指向的函数只有一个参数a,因此f指向f1函数,即第二空处为“f1”。第三空:“f=__3__;/* point fountion f2*/”和“r2=(*f)(a,b);”,f指向的函数有两个参数,因此f是指向f2函数,故第三空处应为“f2”。

程序修改题

2.给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为:7654321时,t中的数为:7531。

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

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

1 #include<stdio.h>

2 /**********found**********/

3 void fun(long s,long t)

4 { long s1=10;

5 *t=s%10;

6 while(s>0)

7 { s=s/100;

8 *t=s%10 * s1+*t,

9 /**********found**********/

10 s1=s1*100;

11 }

12 }

13 main()

14 {long s,t;

15 printf(’’\nPlease enter s:’’); scanf(’’%ld’’,&s);

16 fun(s,&t);

17 printf(’’The result is:%1d\n’’,t);

18 }

(1)void fun (1ong s, long *t) (2)s1=s1*10;

解析:(1)根据“*t=s%10”判断,t应该是个指针变量,所以“void fun(long s,long t)”语句中的t只需改为“void fun(10ng s,long *t)”。

(2)分析函数内的循环过程可知s1的用途是每次将*t扩大,记录每次得到的奇数位的数字的权值,s1的权值每次增加1位,因此第二个标识下应该是“s1=s1*10;”。

程序设计题

3.请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。

例如,若输入:17,则应输出:

4 6 8 9 10 12 14 15 16。

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

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

1 #include<stdio.h>

2 void fun(int m,int *k,int xx[])

3 {

4

5 }

6 main()

7 {

8 int m,n,zz[100];

9 void NONO();

10 printf(’’\nPlease enter an integer number between 10 and 100:’’);

11 scanf(’’%d’’,&n);

12 fun(n,&m,zz);

13 printf(’’\n\nThere are%d non-prime numbers less than%d:’’,m,n);

14 for(n=0; n<m; n++)

15 printf(’’\n%4d’’,zz[n]);

16 NONO();

17 }

18 void NONO()

19 {

20 /*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/

21 int m,n,zz[100];

22 FILE *rf,*wf;

23 rf=fopen(’’in.dat’’,’’r’’);

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

25 fscanf(rf,’’%d’’,&n);

26 fun(n,&m,zz);

27 fprintf(wf,’’%d\n%d\n’’,m,n);

28 for(n=0; n<m; n++)

29 fprintf(wf,’’%dkn’’,zz[n]);

30 fclose(rf);

31 fclose(wf);

32 }

1 int i,j;

2 int t=0; //初始

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号