1、2018 年计算机等级考试二级 C 语言程序题练习 27 及答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是将形参 s 所指 字符串中所有 ASCII 码值小于 97 的字符存入形参 t 所指字符数组中,形成一个新串,并统计出符合条 件的字符个数作为函数值返回。例如,形参 s 所指的字符串为 Abc1x56*, 程序执行后 t 所指字符数组中的字符串应为 A156*。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1. C 中。不得增行或删行,
2、也不得更改程序的结构! 给定源程序如下。(分数:30)(1)(分数:10)填空项 1:_(2)(分数:10)填空项 1:_(3)(分数:10)填空项 1:_二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1.C 中函数 fun 的功能是由形参 给定 n 个实数,输出平均值,并统计在平均值以上 (含平均值)的实数个数。例如,n=8 时,输入 193.199、195.673、195.757、 196.051、196.092、196.596、196.579、196.763。所得平均值为 195.838750,在平均值以上的实 数个数应为 5。请改正程序中的错误,使程序能输出正确的 结
3、果。注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_三、程序设计题(总题数:1,分数:40.00)编写函数 fun,其功能是根据以下公式求 P 的 值,结果由函数值返回。m 与 n 为两个正整数且要 求 mn。例如:m=12, n=8 时,运行结果为 495.000000。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_2018 年计算机等级考试二级 C 语言程序题练习 27 答案解析(总分:10
4、0.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是将形参 s 所指 字符串中所有 ASCII 码值小于 97 的字符存入形参 t 所指字符数组中,形成一个新串,并统计出符合条 件的字符个数作为函数值返回。例如,形参 s 所指的字符串为 Abc1x56*, 程序执行后 t 所指字符数组中的字符串应为 A156*。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构! 给定源程序如下。(分数:30)(1)(分数:10)填空项
5、 1:_ (正确答案:*s)解析:判断 s 所指向的字符串中的字符符合 条件时,将当前字符存放到 t 指向的字符串中,所 以应填*s。(2)(分数:10)填空项 1:_ (正确答案:s+)解析:判断完一个字符之后,将字符串的指针移到下一个位置,所以应填 s+。(3)(分数:10)填空项 1:_ (正确答案:n)解析:题目要求函数要返回符合条件的字符 个数 n,所以应填 n。二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1.C 中函数 fun 的功能是由形参 给定 n 个实数,输出平均值,并统计在平均值以上 (含平均值)的实数个数。例如,n=8 时,输入 193.199、195
6、.673、195.757、 196.051、196.092、196.596、196.579、196.763。所得平均值为 195.838750,在平均值以上的实 数个数应为 5。请改正程序中的错误,使程序能输出正确的 结果。注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_正确答案:((1 ) int j, c=0;double xa=0.0;(2 ) if (xj = xa)解析:(1 )本题着重考察考生对 C 语言基本语法以及 比较运算符的掌握情况。(2)本题中的第一个错误:在 C 语言中,不 同类型的变量赋值时应用分号分开,语句
7、“int j,c=0,double xa=0.0;” 应改为 ” int j,c=0;double xa=0.0;” 或相同作用的语句;本题中的第二个错误:在 C 语言中,判断大 于或等于的运算符应为 =,所以程序中的语句 ”if(xj=xa)“应改为“if (xj=xa)”或相同作用的语句。三、程序设计题(总题数:1,分数:40.00)编写函数 fun,其功能是根据以下公式求 P 的 值,结果由函数值返回。m 与 n 为两个正整数且要 求 mn。例如:m=12, n=8 时,运行结果为 495.000000。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_正确答案:()解析:本题考查算术运算的算法,先建立一个 jc 函数 来计算 m 的阶乘,函数中使用一个 for 循环来计算 m 的阶乘,并将计算结果作为函数的返回值。在 fun 函 数中调用 jc 函数来计算三个阶乘的除法。