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

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

1、二级 C 语言机试 71 及答案解析(总分:100.00,做题时间:90 分钟)一、B填空题/B(总题数:1,分数:30.00)1.请补充 main 函数,该函数的功能是:从键盘输入 3 个整数,然后找出最大的数并输出。 例如,输入:12,45,43,最大值为 45。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。 试题程序: #includestdio.h #includeconio.h main() int a, b, c, max; clrscr(); printf(“/nlnput three n

2、umbers:/n“); scanf(“%d,%d,%d“, printf(“The three numbers are:%d, %d,%d/n“,a,b,c); if(ab) U 【1】 /U; else U 【2】 /U; if(maxc) U 【3】 /U; printf(“max=%d/n“,max); (分数:30.00)填空项 1:_二、B改错题/B(总题数:1,分数:30.00)2.下列给定的程序中,函数 fun()的功能是:计算并输出 k 以内最大的 10 个能被 13 或 17 整除的自然数之和。K 的值由主函数传入,若 k 的值为 500,则函数的值为 4622。 请改正程

3、序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h #include conio.h int fun(int k) int m=0,mc=0, j; while(k=2)mc+; k-; /*found*/ return m; main() clrscr(); printf(“%d/n “,fun(500); (分数:30.00)填空项 1:_三、B编程题/B(总题数:1,分数:40.00)3.请编写函数 fun(),函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中

4、赋予。 例如:若二维数组中的值为 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1 3 5 7 0 则函数值为61。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序: #includeconio.h #includestdio.h #define M 4 #define N 5 int fun( int a MN) main() int aaMN=1,3,5,7,9,2,9,9,9,4, 6,9,9,9,8,1,3,5,7,0; int i, j, y; clrscr(); printf

5、(“The original data is :/n “); for(i=0; iN;i+) for (j=0; jN;j+) printf(“%6d “,aaij); printf(“/n “); y=fun(aa); printf(“/nThe sun:%d/n “,y); printf(“/n“); (分数:40.00)_二级 C 语言机试 71 答案解析(总分:100.00,做题时间:90 分钟)一、B填空题/B(总题数:1,分数:30.00)1.请补充 main 函数,该函数的功能是:从键盘输入 3 个整数,然后找出最大的数并输出。 例如,输入:12,45,43,最大值为 45。 注

6、意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。 试题程序: #includestdio.h #includeconio.h main() int a, b, c, max; clrscr(); printf(“/nlnput three numbers:/n“); scanf(“%d,%d,%d“, printf(“The three numbers are:%d, %d,%d/n“,a,b,c); if(ab) U 【1】 /U; else U 【2】 /U; if(maxc) U 【3】 /U; pri

7、ntf(“max=%d/n“,max); (分数:30.00)填空项 1:_ (正确答案:1 max=a 2 max=b 3 max=c)解析:解析 填空 1:如果 a 大于 b,则 a 为 a,b 中的最大值,将 a 赋给 inax。填空 2:如果 a 小于b,则 b 为 a,b 中的最大值,将 b 赋给 max。填空 3:最后将 a,b 中的最大值与 c 进行比较,如果 c 更大,则 c 为 3 个数中的最大数,将 c 赋给 max,否则最大数 max 不变。二、B改错题/B(总题数:1,分数:30.00)2.下列给定的程序中,函数 fun()的功能是:计算并输出 k 以内最大的 10 个

8、能被 13 或 17 整除的自然数之和。K 的值由主函数传入,若 k 的值为 500,则函数的值为 4622。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h #include conio.h int fun(int k) int m=0,mc=0, j; while(k=2)mc+; k-; /*found*/ return m; main() clrscr(); printf(“%d/n “,fun(500); (分数:30.00)填空项 1:_ (正确答案:错误:if(k%13

9、=0)|(k%17=0) 正确:if(k%13=0)|(k%17=0))解析:(2) 错误:缺少大括号 正确:加 解析 能被某个数整除的表示方法是 x%y=0,而并非像题目中所表示的 if(k%13=0)|(k%17=0),所以, if(k%13=0)|(k%17=0)修改后的结果应该是答案所示信息,(2)中缺少程序完整所需的“”,此类信息在做题时一定注意,我们可以在上机考试的时候先运行一下程序,这样明显的错误一般都会有错误信息显示出来,比如丢失“”的错误信息是“Compound statement missing in function fun”,并在当前错误处停止光标,我们只要按回车键进行

10、编辑就可以了。三、B编程题/B(总题数:1,分数:40.00)3.请编写函数 fun(),函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 例如:若二维数组中的值为 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1 3 5 7 0 则函数值为61。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序: #includeconio.h #includestdio.h #define M 4 #define N 5 int fun( int a MN) main

11、() int aaMN=1,3,5,7,9,2,9,9,9,4, 6,9,9,9,8,1,3,5,7,0; int i, j, y; clrscr(); printf (“The original data is :/n “); for(i=0; iN;i+) for (j=0; jN;j+) printf(“%6d “,aaij); printf(“/n “); y=fun(aa); printf(“/nThe sun:%d/n “,y); printf(“/n“); (分数:40.00)_正确答案:()解析:int fun( int a M N) int i,j,sum=0; for(i=0;iM;i+) for(j=0;iN;j+) if(i=0|i=M-1|j=0|j=N-1) /*只要下标中有一个为 0 或 M-1 或 N-1,则它一定是周边元素*/ sum=sum+aij; /*将周边元素相加*/ return sum; 解析 本题采用逐一判断的方式,周边元素的下标一定有一个是 0 或 M-1 或 N-1,且只要下标中有一个为 0 或 M-1 或 N-1,则它一定是周边元素。

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

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

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