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

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

1、二级 C 语言-189 及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是:将 a 所指 35 矩阵中第 k 列的元素左移到第 0 列,第 k 列以后的每列元素依次左移,原来左边的各列依次绕到右边。 例如,有下列矩阵: 若 k 为 2,程序执行结果为: (分数:30.00)二、程序改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun 的功能是:根据形参 m 的值(2m9),在 m 行 m 列的二维数组中存放如下所示规律的数据,由 main 函数输出。 例如,若输入 2,则输出: 若输入 4

2、,则输出: (分数:30.00)_三、程序设计题(总题数:1,分数:40.00)3.函数 fun 的功能是:将 a、b 中的两个正整数合并形成一个新的整数放在 c 中。合并的方式是:将 a 中的十位和个位数依次放在变量 c 的十位和千位上,b 中的十位和个位数依次放在变量 c 的个位和百位上。 例如,当 a=45,b=12。调用该函数后,c=5241。 注意:部分源程序给出如下。 请勿改动 main 函数和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #includestdio.h void fun(int a,int b,long*c) main()

3、inc a,b;long c; printf(“Input a,b:“); scanf(“%d%d“,a,b); fun(a,b,c); printf(“The result is:%ld/n“,c); (分数:40.00)_二级 C 语言-189 答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是:将 a 所指 35 矩阵中第 k 列的元素左移到第 0 列,第 k 列以后的每列元素依次左移,原来左边的各列依次绕到右边。 例如,有下列矩阵: 若 k 为 2,程序执行结果为: (分数:30.00)解析:k N-

4、1 temp 考点 本题关键字有:矩阵操作;for 循环语句;变量赋值。 解析 填空 1:外循环控制数组移动的次数,第 k 列左移到第 0 列,则需要移动 k 次,所以应填 k。 填空 2:矩阵共 N 列,所以应填 N-1。 填空 3:aiN-1中存放数组最左边元素的值,而最左边元素的值存放在 temp 中,所以应填 temp。二、程序改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun 的功能是:根据形参 m 的值(2m9),在 m 行 m 列的二维数组中存放如下所示规律的数据,由 main 函数输出。 例如,若输入 2,则输出: 若输入 4,则输出: (分数:30.00)

5、_正确答案:()解析:void fun(int aM,int m) ajk=(k+1)*(j+1); 考点 本题关键字有:函数定义;数组元素赋值。 解析 (1)从主函数和 fun 函数体中可知,a 是一个二维数组型变量,所以应改为 void fun(int aM,int m)。(2)根据输出可得出数组元素与行、列下标的关系,应改为 ajk=(k+1*(j+1);。三、程序设计题(总题数:1,分数:40.00)3.函数 fun 的功能是:将 a、b 中的两个正整数合并形成一个新的整数放在 c 中。合并的方式是:将 a 中的十位和个位数依次放在变量 c 的十位和千位上,b 中的十位和个位数依次放在

6、变量 c 的个位和百位上。 例如,当 a=45,b=12。调用该函数后,c=5241。 注意:部分源程序给出如下。 请勿改动 main 函数和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #includestdio.h void fun(int a,int b,long*c) main() inc a,b;long c; printf(“Input a,b:“); scanf(“%d%d“,a,b); fun(a,b,c); printf(“The result is:%ld/n“,c); (分数:40.00)_正确答案:()解析:void fun(int a,int b,long *c) *c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10); 考点 本题关键字有:指针型变量;一个数的各位上的数字的表示方法;已知一个数各位上的数字如何表示该数。解析 根据题意取出两个两位数各位上的数字,再组成一个新数。两位数除以 10 的结果即为十位数对 10 取余得到个位数。

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

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

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