1、2018 年计算机等级考试二级 C 语言程序题练习 28 及答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是将形参 s 所指 字符串中的数字字符转换成对应的数值,计算出这 些数值的累加和作为函数值返回。例如,形参 s 所指的字符串为 abs5def126jkm8, 程序执行后的输出结果为 22。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1)(分数:10)填
2、空项 1:_(2)(分数:10)填空项 1:_(3)(分数:10)填空项 1:_二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1.C 中函数 fun 的功能是计算小 于形参 k 的最大的 10 个能被 13 或 17 整除的自然数 之和。k 的值由主函数传入,若 k 的值为 500,则函 数值为 4622。请改正程序中的错误,使程序能输出正确的 结果.注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_三、程序设计题(总题数:1,分数:40.00)编写函数 fun,它的功能是求小于形参 n 同时能 被 3 与 7 整除
3、的所有自然数之和的平方根,并作为函数值返回。例如,若 n 为 1000 时,程序输出应为 s=153.909064。注意:部分源程序保存在文件 PROG1 .C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_2018 年计算机等级考试二级 C 语言程序题练习 28 答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是将形参 s 所指 字符串中的数字字符转换成对应的数值,计算出这 些数值的累加和作为函数值返回。例如,形参
4、s 所指的字符串为 abs5def126jkm8, 程序执行后的输出结果为 22。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1)(分数:10)填空项 1:_ (正确答案:48)解析:0字符对应的 ASCII 码值是 48,因此 数字字符转换成对应数值时只要减去 48,即是该数 字字符对应的数值,所以应填 48。(2)(分数:10)填空项 1:_ (正确答案:s+)解析:判断完一个字符之后,将字符串指针 移到下一个位置,所以应填 s+。(3
5、)(分数:10)填空项 1:_ (正确答案:sum :)解析:返回累加和 sum,所以应填 sum。二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1.C 中函数 fun 的功能是计算小 于形参 k 的最大的 10 个能被 13 或 17 整除的自然数 之和。k 的值由主函数传入,若 k 的值为 500,则函 数值为 4622。请改正程序中的错误,使程序能输出正确的 结果.注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_正确答案:((1 ) if(k%13=0)ll(k%17=0)(2 ) k-;(3))解析:(1)
6、 C 语言中,x 能被 y 整除的表示方法是 x%y=0,而不是题目中所表示的 x%=0。所以应改 为 if(k%13=0)ll(k%17=0)。(2) 根据题意,计算的是 500 以内的最大的 10 个能被 13 或 17 整除的自然数之和,所以每判断一 次k 就减 1,所以为 k-。(3) 程序中缺少程序完整所必需的 ,此类信 息在做题时一定要注意,可以在做题前先运行一下 程序,这样明显的错误一般都会有错误信息显示出 来。比如丢失 的错误信息是“Compound statement missing in function fun”。三、程序设计题(总题数:1,分数:40.00)编写函数 fun,它的功能是求小于形参 n 同时能 被 3 与 7 整除的所有自然数之和的平方根,并作为函数值返回。例如,若 n 为 1000 时,程序输出应为 s=153.909064。注意:部分源程序保存在文件 PROG1 .C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_正确答案:()解析:本题考査算术运算的算法,首先利用一个 for 循 环判断小于 n 且能同时被 3 和 7 整除的整数,并将 满足条件的整数累加到 sum,之后调用 sqrt 函数计 算 sum 的平方根,并作为函数的返回值。