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

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

1、二级 C 语言-195 及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中,函数 fun 的功能是:将形参 s 所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。 例如,形参 s 所指的字符串为 abs5def126jkm8,程序执行后的输出结果为 22。 请在程序的下划线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h #includestring.h #includectype.h inc f

2、un(char*s) int sum=0; while(*s) /*found*/ if(isdigit(*s)sum+=*s- 1; /*found*/ 2; /*found*/ return 3; main() char s81;int n; printf(“/nEnter a string:/n/n“);gets(s); n=fun(s); printf(“/nThe result is:%d/n/n“,n); (分数:30.00)二、程序改错题(总题数:1,分数:30.00)2.下列给定的程序中,函数 fun 的功能是:计算并输出 k 以内最大的 10 个能被 13 或 17 整除的自

3、然数之和。k 的值由主函数传入,若 k 的值为 500,则函数的值为 4622。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h #includeconio.h #includestdlib.h int fun(int k) int m=0,mc=0,j; while(k2)(mc10) /*found*/ if(k%13=0)|(k%17=0) m=m+k;mc+; k-; /*found*/ return m; void main() system(“CLS“); printf(

4、“%d/n“,fun(500); (分数:30.00)_三、程序设计题(总题数:1,分数:40.00)3.编写函数 fun,它的功能是:求小于形参 n 同时能被 3 与 7 整除的所有自然数之和的平方根,并作为函数值返回。 例如,若 n 为 1000 时,程序输出应为:s=153.909064。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #includemath.h #includestdio.h double fun(int n) main()/*主函数*/ printf(“s=%f/n“,f

5、un(1000); (分数:40.00)_二级 C 语言-195 答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中,函数 fun 的功能是:将形参 s 所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。 例如,形参 s 所指的字符串为 abs5def126jkm8,程序执行后的输出结果为 22。 请在程序的下划线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h #includestring.h #

6、includectype.h inc fun(char*s) int sum=0; while(*s) /*found*/ if(isdigit(*s)sum+=*s- 1; /*found*/ 2; /*found*/ return 3; main() char s81;int n; printf(“/nEnter a string:/n/n“);gets(s); n=fun(s); printf(“/nThe result is:%d/n/n“,n); (分数:30.00)解析:48 s+ sum 解析 本题是把字符串中是数字字符转换成对应的数值并进行累加。 填空 1:“0“字符对应的 A

7、SCII 码值是 48,因此数字字符转换成对应数值时只要减去 48,即是该数字字符对应的数值,所以应填 48。 填空 2:判断完一个字符之后,将字符串指针移到下一个位置,所以应填 s+。 填空 3:返回累加和 sum,所以应填 sum。二、程序改错题(总题数:1,分数:30.00)2.下列给定的程序中,函数 fun 的功能是:计算并输出 k 以内最大的 10 个能被 13 或 17 整除的自然数之和。k 的值由主函数传入,若 k 的值为 500,则函数的值为 4622。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序

8、: #includestdio.h #includeconio.h #includestdlib.h int fun(int k) int m=0,mc=0,j; while(k2)(mc10) /*found*/ if(k%13=0)|(k%17=0) m=m+k;mc+; k-; /*found*/ return m; void main() system(“CLS“); printf(“%d/n“,fun(500); (分数:30.00)_正确答案:()解析:if(k%13=0)|(k%17=0) 解析 (1)C 语言中,x 能被 y 整除的表示方法是 x%y0,而不是题目中所表示的 x

9、%y0。所以,if(k%130)|(k%170)修改后的结果应该是答案所示信息。 (2)程序中缺少程序完整所需的“,此类信息在做题时一定要注意,可以在做题前先运行一下程序,这样明显的错误一般都会有错误信息显示出来。比如丢失“的错误信息是“Compound statement missing in function fun“。三、程序设计题(总题数:1,分数:40.00)3.编写函数 fun,它的功能是:求小于形参 n 同时能被 3 与 7 整除的所有自然数之和的平方根,并作为函数值返回。 例如,若 n 为 1000 时,程序输出应为:s=153.909064。 注意:部分源程序给出如下。 请勿

10、改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #includemath.h #includestdio.h double fun(int n) main()/*主函数*/ printf(“s=%f/n“,fun(1000); (分数:40.00)_正确答案:()解析:double fun( int n) double sum=0.0; int i; for(i=21; i=n; i+) if(i % 3=0) return sgrt(sum); 解析 本题考查算术运算的算法,首先利用一个 for 循环判断小于 n 且能同时被 3 和 7 整除的整数,并将满足条件的整数累加到 sum,之后调用 sgrt 函数计算 sum 的平方根,并作为函数的返回值。

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

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

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