c语言20152016真题及答案,2016年计算机二级《C语言》基础练习题及答案(15)

2023-05-16

11[单选题]有以下程序

8272f67adc7df8eb26b1f7ba0d1e15b0.png

程序运行后的输出结果是

A.3B.9C.OD.-12

参考答案:D

参考解析:本题考查目的是运算符的结合性和优先级。首先计算a*a,结果为9,然后执行a=a-9,即3-9,结果为-6,然后执行a=(-6)+(-6),即8=的值为-12。所以选择D。

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

97329d86d53de00b4420f57b3ac89df2.png

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

A.*2*6B.}3*5一C.}5D.*7

参考答案:D

参考解析:do……while语句是先执行后判断,所以第一次先执行循环体,判断i%3==1的条件,由于i为5,所以余数为2,条件不成立,执行i++,i的值为6,判断while条件为真;第二次执行循环体,同第一次循环的执行过程一样,i的值变为7,判断while条件为真;第三次执行循环体,此时i%3==1,条件成立,再判断i%5==2也成立,打印*与i的值,即*7,然后执行break语句,跳出循环。所以选择D选项。

13[单选题] 若有定义:double x;,则表达式IX=0,x+10,x+十的值是( )。

A.11.0B.10.0C.0.0D.1.0、

参考答案:C

参考解析:c语言中,逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式。逗号运算符的优先级是所有运算符中级别最低的,逗号运算符保证左边的子表达式运笑结束后才进行右边的子表达式的运算。也麓是辽,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算,并以最右边表达式值作为整个逗号表达式的值。后置自增运算:k++表示先运算,后自■:曹置自增运算:++k表示先自加,后运算。因此,表达式l;O,I+10。x++的计算过程为首先赋值x=0,然后将x加l0,包是并不对x进行赋值,最后计算x++,并,根据后置自增运算的计算结果,即为x=0.0。故答案为C选项。

14[单选题] 设有定义:

double a,b,C;

若要求通过输入分别给a,b、c输入1、2、3,输入形式如 下(注:此处口代表一个空格)

口口1.0口口2.0口口3.0则能进行正确输入的语句是

A.scanf("%If%If%If",a,b,C.;

B.scanf("%If%If%If",&a,&b,&C.;

C.scanf(”%f%f%f",&a,&b,&C.;

D.scanf("%5.1If%5.1If%5.1If",&a,&b,&C.;

参考答案:B

参考解析:本题考查scanf函数的格式化输入,scanf函数的一般形式为scanf(格式控制,变量1地址,变量2地址,…),其中,格式字符串要与数据类型保持一致,由于变量double型,所以格式字符串中应为%/if,后面应该为变量地址,所以需要加上符号“&”。所以选择B。

15[单选题] 有以下程序

993128c1a33c07932898af6571e2f112.png

程序的输出结果是

A.8 4B.9 6C.9 4D.8 5

参考答案:A

参考解析:本题主要考查局部变量和全局变量的区别,题目中函数之外定义的d为全局变量,函数fun内定义的d为局部变量。所以执行fun函数后,打印出8,执行完d+=a++;后d变为4,所以答案为A。

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

d8a5e53889aac1d67ba05e88f63a032f.png

程序输出( )。

A.编译有错B.0,0,0,3C.1,1,2,0D.0,1,2,0

参考答案:A

参考解析:c语言规定else总是和之前与其最近的且不带else的if配对,题目中,if(a=1)b=1;C=2;默认省的else已经配对了,下一句else没有匹配,if为非法else。另外if的判断条件a=1是赋值语句,不是判断语句,此处也会产生编译错误。因此答案为A选项。

17[单选题] 以下叙述中正确的是

A.数组下标的下限是1

B.数组下标的下限由数组中第一个非零元素的位置决定

C.数组下标的下限由数组中第一个被赋值元素的位置决定

D.char el,c2,*c3,c4[40];是合法的变量定义语句

参考答案:D

18[单选题] 有以下程序

9215b0d6aa9fd6e12319cbb2ebb6f8e8.png

程序的输出结果是

A.1 5 0B.3 5 7C.1 4 7D.3 6 9

参考答案:B

参考解析:程序首先初始化二维数组X[3][3],然后通过3次for循环,输出x[0][2]、x[1][1]和x[2][0]的值,即3、5、7。因此B选项正确。

19[单选题] 以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。

A.可以是任意合法的表达式

B.只能是整数0或非0整数

C.可以是结构体类型的数据

D.只能是整数0或1

参考答案:A

参考解析:C语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择A。

20[单选题] 设已有定义:float x;,则以下对指针变量P进行定义且赋初值的语句中正确的是( )。

A.int*p=(float)x;

B.float*p=&x;

C.float p=&x;

D.float=1024;

参考答案:B

参考解析:指针是用来存放地址的变量,用(类型名+指针变量名)的形式定义。赋值时应将某个变量地址即8Ⅸ赋给指针变量,所以选择B。

相关推荐:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c语言20152016真题及答案,2016年计算机二级《C语言》基础练习题及答案(15) 的相关文章

随机推荐