欢迎您来到未来学院,加入我们共同学习吧!
1 2 3 4
  • 当前位置:首页 > 考试中心 > 计算机考试 > 二级 > 二级C >

    二级C

    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中。

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

    试题程序:

    参考解析:

    (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[单选题] 有以下程序:

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

    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的花括号中填入你编写的若干语句。

    试题程序:

    参考解析:

    【考点分析】

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

    【解题思路】

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

    【解题宝典】’

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

    掌握以下语句:

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

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

    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[单选题] 有以下程序


    程序的输出结果是

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

    参考答案:D

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

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

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

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

    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[单选题] 有以下程序

    程序运行后的输出结果是

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

    参考答案:A

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

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

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

    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中。

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


    参考解析:

    (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的花括号中填入所缩写的若干语句。

    试题程序:

    参考解析:

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

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

    【考点分析】

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

    【解题思路】

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


    上一篇:2015年计算机二级《C语言》精选练习题及答案(2)
    下一篇:
    版权所有©安徽佰通教育科技发展股份有限公司 备案号:皖B2-20180049-5 电话:0551-65772438 地址:安徽省合肥市蜀山区蜀山新产业园区振兴路自主创新产业基地4栋2层203室