用考网 > 计算机类 > 计算机等级 > 资讯 > 《2015年计算机二级考试《C语言》提高练习题汇总三份》正文

2015年计算机二级考试《C语言》提高练习题汇总三份

用考网【资讯】 编辑:家辉 发布时间:2015-09-11 09:59:35

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

2015年计算机二级考试《C语言》提高练习题(1)

  输出结果是(  )。

  A.28B.27C.42D.4l

  参考答案:C

  参考解析:只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择c选项。

  2[填空题]数组xx[M]保存着一组3位数的无符号正整数,其元素的个数通过变量m传人函数proc()。请补充函数proc(),该函数的功能是:从数组xx中找出十位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数proc()返回。

  例如,当xx[8]={234 339 666 850 220 448 528 440)时,bb[5]={339 666 220 448 440}。

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

  请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

  试题程序:

2015年计算机二级考试《C语言》提高练习题(1)
2015年计算机二级考试《C语言》提高练习题(1)

  参考解析:

2015年计算机二级考试《C语言》提高练习题(1)

  【解析】要找出数组xx中十位和百位数字相等的所有整数,首先要得到数组中每一个整数的十位和百位数字,因此,【1】处填“(xx[i]/10)%10”;如果十位和百位数字相等,则将该整数放在数组bb ee,因此,【2】处填“bb[n++]=xx[i]”;符合条件的整数个数放在变量n中,返回给主函数,因此,【3】处填“n”。

  3[单选题] 有下列程序:

2015年计算机二级考试《C语言》提高练习题(1)

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

  A.45B.20C.25 D.36

  参考答案:C

  参考解析:在for循环语句中自变量i从0开始,每次自加2,执行s+一*(t+i)语句,因为C语言规定数组名做表达式相当于数组的首地址,也就是第一个元素的地址。因此,*(t+i)代表数组的第i+1个元素,所以程序运行的结果是1+3+5+7+9=25,即变量S的值等于25。

  4[简答题]下列给定程序中,函数proc()的功能是:根据整型形参n,计算如下公式的值。

2015年计算机二级考试《C语言》提高练习题(1)

  例如,若n=12,则应输出0.618026。

  请修改程序中的错误,使它能得出正确的结果。

  注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

  试题程序:

2015年计算机二级考试《C语言》提高练习题(1)

  参考解析:

  (1)错误:int proc(int n)

  正确:float proc(int n)

  (2)错误:for(i=2;i

  正确:for(i=2;i<=n;i++)

  由主函数中的调用以及函数proc()的返回值可知,函数proc()的返回值类型应为float型数据。因此,“intproc(int n)”应改为“float proc(int n)”;由题目中所给公式可知,循环中应该包含n的值,因此,“for(i=2;i

  5[单选题] 以下叙述中正确的是(  )。

  A.do-while语句构成的循环不能用其他语句构成的循环来代替

  B.do-while语句构成的循环只能用break语句退出

  C.用do-while语句构成循环时,只有在while后的表达式为非零时结束循环

  D.用do-while语句构成循环时,只有在while后的表达式为零时结束循环

  参考答案:D

  参考解析:选项A,可以用for循环代替;选项B,不满足条件时即条件的逻辑值为假(0)时退出,break也可以;选项C,while(条件),条件为真时进行循环,为假(0)时退出。

  6[单选题] 下面程序的运行结果是(  )。

2015年计算机二级考试《C语言》提高练习题(1)
2015年计算机二级考试《C语言》提高练习题(1)

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

  参考答案:B

  参考解析:本题中del(char*s)函数实现的功能是逐个读入s数组中的字符,如果遇到数字。则将数字存在s中,遇到非数字字符则跳过。所以最后输出的应该是字符串s中所有数字的个数。

  7[单选题] 若有以下程序段

2015年计算机二级考试《C语言》提高练习题(1)

  则程序段的输出结果是(  )

  A.5.170000B.5.175000C.5.169000D.5.168000

  参考答案:C

  参考解析:本题考查强制类型转换与输出格式。%f的输出格式是以带小数点的数学形式输出浮点数。首先计算x*1000,结果为5168.94然后+0.5,结果为5169.44。然后进行强制类型转换,转换成整型为5169,然后除以双精度数据1000,结果也为双精度数据5.169,输出时按照%f的格式输出,所以输出结果为5.169000。

  8[单选题] 表达式'5'一'1'的值是(  )。

  A.整数4B.字符4C.表达式不合法D.字符6

  参考答案:A

  参考解析:在C语言中,字符都是变为其对应的ASCⅡ码值来参加算术运算的,但字符间的相对位置关系还是不变的,字符5和字符1的ASCⅡ码值相差仍是4。

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

2015年计算机二级考试《C语言》提高练习题(1)

  程序的输出结果是(  )。

  A.62B.63C.33D.32

  参考答案:D

  参考解析:本题考查while循环。当i<20时,进入while循环体,循环体内的for循环实现的功能是i%l0==0,也就是说当i值为0或者10的倍数的时候,跳出循环,执行i+=11;a+=i;,若i值不是l0的倍数,则一直执行for循环i--。①判断i=0时,执行i+=11;a+=i;,i=11,a=11;②判断i=10时,跳出for循环,执行i+=11;a+=i;,i=21,a=32;③判断i=21>20,不符合题意,结束循环。

  10[单选题] 若有说明语句:double*P,a;则通过scanf语句正确给输入项读人数据的程序段是(  )。

  A.

2015年计算机二级考试《C语言》提高练习题(1)

  B.

2015年计算机二级考试《C语言》提高练习题(1)

  C.

2015年计算机二级考试《C语言》提高练习题(1)

  D.

2015年计算机二级考试《C语言》提高练习题(1)

  参考答案:D

  参考解析:double*P,a定义了一个指向双精度型的指针变量P和双精度型变量a,p=&a表示将变量a的地址赋给指针变量P;scanf(”%If”,p)表示用键盘输入的数赋给指针变量P所指向的地址单元中,scanf()函数要求在输入double型数据时,格式控制符必须用%lf。否则,数据不能正确输入。所以选项D正确。

Copyright @ 2006 - 2017 用考网 All Rights Reserved

用考网 版权所有 粤ICP备17065803号-4

回到顶部