c语言 大雨 班上多个同学准备,2015年计算机二级考试《C语言》提高练习题(7)

1[单选题] 若有C语言表达式2+3*4+7/3,以下选项中叙述正确的执行顺序是

A.先执行3*4得12,再执行2+12得14,再执行7/3得2,最后执行14+2得16

B.先执行3*4得12,再执行7/3得2.5,最后执行2+12+2.5得16.5

C.先执行7/3得2,再执行3*4得12,再执行12+2得l4,最后执行2+14得l6

D.先执行2+3得5,再执行5*4得20,再执行20+7得27,最后执行27/3得9

参考答案:A

参考解析:首先,在c语言中,乘除法优先级要高于加减法,其次,除法运算符"/"两边参加运算对象都是整数,运算结果要取整,故排除B,D选项;C语言中。因为“*”和“/”都满足从左到右的运算规则,故应先计算3*4=12。因此c排除,答案为A选项。

2[单选题] 设有以下函数:

voidfun(intn,char}s){……}

则下面对函数指针的定义和赋值均正确的是( )。

A.void(*pf)(int,char);pf=&fun;

B.void+pf( );pf=fun;

C.void*pf( );*pf=fun;

D.void(*pf)(int,char*);pf=fun;

参考答案:D

参考解析:函数的参数可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。函数名代表函数的人口地址,指向函数的指针应该定义为void(+pf)()。如果定义为void·pf(),则表示函数pf返回值为一个基类型为void的指针。因此D选项正确。

3[简答题]下列给定程序中,函数proc()的功能是:将str所指字符串中的字母转换为按字母序列的后续字母(但Z转化为A,z转化为a),其他字符不变。

请修改函数proc()中的错误,使它能得出正确的结果。

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

试题程序:

fc47b12213be63b3590e9c75cc9b7bca.png

7ace6c0807945bb485ba43f1dc73a962.png

参考解析:

(1)错误:while(*str!='@')

正确:while(*str)

(2)错误:(*str)++;

正确:str++;

1834c494dcb5887f17ef3bdb94bd30cc.png

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

A.每个后缀为.C的C语言源程序都可以单独进行编译

B.每个后缀为.C的C语言源程序都应该包含一个main函数

C.在C语言程序中,main函数必须放在其他函数的最前面

D.在C语言程序中,只有main函数才可单独进行编译

参考答案:A

参考解析:一个普通的C函数可以单独作为一个C的程序文件存在被包含到其他程序中。每个后缀为.C的C语言源程序都可以单独进行编译,所以B。D错误。main函数可以放在程序的开始。中间,最后,所以C错误。

5[简答题]编写函数void proc(int x,int pp[],int*n),它的功能是求出能整除x且不是奇数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参返回。

例如,若x中的值为30,则有4个数符合要求,它们是2 6 10 30。

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

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

试题程序:

3bae8db921919abdf622cbb5a9f6be78.png

cbde4a2ee0d9ec5e1fc32c123202d1c8.png

参考解析:

679133b339cee58cc2539a6081282b30.png

【解析】按照题目中要求,求出能整除x且不是奇数的各整数。首先判断小于等于整数x的所有偶数是否能被x整除,将能被x整除的奇数放入数组pp中。最后将数组pp中元素的个数返回到主函数当中。

6[单选题] 若有下列定义(设int类型变量占2个字节):int j=8,j=9;则下列语句:printf(”i=%%d,j=%%dn”,i,j);输出的结果是()。

A.i=8,j=9B.i=%d,j=%dC.i=%8,j=%9 D.8,9

参考答案:B

参考解析:本题考查函数的输出格式。在printf函数中,格式说明符中有两个“%”,表示将第1个%后面的字符原样输出,并不输出其对应的变量值。

7[单选题] 软件生命周期是指( )。

A.软件产品从提出、实现、使用维护到停止使用退役的过程

B.软件从需求分析、设计、实现到测试完成的过程

C.软件的开发过程

D.软件的运行维护过程

参考答案:A

参考解析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

8[单选题] 以下叙述中错误的是( )。

A.C程序在运行过程中所有计算都以二进制方式进行

B.C程序在运行过程中所有计算都以十进制方式进行

C.所有C程序都需要编译链接无误后才能运行

D.C程序中字符变量存放的是字符的ASCIl码值

参考答案:B

参考解析:C程序在运行过程中的所有计算都以二进制方式进行,所以B选项错误。

9[简答题]编写函数fun,其功能是:将所有大于1小于整数m的非素数存人XX所指数组中,非素数的个数通过k返回。

例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。注意:部分源程序在文件PROGl.C中。

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

d711c7e405a28b17a28cb7c3d6c46c81.png

参考解析:

11f951fbf16ca2a44b55d00bd3a4b88d.png

【考点分析】

本题考查:如何判断非素数;循环判断结构;数组的引用。

【解题思路】

题目要求将l—m之问的非素数存人数组中,应使用循环判断结构。循环语句用来遍历1一m之间的每个数,判断语句用来判断该数是否为素数,若不是素数,则将其存人数组中。这道题目是考查—个数是否为素数的简单延伸,只要掌握了判断素数的方法,问题便能顺利解决。

【解题宝典】

判定一个数是否为素数,即该数除了能被l和它本身外,不能被任何数整除。

代码实现为:

for(j=2;j

此语句需要熟记,很多判断素数的题目也可通过此法解决。

10[填空题]给定程序中,函数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中。

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

试题程序:

7573d24456966bf40f9f56626c6401ff.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。

更多精彩资讯请关注查字典资讯网,我们将持续为您更新最新资讯!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值