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

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

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

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

程序填空题

1.给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。

例如,形参s所指的字符串为:abcdef35adgh3kjsdf7。输出结果为:4。

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

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

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

1 #include<stdio.h>

2 void fun(char *s,int *t)

3 { int i,n;

4 n=0;

5 /**********found**********/

6 for(i=0;__1___ !=0;i++)

7 /**********found**********/

8 if(s[i]>=’0’&&S[i]<= __2__)n++;

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

10 __3__;

11 }

12 main()

13 {char s[80]=’’abcdef35adgh3kjsdf7’’;

14 int t;

15 printf(’’\nThe original string is:%s\n’’,s);

16 fun(s,&t);

17 printf(’’\nThe result is:%d\n’’,t);}

(1)s[i]

(2)’9’

(3)*t=n

解析:搜索整个字符串,判断s[i]>=’0’且s[i]<=’9’,满足该条件后,计数变量加1,因此,第一空:循环终止条件是达到了字符串的尾部,字符串以“\0”(或NULL)结束,故第一空处应为s[i]。第二空:数字字符的判断是s[i]>=’0’且s[i]<=’9’,故第二空处应为“’9’”。第三空:这里是将数字字符出现的次数存放在形参t里,n记录了数字字符的个数,而形参t是指针变量,故第三处应为“t=n”。

程序修改题

2.给定程序MODI1.C中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。

例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

1 #include<stdio.h>

2 int fun(int *x,int y)

3 {

4 int t;

5 /**********found**********/

6 t=x;x=y;

7 /**********found**********/

8 return(y);

9 }

10 main()

11 {int a=3,b=8;

12 printf(’’%d%d\n’’,a,b);

13 b=fun(&a,b);

14 printf(’’%d%d\n’’,a,b);

15 }

(1)t=*x;*x=y;

(2)return(t);

解析:(1)根据fun中x变量的定义,x为指针型变量,所以第一个错误标识下的“t=x;x=y;”改为“t=*x;*x=y;”。(2)交换之后t中存放原来x的值,x存放原来y的值,这里应该是返回原来x的值,所以第二个标识下的“return(y);”应该改为“return(t);”或者“return t;”。

程序设计题

3.请编写函数fun,它的功能是:求出1到1000之间能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。

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

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

1 #include<stdio.h>

2 void fun(int *a,int *n)

3 {

4

5 }

6 main()

7 { int aa[1000],n,k;

8 void NONO();

9 fun(aa,&n);

10 for (k=0;k<n;k++)

11 if((k+1)%10==0)

12 printf(’’\n’’);

13 else

14 printf(’’%5d’’,aa[k]);

15 NONO();

16 }

17 void NONO()

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

19 int aa[1000],n,k;

20 FILE *fp;

21 fp=fopen(’’out.dat’’,’’w’’);

22 fun(aa,&n);

23 for (k=0;k<n;k++)

24 if((k+1)%10==0)

25 fprintf(fp,’’\n’’);

26 else

27 fprintf(fp,’’%5d’’,aa[k]);

28 fclose(fp);

29 }

1 int i;

2 *n=0;

3 for(i=7;i<1000; i++)

4 if(((i%7)==0||(i%11)==0)&&(i%77)!=0) a[(*n)++]=i;

解析:进入fun函数,判断是否被7整除→判断是否被11整除→并且不被77整除→按要求返回计算结果。首先,*n置0,设置为累计器,计算符合条件的数的个数。然后,通过循环,判断小于1000的每一个整数是否符合题干中的要求。其中的判断条件能否被7或者被11整除为:i%7==0||i%11==0,不能被11和7同时整除为:i%77!=0,它们之间的并关系就用&&连接,最后结果即为:(i%7==0||i%11==0)&&i%77!=0。最后,将符合条件的整数存入数组a中,同时对木n进行自加,返回结果。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号