- 相关推荐
2016年计算机二级《C语言》操作试题及答案
一、程序填空题(共18分)
下列给定程序中,函数flm的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。
例如,s所指的字符串为“def35adh3kjsdt7”,执行后结果为“defadhajsdt3537”。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.c中。
不得增行或删行,也不得更改程序的结构!
二、程序修改题(共l8分)
下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!
三、程序设计题(共24分)
编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为l,则输出3。
注意:部分源程序在文件PROCl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。
参考答案
一、程序填空题
【参考答案】
(1)j++或j+=1或++j或j=j+1
(2)s[i]=t1[i](3)j
【考点分析】
本题考查:指针型变量;数组变量赋值;for循环语句。
【解题思路】
填空1:根据函致fun中的内容可知,数组t1存储了s中的非数字字符,数组口存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加1操作。
填空2:将S串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=t1[i]。
填空3:最后将敦字字符加到s串之后,并且i要小于数字的个数j。
二、程序修改题
【参考答案】
(1)fh(j=i+1;j&1t;6;j++)
(2)*(pstr+i)=}(pstr+j);
【考点分析】
本题考查:冒泡排序算法;for循环语句格式;指针数组。
【解题思路】
(1)此处考查for语句的格式,各表达式之间应用“;”隔开。
(2)此处考查用指针表示数组元素的方法,}(pstr+I)表示pstr所指向数组的第1个元素,同理}(pstr+j)表示pstr所指向数组的第j个元素。
【解题宝典】
冒泡排序算法,其基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。依次类推,完成排序。
用代码实现数组s[N]的升序排列为:for(i=0;i&1t;N;i++)
for(j=i十1;j&1t;N;j++)
if(s[i]>s[j]){t-s[i];s[i]=s[j]s[j]=t;}
三、程序设计题
【参考答案】
int fun(char*ss,char c)
inti=0;
for(;*ss!=’\0‘;ss++)if(}ss==c
i++/*求出*所指字符串中指定字符的个数*/
return i;
【考点分析】
本题考查:for循环语句遍历字符串,并通过if条件语句,判断字符串是否结束。
【解题思路】
从字符串中查找指定字符,需要使用循环判断结构,循环语句用来遍历字符串,循环条件为字符串没有结束,即当前字符不是‘\0’,判断语句用来判断当前字符是否为指定字符。最后返回指定字符的个数。
更多计算机二级相关试题推荐:
【计算机二级《C语言》操作试题及答案】相关文章:
计算机二级C语言模拟试题及答案08-28
计算机二级《C语言》模拟试题及答案10-24
计算机C语言试题及答案07-17
全国计算机二级c语言题库试题及答案07-19
2017年计算机二级c语言题库试题及答案09-19
计算机二级考试C++试题及答案09-20
计算机二级考试C++试题及答案08-14
计算机二级c语言题库及答案08-10
2017年计算机c语言二级考试试题及答案06-17