【计算机类职业资格】二级C语言-367及答案解析.doc

上传人:orderah291 文档编号:1325303 上传时间:2019-10-17 格式:DOC 页数:5 大小:31KB
下载 相关 举报
【计算机类职业资格】二级C语言-367及答案解析.doc_第1页
第1页 / 共5页
【计算机类职业资格】二级C语言-367及答案解析.doc_第2页
第2页 / 共5页
【计算机类职业资格】二级C语言-367及答案解析.doc_第3页
第3页 / 共5页
【计算机类职业资格】二级C语言-367及答案解析.doc_第4页
第4页 / 共5页
【计算机类职业资格】二级C语言-367及答案解析.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、二级 C 语言-367 及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是:找出 NN 矩阵中每列元素中的最大值,并按顺序依次存放于形参 b所指的一维数组中。 请在程序的下划线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h #define N 4 void fun(int(*a)N,int*b) int i,j; for(j=0;iN;i+) /*found*/ bi= 1; for(j=1;jN;j+

2、) /*found*/ if(bi 2aji) bi=aji; main() int xNN=12,5,8,7,6,1,9,3,1,2,3,4,2,8,4,3,yN,i,j; printf(“/nThe matrix:/n“); for(i=0;iN;i+) for(j=0;jN;j+)printf(“%4d“,xij); printf(“/n“); /*found*/ fun( 3); printf(“/nThe result is:“); for(i=0;iN;j+) printf(“%3d“,yi); printf(“/n“); (分数:30.00)二、程序改错题(总题数:1,分数:30

3、.00)2.下给定程序中,函数 fun 的功能是:将主函数中两个变量的值进行交换。例如,若变量 a 中的值为8,b 中的值为 3,则程序运行后,a 中的值为 3,b 中的值为 8。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构! 试题程序: #includestdio.h /*found*/ void fun(int x,int y) int t; /*found*/ t=x;x=y;y=t; main() int a,b; a=8; b=3; fun( printf(“%d,%d/n“,a,b); (分数:30.00)三、

4、程序设计题(总题数:1,分数:40.00)3.编写函数 int fun(int lim,int aa MAX),其功能是求出小于或等于 lim 的所有素数并放在 aa 数组中,并返回所求出的素数的个数。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #includestdlib.h #includeconio.h #includestdio.h #define MAX 100 int fun(int lim,int aaMAX) void main() int limit,i,Sum; int aa

5、MAX; system(“CLS“); printf(“输入一个整数“); scanf(“%d“, sum=fun(limit,aa); for(i=0;isum;i+) if(i%10=0 printf(“%5d“,aai); (分数:40.00)_二级 C 语言-367 答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是:找出 NN 矩阵中每列元素中的最大值,并按顺序依次存放于形参 b所指的一维数组中。 请在程序的下划线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,

6、也不得更改程序的结构! 试题程序: #includestdio.h #define N 4 void fun(int(*a)N,int*b) int i,j; for(j=0;iN;i+) /*found*/ bi= 1; for(j=1;jN;j+) /*found*/ if(bi 2aji) bi=aji; main() int xNN=12,5,8,7,6,1,9,3,1,2,3,4,2,8,4,3,yN,i,j; printf(“/nThe matrix:/n“); for(i=0;iN;i+) for(j=0;jN;j+)printf(“%4d“,xij); printf(“/n“)

7、; /*found*/ fun( 3); printf(“/nThe result is:“); for(i=0;iN;j+) printf(“%3d“,yi); printf(“/n“); (分数:30.00)解析:(1)a0i (2) (3)x,y 解析 填空 1:数组 b 用于存放每列元素中的最大值,首先将第 i 列的第一个数赋给 bi,然后用 bi与其他数进行比较,因此此空应填 a0i。 填空 2:if 条件表达式表示当 bi小于 aji时,就把 aji的值赋给 bi,因此此空应该填。 填空 3:fun 函数的调用,通过 fun(int (*a)N, int *b)可知,此空应该填 x

8、,y。二、程序改错题(总题数:1,分数:30.00)2.下给定程序中,函数 fun 的功能是:将主函数中两个变量的值进行交换。例如,若变量 a 中的值为8,b 中的值为 3,则程序运行后,a 中的值为 3,b 中的值为 8。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构! 试题程序: #includestdio.h /*found*/ void fun(int x,int y) int t; /*found*/ t=x;x=y;y=t; main() int a,b; a=8; b=3; fun( printf(“%d,%d

9、/n“,a,b); (分数:30.00)解析:(1)void fun(int *x, int *y) (2)t=*x; *x=*y; *y=t; 解析 (1)本题考查指针变量作函数参数。一般变量作参数时,不能改变实参的值,采用指针变量作为参数则能够改变实参的值。主函数中 fun 函数的调用方式表明 fun 函数的参数应当为指针类型。 (2)此处是一个变量交换操作错误,可知 x、y 是指针类型,变量类型不同,因而 x、y 不能与 t 进行值的交换。三、程序设计题(总题数:1,分数:40.00)3.编写函数 int fun(int lim,int aa MAX),其功能是求出小于或等于 lim 的

10、所有素数并放在 aa 数组中,并返回所求出的素数的个数。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #includestdlib.h #includeconio.h #includestdio.h #define MAX 100 int fun(int lim,int aaMAX) void main() int limit,i,Sum; int aaMAX; system(“CLS“); printf(“输入一个整数“); scanf(“%d“, sum=fun(limit,aa); for(

11、i=0;isum;i+) if(i%10=0 printf(“%5d“,aai); (分数:40.00)_正确答案:()解析:int fun(int lim, int aaMAX) int i,j,k=0; for(i=2;i=lim;i+) /*求出小于或等于 lim 的全部素数*/ for(j=2;ji;j+) if(i%j=0) break; if(j=i) aak+=i; /*将求出的素数放入数组 aa 中*/ return k; /*返回所求出的素数的个数*/ 解析 本程序使用 for 循环语句查找小于 lim 的所有数,使用内嵌的循环判断语句判断该数是否为素数。在做这道题时,需要重点掌握素数的判定方法: for(j2;ji;j+) if(i%j0) break;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1