2015年二级c语言真题及答案,2015年计算机二级《C语言》精选练习题及答案(1)

2015年计算机二级《C语言》精选练习题及答案(1)

浏览次数:     时间:2015/11/17

1[填空题]给定程序中,函数fun的功能是:计算形参X所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

例如,有l0个正数:46、30、32、40、6、17、45、15、48、26,平均值为30.500000。

移动后的输出为:46、32、40A5、48、30、6、17、15、26。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANKl.C中。

不得增行或删行,也不得更改程序的结构!

试题程序:

50f1696f99adb6dd9bfc7e594ed05c4d.png

参考解析:

(1)sdN (2)j++ (3)一1

【解题思路】

填空l:由原程序可知,av代表的是平均值,而平均值的求法是所有数的总和除以数的个数,因而本空应该填写s/N。

填空2:y数组代表暂时存放X数组,if(X[i]>av)表达的是当x数组中的数大于平均值时,应该把这些大于平均值的数放在y数组的前半部分,因而此空应该填y[j++]。

填空3:此空表明当x[i]不等于什么时,X[i]中的数要赋值给Y数组,由题意可知此空只能填写一1。

2[单选题] 有以下程序:

1e80c391490369c10b5103f4f65197da.png

程序运行后的输出结果是( )。

A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World

参考答案:A

参考解析:P是指向二维字符数组第二行One+Dream!的数组指针,所以长度是l0,打印输出的也是该字符串。

3[简答题]学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

6e4086d07985a14961af57239b139fd4.png

5fe48b21a48eb555c98e0d93e8923bcd.png

参考解析:

ec460c7af2e64e7f67824cc98fdf104a.png

【考点分析】

本题考查:结构体数组操作;用循环判断结构查找数组中的最大值。

【解题思路】

该程序使用两个循环判断语句,第1个循环判断语句的作用是找出最大值;第2个循环判断语句的作用是找出与max相等的成绩(即最高成绩)的学生记录,并存入b中。

【解题宝典】’

对于如何找出数组中最大值(多个相等)的方法,我们已经不陌生。如何对结构体数组进行类似操作呢?

掌握以下语句:

8ec1a83ddca3edc0da6bf2263d8e4505.png

4[单选题] 有以下程序:

e70d86f50e43c8bc9b1035bdfa07f5fa.png

程序运行后的输出结果是( )。

A.7B.10C.8D.9

参考答案:D

参考解析:调用f(a,b)函数返回3,调用f(a,c)函数返回6,所以外层调用f(f(a,b),f(a,c));即调用f(3,6)函数返回9。

5[单选题] 有以下程序

20dfcb3d12c3566a5a1f354808f97702.png

af64e8f8019f56caba818f8c5e2b45c2.png

程序的输出结果是

A.9B.14C.10D.15

参考答案:D

参考解析:考查函数的递归调用,只需要一步一步递归调用fun函数即可,执行fun(5)=5+(4+(3+(2+fun(1))))=15。所以答案为D选项。

6[单选题] 有以下程序:

72735ccdc8e3bb5258f6be281d0cf95a.png

程序运行后的输出结果是( )。

A.0 3 0 4B.2 0 5 0C.3 3 4 4D.3 0 4 0

参考答案:D

参考解析:第一次循环i为0,i%2为o,执行switch(a[O]%2)中的ca∞0语句后内容即a[0]++,a[0]的值变成3;第二次循环i的值为l,i%2为1,执行ca∞1:a[i]=0;所以a[1]的值变成0;第三次循环i的值为2,i%2为0,执行switch(a[2]%2)中的ca∞1语句后的内容a[2]一一,8[2]的值变成4;第四次循环i的值为3,i%2为1,执行casel:a[i]=0;所以a[3]的值变成0。

7[单选题] 有以下程序

da646b2c5a5a3814c1da2036f70305a7.png

程序运行后的输出结果是

A.7B.6C.9D.2

参考答案:A

参考解析:宏定义只作简单的替换,输出中D(i+j)表达式执行运算为2*i+j+3,代人i,j,答案为A选项。

8[单选题] 有以下程序-

23e6bae9de45f36a6217ee49ecbe4536.png

程序运行后的输出结果是( )。

A.4B.2C.8D.1

参考答案:C

参考解析:在c语言中,需要在main函数后面定义函数,需要提前声明,否则调用报错,无法找到该函数。HI=f(f(f(n))),一共调用3次f()函数,f()函数是对n:it2,因此,结果是n}2}2$2,得到结果为8。故答案为c选项。

9[填空题]下列给定程序中,函数fun的功能是:从形参SS所指字符串数组中,删除所有串长超过k的字符串,函数 返回剩余字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。

请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.C中。

不得增行或删行.也不得更改程序的结构!

57809fad61de32523abcc2bf78ec03b7.png

参考解析:

(1)N

(2)k

(3)ss[i]

【考点分析】

本题考查:for循环语句;ff语句条件表达式;字符串拷贝 函数strcpy的使用。

【解题思路】

填空1:for循环语句作用是遍历字符串数组中的每一个字符串,所以循环变量i的循环条件是i

填空2:题目要求删除串长度小于k的字符串,所以if条件语句的条件表达式是len<=k。。填空3:通过字符串拷贝函数将串长不大于k的字符串另存,并记录个数。

【解题宝典】

字符串拷贝函数strcpy,其格式为:strcpy(字符数组名1,字符数组名2)功能:把字符数组2中的字符串拷贝到字符数组l中。字符串结束标识‘、0’也一同拷贝。字符数名2,也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。

10[简答题]请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和c的个数。

注意:部分源程序存在PROGl.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所缩写的若干语句。

试题程序:

0e384c3a248591d8d18cd8bbc13df60b.png

参考解析:

int i=0,j=0;//循环统计的下标

f6297709360dbb93510644c759b889cf.png

【考点分析】

主要考察考生对多重循环的理解与使用,以及字符串的比较。

【解题思路】

对二维数组的行列分别循环,行优先,查找数组中元素为A或者C,分别对其进行计数。

上一篇:2015年计算机二级《C语言》精选练习题及答案(2)

下一篇:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值