1、+2018 年计算机等级考试二级 C 语言程序题练习 16 及答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是将 a 和 b 所指 的两个字符串分别转换成面值相同的整数,并进行 相加作为函数值返回,规定字符串中只含 9 个以下数字字符。例如,主函数中输入字符串 32486 和 12345, 在主函数中输出的函数值为 44831。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下
2、。(分数:30)(1)(分数:10)填空项 1:_(2)(分数:10)填空项 1:_(3)(分数:10)填空项 1:_二、程序改错题(总题数:1,分数:30.00)2.给定程序 M0DI1.C 中 fun 函数的功能是分别统计字符串中大写字母和小写字母的个数。 例如,给字符串 s 输入 AAaaBBM 23CCccccd,则应输出结果为 upper=6、 lower=8。 请改正程序中的错误,使它能计算出正确的结果。注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_三、程序设计题(总题数:1,分数:40.00)3.请编一个函数 fun
3、,函数的功能是使实型数保留 2 位小数,并对第三位进行四舍五入(规定实型数 为正数)。例如:实型数为 1234.567,则函数返回 1234.570000 ;实型数为 1234.564,则函数返回 1234.560000。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_+2018 年计算机等级考试二级 C 语言程序题练习 16 答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功
4、能是将 a 和 b 所指 的两个字符串分别转换成面值相同的整数,并进行 相加作为函数值返回,规定字符串中只含 9 个以下数字字符。例如,主函数中输入字符串 32486 和 12345, 在主函数中输出的函数值为 44831。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1)(分数:10)填空项 1:_ (正确答案:N 或 20)解析:变量 n 用于存储数组的下标,要通过 while 语句对数组进行赋值,数组的容量为 20,因 此循环条件应为n
5、20。(2)(分数:10)填空项 1:_ (正确答案:break)解析:通过一个 for 循环判断 x 是否与数组 中已存在的元素重复,若重复则跳出 for 循环,执行结束。(3)(分数:10)填空项 1:_ (正确答案:n)解析:若 for 循环是由 break 语句结束的,则 x 与数组中的元素重复,此时 i 必然小于 n;若 for 循环是因为循环变量 i 递增到某值,而不再满足循 环条件结束的,说明 x 的值与数组中的元素不重复, 则此时 i 的值等于 n。二、程序改错题(总题数:1,分数:30.00)2.给定程序 M0DI1.C 中 fun 函数的功能是分别统计字符串中大写字母和小写
6、字母的个数。 例如,给字符串 s 输入 AAaaBBM 23CCccccd,则应输出结果为 upper=6、 lower=8。 请改正程序中的错误,使它能计算出正确的结果。注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_正确答案:((1) sum=0;(2) scanf(“t%d“,)解析:该题考查对循环语句的掌握和对数组概念的理 解。本题的解题思路为:先从键盘输入一个 3x3 矩 阵,然后循环累加,执行循环语句中的 sum=sum+ai i;。因为变量 sum 用来存放累加后的结果,所以应对 其初始化为 0。第二处错误考査标准输入
7、函数 scanf 的格式,被赋值的变量前要加上取地址符“&”。三、程序设计题(总题数:1,分数:40.00)3.请编一个函数 fun,函数的功能是使实型数保留 2 位小数,并对第三位进行四舍五入(规定实型数 为正数)。例如:实型数为 1234.567,则函数返回 1234.570000 ;实型数为 1234.564,则函数返回 1234.560000。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_正确答案:()解析:要实现矩阵转置,即将右上角数组元素和左下 角数组元素对换,本题通过数组元素交换方法,完 成矩阵转置操作。因为对矩阵转置后仍然存回其本身,所以只能是循环矩阵中的一个角(本程序是右上半三角)。控 制右上半三角的方法是在内层循环中循环变量 j 从 i+1 或 i 开始。