计算机二级c语言题库及答案(3)
2016年计算机二级c语言题库及答案
计算机二级c语言选择题库
k=3 a=7
k=4 a=12
32.A。【解析】For循环完成的功能是把二维数组a的第一列的字母按从小到大排序,其他列的字母不变。
33.B。【解析】Funl是输出局部变量的值,fun2是把全局变量的值改成3和4,所以输出的结果是5634。
34.A。【解析】第一调用func函数时输出4,第二次调用func函数时num的值并不会释放,仍然是上次修改后的值4,第二次调用结果为8,所以输出结果是4 8。
35.C。【解析】Fun函数功能是新开辟内存空间存放a和b的地址,q的地址并没有变化,所以应该还是指向地址a。
36.D。【解析】F函数是为结构体数组的第二个数赋值,数组的第一个数没有变化,所以正确答案应选D。
37.B。【解析】用typedef说明的类型不是必须用大写,而是习惯上用大写。
38.A。【解析】函数返回值类型可以是简单类型和结构体类型。
39.B。【解析】2的二进制数为010,移两位后的二进制数为01000,转成十制数为8,(3||2)为真即1,8/ 1=8,所以结果为8。
40.D。【解析】这个是对文件的操作,把数组的数写到文件里,然后再从文件里倒序读出。所以输出结果为6,5,4,3,2,1。
二、基本操作题程序填空题
【1】str[i]>=’0’&&str[i]<=’9’【2】str[i]-’O’【3】n
【解析】题目中要求把字符串str中的数字字符转换成数字并存放到整型数组bb中。首先,应判断字符串str中每个字符是否是数字字符。因此,【1】处填“str[i]>=’0’&&str[i]<=’9’”将
每一个数字字符转化为数字放在整型数组bb中,因此,【2】处填“str[i]-’0’;由函数proc()可知,变量n中存放整型数组bb中的元素个数,最后要返回到主函数当中,因此,【3】处填’n’。
三、程序改错题
(1)错误:int proc(char str[])
正确:void proc(char str[])
(2)错误:str[j]=str[i++];
正确:str[j]=str[i];
【解析】由主函数中的函数调用可知,函数proc()没有返回值。因此,“int proc(char str[])”应改为“void proc(char str[])”;由函数proc()可知,if语句块完成将字符串str中的第i个元素与第j个元素相交换。因此,“str[j]=str[i++];”应改为“str[j]=str[i];”。
四、程序设计题
double proc(int m)
{
int i;
double s=0.0; //s是表示其和
for(i=1;i<=m;i++)
s=s+log(i); //计算s=ln(1)+ln(2)+ln(3)+…+ln(m)
return sqrt(s); //最后将其开平方的值返回到主函数中
}
【解析】由题目中所给表达式可知,表达式的值为m项表达式的和然后开平方。可以首先通过m次循环求得m项表达式的和,然后将其和开平方并返回到主函数当中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。