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

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

1、二级 C 语言-355 及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.函数 fun 的功能是:从三个形参 a、b、c 中找出中间的数,并作为函数值返回。 例如,当 a=3,b=5,c=4 时,中间的数为 4。 注意:部分源程序给出如下。 请勿改动 main 函数和其他函数中的任何内容,仅在函数 fun 的下划线上填入所编写的若干表达式或语句,并把下划线删除。 试题程序: #includestdio.h int fun(int a,int b,int c) int t; /*found*/ t=(ab)?(b?b:(ac?c: 1):(a

2、c)? 2:(bc)?c: 3); return t; main() int a1=3,a2=5,a3=4,r; r=fun(a1,a2,a3); printf(“/nThe middle number is:%d/n“,r); (分数:30.00)二、程序改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun 的功能是:将大写字母转换为对应小写字母之后的第 5 个字母;若小写字母为 vz,则使小写字母的值减 21。转换后的小写字母作为函数值返回。例如,若形参是字母 A,则转换为小写字母 f;形参是字母 w,则转换为小写字母 b。 请改正函数 fun 中的错误,使它能得出正确的

3、结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h #includectype.h char fun(char c) if(c=“A“ if(c=“a“ else if(c=“v“ return c; main() char c1,c2; printf(“/nEnter a letter(A-Z):“); c1=getchar(): if(isupper(c1) c2=fun(c1); printf(“/n k nThe letter %c change to%c/n“,c1,c2); else printf(“/nEnt

4、er(A-Z)!/n“); (分数:30.00)三、程序设计题(总题数:1,分数:40.00)3.请编写函数 fun,该函数的功能是:计算并输出 s=1+(1+2 0.5 )+(1+2 0.5 +3 0.5 )+(1+2 0.5 +3 0.5 +n 0.5 )的值。 例如,若主函数从键盘给 n 输入 20 后,则输出为 S=534.188884。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #includemath.h #includestdio.h double fun(int n) void

5、main() int n; double s; printf(“/n/nInput n:“); scanf(“%d“, s=fun(n); printf(“/n/nS=%f/n/n“,s); (分数:40.00)_二级 C 语言-355 答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.函数 fun 的功能是:从三个形参 a、b、c 中找出中间的数,并作为函数值返回。 例如,当 a=3,b=5,c=4 时,中间的数为 4。 注意:部分源程序给出如下。 请勿改动 main 函数和其他函数中的任何内容,仅在函数 fun 的下划线上填入所编写的若干

6、表达式或语句,并把下划线删除。 试题程序: #includestdio.h int fun(int a,int b,int c) int t; /*found*/ t=(ab)?(b?b:(ac?c: 1):(ac)? 2:(bc)?c: 3); return t; main() int a1=3,a2=5,a3=4,r; r=fun(a1,a2,a3); printf(“/nThe middle number is:%d/n“,r); (分数:30.00)解析:(1) a (2) a (3) b解析 条件表达式,其一般形式为“表达式 1? 表达式 2: 表达式 3“。其求值规则为:如果表达式

7、 1 的值为真,则以表达式 2 的值作为条件表达式的值,否则以表达式 3 的值作为整个条件表达式的值。本题主要考查了条件语句的另一种形式:mn ? m:n,只要把嵌套的语句分开,不难得出答案。二、程序改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun 的功能是:将大写字母转换为对应小写字母之后的第 5 个字母;若小写字母为 vz,则使小写字母的值减 21。转换后的小写字母作为函数值返回。例如,若形参是字母 A,则转换为小写字母 f;形参是字母 w,则转换为小写字母 b。 请改正函数 fun 中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也

8、不得更改程序的结构! 试题程序: #includestdio.h #includectype.h char fun(char c) if(c=“A“ if(c=“a“ else if(c=“v“ return c; main() char c1,c2; printf(“/nEnter a letter(A-Z):“); c1=getchar(): if(isupper(c1) c2=fun(c1); printf(“/n k nThe letter %c change to%c/n“,c1,c2); else printf(“/nEnter(A-Z)!/n“); (分数:30.00)解析:(1

9、)c=c+32; (2)c=c+5; 解析 (1)从 ASCII 码值表中可以看出,小写字母的 ASCII 码值比对应大写字母的 ASCII 码值大 32,所以大写字母转换成小写字母要加 32。 (2)将大写字母转换成对应小写字母之后,再将其转换成其后面的第 5 个字母,所以要加 5。三、程序设计题(总题数:1,分数:40.00)3.请编写函数 fun,该函数的功能是:计算并输出 s=1+(1+2 0.5 )+(1+2 0.5 +3 0.5 )+(1+2 0.5 +3 0.5 +n 0.5 )的值。 例如,若主函数从键盘给 n 输入 20 后,则输出为 S=534.188884。 注意:部分源

10、程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #includemath.h #includestdio.h double fun(int n) void main() int n; double s; printf(“/n/nInput n:“); scanf(“%d“, s=fun(n); printf(“/n/nS=%f/n/n“,s); (分数:40.00)_正确答案:()解析:double fun(int n) int i; double s=0.0,s1=0.0; for(i=1;i=n;i+) s1=s1+pow(i,0.5); /*求每一项*/ s=s+s1; /*按公式求出 s*/ return s; 解析 本程序用 s1 来表示题中每个小括号内的值,第 1 项相当于有 1 个 10.5(它还是 1),第 2 项相当于第 1 项的值加上 20.5,第 3 项相当于第 2 项的值加上 30.5,依此类推。函数 pow(x,y)的功能是求出 x 的 y 次方,该函数已在库函数 中定义(即可直接使用)。程序中用变量 s 来表示总的结果,每次循环加 1 次 s1,即加 1 项。

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

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

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