1、2018 年计算机等级考试二级 C 语言程序题练习 4 及答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是将形参 n 中各位为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。例如,输入一个整数 27638496,函数返回值为 64862。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1c 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1).(分数:10)填空项 1:_(2).(分数:10
2、)填空项 1:_(3).(分数:10)填空项 1:_二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1C 中函数 fun 的功能是将长整型数中每一位为奇数的数依次取出,构成一个新数放在 t中。高位仍在高位,低位仍在低位。例如,当 s 中的数为 87653142 时,t 中的数为 7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30.00)_三、程序设计题(总题数:1,分数:40.00)编写一个函数 fun,它的功能是实现两个字符串的连接(不使用库函数 strcat),即把 p2 所
3、指的字符串连接到 p1 所指的字符串后。例如,分别输入下面两个字符串。FirstStringSecondString程序输出:FirstString 一一 SecondString注意:部分源程序保存在文件 PROG1C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_2018 年计算机等级考试二级 C 语言程序题练习 4 答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是将形参 n 中各位为偶数的数取出,并按原来从高位到
4、低位相反的顺序组成一个新的数,并作为函数值返回。例如,输入一个整数 27638496,函数返回值为 64862。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1c 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1).(分数:10)填空项 1:_ (正确答案:0)解析:定义变量 t 用来存放某数的各个位数值,此处判断 t 是否为偶数,即对 2 求余结果是否为 0。(2).(分数:10)填空项 1:_ (正确答案:10*x)解析:将 t 作为 x 的个位数,原来 x 的各个位上升到十位,即 x=10*x
5、+t。(3).(分数:10)填空项 1:_ (正确答案:n/10)解析:每循环一次,通过除法运算,去掉数值最后一位。二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1C 中函数 fun 的功能是将长整型数中每一位为奇数的数依次取出,构成一个新数放在 t中。高位仍在高位,低位仍在低位。例如,当 s 中的数为 87653142 时,t 中的数为 7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30.00)_正确答案:(1)*t=0;(2)if(d%2!=0)或 if(d%2=1)解析:
6、(1)由函数定义可知,变量 t 是指针变量,所以对 t 赋初值 0 是不对的。因为 t 指向的是存放新数的变量,所以此处应给新数赋初值 0,即*t=0。(2)变量 d 表示数 s 各个位上的数,此处的 if 条件应为判断 d 是否为奇数。三、程序设计题(总题数:1,分数:40.00)编写一个函数 fun,它的功能是实现两个字符串的连接(不使用库函数 strcat),即把 p2 所指的字符串连接到 p1 所指的字符串后。例如,分别输入下面两个字符串。FirstStringSecondString程序输出:FirstString 一一 SecondString注意:部分源程序保存在文件 PROG1C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_正确答案:()解析:本题用两个循环完成操作,第 1 个循环的作用是求出第 1 个字符串的长度,即将 i 指到第 1 个字符串的末尾。第 2 个循环的作用是将第 2 个字符串的字符连到第 1 个字符串的末尾。最后在第 1 个字符串的结尾加上字符串结束标识0。