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

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

1、二级 C 语言机试 73 及答案解析(总分:100.00,做题时间:90 分钟)一、B填空题/B(总题数:1,分数:30.00)1.请补充函数 fun(),该函数的功能是将字符串 tt 中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入“Are you come from Sichuan?”,则输入“are you come from sichuan?”。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdio.h #includestring.h #includ

2、econio.h char *fun(char tt) int i; for(i=0;tti;i+) if(tti=A) return (U 【3】 /U) ; main() char tt81; printf(“/nPlease enter a string:“); gets(tt); printf(“/nThe result string is: /n%s“, fun(tt); (分数:30.00)填空项 1:_二、B改错题/B(总题数:1,分数:30.00)2.下列给定程序中,fun()函数的功能是:根据形参 m,计算下列公式的值。 t=-1+1/2+1/3+1/4+1/m 例如,若输入

3、 5,则应输出 2.283333。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include conio.h #include stdio.h double fun(int m) double t=1.0; int i; for(i=2;i=m;i+) /*found*/ t+=1.0/k; /*found*/ return i; main() int m; clrscr(); printf(“/nPlease enter linteger number:“); scanf(“%d“, printf(“/

4、nThe result is%1f/n“, fun(m); (分数:30.00)填空项 1:_三、B编程题/B(总题数:1,分数:40.00)3.下列程序定义了 NN 的二维数组,并在主函数中自动赋值;请编写函数 fun(int aN),该函数的功能是:使数组左下半三角元素中的值全部置成 0。例如 a 数组中的值为 a=1 9 7 2 3 8 4 5 6 则返回主程序后 a 数组中的值应为 0 9 7 0 0 8 0 0 0 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序: #include conio

5、.h #include stdio.h #include stdlib.h #define N 5 int fun (int a N) main() int aN N,i,j; clrscr(); printf(“*The array*/n“); for(i=0;iN;i+) /*产生个随机的 5*5 矩阵*/ for(j=0;jN;j+) aij=rand()%10; printf(“%4d“, aij); printf(“/n“); fun (a); printf(“THE RESULT/n“); for(i=0;iN;i+) for(j=0;jN;j+) printf(“%4d“,aij

6、); printf(“/n“); (分数:40.00)_二级 C 语言机试 73 答案解析(总分:100.00,做题时间:90 分钟)一、B填空题/B(总题数:1,分数:30.00)1.请补充函数 fun(),该函数的功能是将字符串 tt 中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入“Are you come from Sichuan?”,则输入“are you come from sichuan?”。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdio

7、.h #includestring.h #includeconio.h char *fun(char tt) int i; for(i=0;tti;i+) if(tti=A) return (U 【3】 /U) ; main() char tt81; printf(“/nPlease enter a string:“); gets(tt); printf(“/nThe result string is: /n%s“, fun(tt); (分数:30.00)填空项 1:_ (正确答案:1 tti=Z 2 tti+=32 3 tt)解析:解析 填空 1;此处考查判断大写字母的方法,如果字符的 AS

8、CII 码大于字符 A 的 ASCII 码,并且小于字符 Z 的 ASCII 码,则此字符为大写字母。填空 2;考生必须掌握,大写字母转换为小写字母的方法,小写字母的 ASCII 码比大写字母的 ASCII 码大 32。填空 3:函数 fun 的返回值为字符型指针,而字符型的数组名就是字符型指针,所以返回 tt。二、B改错题/B(总题数:1,分数:30.00)2.下列给定程序中,fun()函数的功能是:根据形参 m,计算下列公式的值。 t=-1+1/2+1/3+1/4+1/m 例如,若输入 5,则应输出 2.283333。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动 main

9、 函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include conio.h #include stdio.h double fun(int m) double t=1.0; int i; for(i=2;i=m;i+) /*found*/ t+=1.0/k; /*found*/ return i; main() int m; clrscr(); printf(“/nPlease enter linteger number:“); scanf(“%d“, printf(“/nThe result is%1f/n“, fun(m); (分数:30.00)填空项 1:_ (正确答案

10、:错误:t+=1.0/k; 正确:t+=1.0/i;)解析:(2) 错误:return i; 正确:return t; 解析 该题目考查分母成等差数列递增的一个数学公式,我们先看看循环条件 for(i=2;i=m;i+),i 是从 2 开始递增到 m,所以 t 的值应该由 1.0/i 的值逐步循环叠加后的结果,而不是 t+=1.0/k;,return i;考查对程序的解读能力,当循环结束后(由输入 m 的值决定),函数值返回当前 t 的值。三、B编程题/B(总题数:1,分数:40.00)3.下列程序定义了 NN 的二维数组,并在主函数中自动赋值;请编写函数 fun(int aN),该函数的功能

11、是:使数组左下半三角元素中的值全部置成 0。例如 a 数组中的值为 a=1 9 7 2 3 8 4 5 6 则返回主程序后 a 数组中的值应为 0 9 7 0 0 8 0 0 0 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序: #include conio.h #include stdio.h #include stdlib.h #define N 5 int fun (int a N) main() int aN N,i,j; clrscr(); printf(“*The array*/n“); f

12、or(i=0;iN;i+) /*产生个随机的 5*5 矩阵*/ for(j=0;jN;j+) aij=rand()%10; printf(“%4d“, aij); printf(“/n“); fun (a); printf(“THE RESULT/n“); for(i=0;iN;i+) for(j=0;jN;j+) printf(“%4d“,aij); printf(“/n“); (分数:40.00)_正确答案:()解析:int fun (int aN) int i,j; for(i=0;iN;i+) for(j=0;j=i;j+) aij=0; *将数组左下半三角元素中的值全部置成 0*/ 解析 本题旨在考查控制数组中左下半三角元素的算法,也就是两个千篇一律的循环语句,希望学习者能够掌握消化。

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

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

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