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

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

1、二级 C 语言机试-273 及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中,函数 fun 的功能是:有 NN 矩阵,将矩阵的外围元素做顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组 r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,再使临时数组中的元素成为最后一列。例如,若 N=3,有下列矩阵:1 2 34 5 67 8 9操作后应为:7 4 18 5 29 6 3请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试

2、题程序:#includestdio.h#define N 4void fun(int(*f)(N1)int i,N;for(j=0;jN;j+)rj=t0j;for(j=0;jN;j+)/*found*/t0N-j-1=tj (1) ;for(j=0;jN;j+)fj0=tN-1j;/*found*/for(j=N-1;j=0; (2) )tN-1N-1-j=tjN-1;for(j=N-1;j=0;j-)/*found*/tjN-1= (3) ;main()int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i,j;printf(“/n

3、The original array:/n“);for(i=0;iN;i+)for(j=0;jN;j+)printf(“%2d“,tij);printf(“/n“);fun(t);printf(“/nThe result is:/n“);for(i=0;iN;i+)for(j=0;jN;j+)printf(“%2d“,tij);printf(“/n“);(分数:30.00)_二、程序改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun 的功能是:计算 s=f(-n)+f(-n+1)+f(0)+f(1)+f(2)+f(n)的值。例如,当 n 的值为 5 时,函数值应为 1040

4、7143。f(x)函数定义如下:(分数:30.00)_三、程序设计题(总题数:1,分数:40.00)3.编写函数 fun,其功能是计算:(分数:40.00)_二级 C 语言机试-273 答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中,函数 fun 的功能是:有 NN 矩阵,将矩阵的外围元素做顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组 r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,再使临时数组中的元素成为最后一列。例如,若 N=3,有下列矩阵:1 2 34 5 67 8 9操作后应为:7

5、4 18 5 29 6 3请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#includestdio.h#define N 4void fun(int(*f)(N1)int i,N;for(j=0;jN;j+)rj=t0j;for(j=0;jN;j+)/*found*/t0N-j-1=tj (1) ;for(j=0;jN;j+)fj0=tN-1j;/*found*/for(j=N-1;j=0; (2) )tN-1N-1-j=tjN-1;for(j=N-1;j=0;j-)/*found*/tjN-1= (3

6、) ;main()int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i,j;printf(“/nThe original array:/n“);for(i=0;iN;i+)for(j=0;jN;j+)printf(“%2d“,tij);printf(“/n“);fun(t);printf(“/nThe result is:/n“);for(i=0;iN;i+)for(j=0;jN;j+)printf(“%2d“,tij);printf(“/n“);(分数:30.00)_正确答案:(0 (2)j- (3)j)解析:解析 本题关键字有:数

7、组元素的引用;for 循环语句。二维数组 aNN的周边元素可表示成:a00 a0N-i-1 a0N-1a10 a1N-1aN-j-10 aN-j-1N-1aN-10 aN-1N-i-1 aN-1N-1微分析填空 1:NN 矩阵,t0N-j-1表示第一行元素,tj0表示第一列元素,第一列成为第一行,因此填入 0。填空 2:for 循环语句中,变量 j 的变化范围为 N-10,所以填入 j-。填空 3:将临时数组 r 中的元素赋值给矩阵最后一列元素。二、程序改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun 的功能是:计算 s=f(-n)+f(-n+1)+f(0)+f(1)+f

8、(2)+f(n)的值。例如,当 n 的值为 5 时,函数值应为 10407143。f(x)函数定义如下:(分数:30.00)_正确答案:(double f(double x)(2)return s;)解析:解析 本题关键字有:函数定义;C 语言语法。函数定义一般形式为“类型标识符函数名(形式参数列表)”,其中类型标识符指明了函数的类型,函数的类型实际上就是函数返回值的类型。微分析(1)f 函数通过条件选择语句计算 f(x)的值,fun 函数循环累加 f(n)。函数 f(double x未定义返回值类型。(2)return 语句缺少分号。三、程序设计题(总题数:1,分数:40.00)3.编写函数 fun,其功能是计算:(分数:40.00)_正确答案:(double fun(int m)inf i;double s=0.0;for(i=1;i=m;i+)s=s+log(i); /*计算 s=ln+ln(2)+ln(3)+ln(m)*/retum sqrt(s)/*返回 s 的平方根*/)解析:解析 本题关键字有:计算表达式的值;平方根函数 sqrt。微分析使用循环计算从 1m 备数的对数的和,log 函数的形参为 double 型变量,而循环变量为整数,需要进行强制转换,通过 sqrf 函数返回平方根。

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

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

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