《2022年计算机二级C语言考前试题及答案6.docx》由会员分享,可在线阅读,更多相关《2022年计算机二级C语言考前试题及答案6.docx(3页珍藏版)》请在金锄头文库上搜索。
1、 2022年计算机二级C语言考前试题及答案6二、程序填空题(共18分)、 以下给定程序中,函数flm的功能是:将s所指字符串中的全部数字字符移到全部非数字字符之后,并保持数字字符串和非数字字符串原有的次序。 例如,s所指的字符串为“def35adh3kjsdt7”,执行后结果为“defadhajsdt3537”。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。留意:局部源程序在文件BLANKlc中。 不得增行或删行,也不得更改程序的构造! 三、程序修改题(共l8分) 以下给定程序中函数fun的功能是:用冒泡法对6个字符串进展升序排列。请改正程序中的错误,使它能得出正确的
2、结果。 留意:局部源程序在文件MODIlC中,不得增行或删行,也不得更改程序的构造! 四、程序设计题(共24分) 编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为l,则输出3。 留意:局部源程序在文件PROClC中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。 二、程序填空题 【参考答案】 (1)j+或j+=1或+j或j=j+1 (2)si=t1i(3)j 【考点分析】 此题考察:指针型变量;数组变量赋值;for循环语句。 【解题思路】 填空1:依据函致fun中的内容可知,
3、数组t1存储了s中的非数字字符,数组口存储了s中的数字字符,为了存储下一个数字字符,下标j要进展加1操作。 填空2:将S串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入si=t1i。 填空3:最终将敦字字符加到s串之后,并且i要小于数字的个数j。 三、程序修改题 【参考答案】 (1)fh(j=i+1;jsj)t-si;si=sjsj=t; 四、程序设计题【参考答案】int fun(char*ss,char c) inti=0; for(;*ss!=0;ss+)if(ss=c i+*求出*所指字符串中指定字符的个数* return i; 【考点分析】 此题考察:for循环语句遍历字符串,并通过if条件语句,推断字符串是否完毕。 【解题思路】 从字符串中查找指定字符,需要使用循环推断构造,循环语句用来遍历字符串,循环条件为字符串没有完毕,即当前字符不是0,推断语句用来推断当前字符是否为指定字符。最终返回指定字符的个数。