1、计算机二级C语言考试真题汇总学习资料收集于网络,仅供参考模拟卷 11 填空题下列给定程序中,函数 fun 的功能是:在形参 S 所指字符串中寻找与参数 C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。例如,若 s 所指字符串为“ baacda”,c 中的字符为 a,执行后 S所指字符串为“ baaaacdaa”。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构 !试题程序:学习资料学习资料收集于网络,仅供参考参考解析:【参考答案】【解题思路】填空 1:for 语句循环条件是判断是
2、否到达字符串结尾,即当前字符是否为 0 。填空 2:while 语句用以确定字符串的长度,所以变量 n 赋初值为 0。填空 3:题目要求如果找到与参数 c 相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋值,本题目给出参数为 c。二、程序修改题2 简答题下列给定程序中函数 fun 的功能是:逐个比较 p、q 所指两个字符串对应位置上的字符, 并把 ASCII值大或相等的字符依次存放到 c 所指的数组中,形成一个新的字符串。例如,若主函数中 a 字符串为“aBCDeFgH”,b字符串为 Abcd ,则 c 中的字符串应为 “aBcdeFgH”。请改正程序中的错误,使它能得出正确的
3、结果。学习资料学习资料收集于网络,仅供参考注意:部分源程序在文件 MODl1.C中,不得增行或删行,也不得更改程序的结构 !参考解析:【参考答案】 (1)int k=0;(2)while(*p|*q)【考点分析】本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作 ;while 循环语句。【解题思路】(1) 变量 k 存放数组 e 的下标,因此应初始化为 0。(2)while 循环语句的循环条件是判断两个字符串是否到达结尾。三. 程序设计题3 简答题学习资料学习资料收集于网络,仅供参考规定输入的字符串中只包含字母和 *号。请编写函数 fun ,其功能是:将字符串尾部的 * 号全
4、部删除,前面和中间的 *号不动。例如,字符串中的内容为:“ *A*BC*DEF*G* ”. 删除后,字符串中的内容应当是:“*A*BC*DEF*G ”。在编写函数时,不得使用 C语言提供的字符串函数。注意:部分源程序在文件 PROG1.C中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。参考解析:【参考答案】学习资料学习资料收集于网络,仅供参考【考点分析】本题考查:删除字符串尾部 +号; 删除的主要思想是把不删除的字符保留起来。【解题思路】对于一个字符串要删除其尾部的 * 号,只需要在最后一个不是 *号的字符后面加上结束符号 0 。具体操作
5、为:首先找到字符串的结尾,然后从最后一个字符开始往前逐个判断是否为 *号,直到找到非* 号字符为止,最后在该字符后面加上结束符号 0 。模拟卷 2一、程序填空题1 填空题下列给定程序中,函数 fun 的功能是:从形参 ss 所指字符串数组中,删除所有串长超过 k 的字符串,函数返回剩余字符串的个数。 ss 所指字符串数组中共有 N个字符串,且串长小于 M。请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1.C中。不得增行或删行,也不得更改程序的结构 !学习资料学习资料收集于网络,仅供参考参考解析:【参考答案】 (1)N(2)k(3)ssi
6、【考点分析】本题考查: for 循环语句 ;if 语句条件表达式 ; 字符串拷贝函数 strepy 的使用。【解题思路】填空 l :for 循环语句作用是遍历字符串数组中的每一个字符串,所以循环变量 i 的循环条件是i填空 2:题目要求删除串长度小于 k 的字符串,所以 if 条件语句的条件表达式是 len=k 。学习资料学习资料收集于网络,仅供参考填空 3:通过字符串拷贝函数将串长不大于 k 的字符串另存,并记录个数。【解题宝典】字符串拷贝函数 strcpy ,其格式为: strepy( 字符数组名 1,字符数组名 2)功能:把字符数组 2 中的字符串拷贝到字符数组 l 中。字符串结束标识
7、0 也一同拷贝。字符数名 2,也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。二、程序修改题2 简答题给定程序 MODI1.C中,函数 fun 的功能是:判断输入的任何一个正整数 n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。例如:当输入 100 时,输出: 100=9+10+11+12+13+14+15+16100=18+19+20+21+22请改正函数 fun 中指定部位的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:学习资料学习资料收集于网络,仅供参考参考解析:【参考答案
8、】 (1)m=n;(2)m=m-c;c+;(3)if(m=0)【解题思路】(1) 每次循环,程序需要对 n 执行减去连续的正整数序列 来判断 n 是否刚好为 0,即 n 是否是连续的正整数序列之和,所以需要使用临时变量 m寄存 n 的值,每次循环对 m执行减运算操作,不满足继续下一轮。另外,程序声明变量 m时,未初始化它的值,所以此处应该修改为: m=n。(2) 语法错误。 C语言中每个语句必须以分号结束,所以应修改为: m=m-c;c+;。(3) 题目判断 n 是否是连续的正整数序列之和,若是,则输出所有序列,程序中 m依次减去连续的正整数,当 m为 0 时,表示 m(即 11) 满足条件,
9、再输出当前序列中的每个正整数,所以此处判断条件反了,应修改为: if(m=0) 。3 简答题请编写函数 fun ,其功能是:移动一维数组中的内容,若数组中有 n 个整数,要求把下标从 0P(含 P,P 小于等于 n-1) 的数组元素平移到数组的最后。例如,一维数组中的原始内容为: 1、2、3、4、5、6、7、8、9、10;P 的值为 3。移动后,一维数组中的内容应为: 5、6、7、8、9、10、1、2、3、4。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的内容,仅在函数 fun 的花括号中填入你编写的若干语句。试题程序:学习资料学习资料收集于网络,仅供参考参考解析:【参考答
10、案】【解题思路】本题要求把下标从 0P(含 P,P 小于等于 n-1) 的数组元素平移到数组的最后,可以根据输入的P值,通过 for 循环语句,将 P+1-n-1( 含 n-1) 之间的数组元素依次向前移动 P+1个存储单元,即Wj-1=wj; ,同时将 0P 个数组元素逐一赋给数组 wn-1 ,也就是通过语句 wn-1=ch; 来实现此操作的。学习资料学习资料收集于网络,仅供参考模拟卷 3一、程序填空题1 填空题给定程序中,函数 fun 的功能是:将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下画线处填入正确的内容并把下画线删
11、除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构 !试题程序:参考解析:学习资料学习资料收集于网络,仅供参考【参考答案】【解题思路】填空 1:由语句 fopen(filel.txt ,r) 可知,fp 应该是文件类型指针, 因此本空应该填写 FILE* 。填空 2:feof 函数只能对文件类型数据进行操作,因此本空应填写 fp 。填空 3:putchar() 代表输入一个字符,从 ch=fgetc(fp) 可以看出本题应该填写 ch。二、程序修改题2 简答题给定程序中函数 fun 的功能是: 首先把 b 所指字符串中的字符按逆序存放, 然后将 a 所指字
12、符串中的字符和 b 所指字符串中的字符,按排列的顺序交叉合并到 C所指数组中,过长的剩余字符接在 C所指的数组的尾部。 例如,当 a所指字符串中的内容为 “abcdefg ”,b 所指字符串中的内容为 “1234”时,C所指数组中的内容应为“ a4b3c2dlefg ”; 而当 a 所指字符串中的内容为“ 1234”,b 所指字符串的内容为“ abcdefg ”时,C所指数组中的内容应该为“ 192f3e4dcba ”。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 MODI1.C中,不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:学习资料学习资料收
13、集于网络,仅供参考参考解析:【参考答案】学习资料学习资料收集于网络,仅供参考【解题思路】(1) 由i 和 j 定义的初始值可知,此处应该判断 i 是否小于 j ,所以应改为 while(i(2) 此处将 if 错写成 If ,这个错误比较简单,但往往不容易发现。三. 程序设计题3 简答题请编写一个函数 void fun(int m ,int k ,int xx) ,该函数的功能是:将大于整数 m且紧靠 m的 k 个素数存入所指的数组中。例如,若输入 17,5,则应输出 19、23、29、31、37。注意:部分源程序在文件 PROG1.C中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。试题程序:学习资料学习资料收集于网络,仅供参考参考解析:【参考答案】学习资料学习资料收集于网络,仅供参考【解题思路】本题主要考查素数的判定方法, 如果一个数不能被除了 1 和其自身以外的数整除, 则这个数为素数。本程序使用循环语句控制需要判断的数,在循环体中判断该数是否为素数,若是则存入数组 xx中。学习资料
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1