c语言中百分之11d是什么意思,2015年计算机二级《C语言》考前押题密卷(2)

21有以下计算公式

3929162df9cf5231ffff108c6e06bf22.png

若程序前面已在命令中包含math.h文件,不能够正确

计算上述公式的程序段是(  )。

A.if(x>=0)y=-sqrt(x);

else y=sqrt(-x);B.y=sqrt(x)

if(x<0)y=sqrt(~x);C.if(x>=0)y—sqrt(x);

If(x<0)y=sqrt(一x);D.y=sqrt(x>=0?x:-x);

参考答案:B

参考解析:选项A、C、D分别用一个ifelse语句、两个if语句和条件表达式表达了计算公式的含义。

22当输入为"hello?"时,下面程序的执行结果是(  )。

#includedstdio.h>

main()

( char C;

c=getchar();

while(c!='?')

(putchar(c);break;

)

}

A.RvfsuB.hC.?D.hello

参考答案:B

参考解析:本题考查getchar()函数与putchar()函数,通过9etchar()函数读入字符,并通过putchar()函数将字符逐个输出,当用户输入“?”时停止输出,且C是一个字符变量只占一个字节。

23下列选项中不是C语句的是(  )。

A.{ int i;i++;printf(”%d\n”,i);)B.;C.a=5,c=10D.{;}

参考答案:C

参考解析:C项缺少分号。因为赋值语句两个标志: 赋值(就是”=”)和语句(加上”;”)。

24若有下列定义和语句:

int u一011,v一0x11,w一11:

printf(”%o,%x,%d\n”,u,v,w):

则输出结果是(  )。

A.9,17,11B.9,11。11C.11,11,11D.11,17。11

参考答案:C

参考解析:“%O”表示八进制无符号型输出整型数据(即不带前导o);“%X”表示以十六进制无符号型输出整型数据(即不带前导ox或OX);“%d”表示输出带符号的十进制整型数。

25执行下列程序中的输出语句后,a的值是(  )。

main()

{ int a;

printf(”%dkn”,(a=2*3,a*5,a+7));

)

A.17B.37C.6D.13

参考答案:C

参考解析:本题考查逗号表达式。程序输出时输出一个%d,所以输出第一个a的值与后续无关。

26下列选项中不会引起二义性的宏定义是(  )。

A.#define S(x)X*x

B.#define S(x) (x)*(x)

C.#define S(x) (x*x)

D.#define S(x) ((x)*(x))

参考答案:D

参考解析:本题考查参数的宏替换。为避免二义性有些参数表达式必须加括号,否则在实参表达式替换时,会出现错误。例如x为(m+n)时替换A:m+rl*m+n,所以选项D最符合条件。

27下列程序的输出结果是(  )。

#include%stdio.h>

main()

{ int i;

for(i=1;i<=10,i++)

f if((i*i>=20)&&(i*i<=100))

break;

)

print[(”%d\n”,i*i);

)

A.49B.36C.25D.64

参考答案:C

参考解析:本题考查for循环及if语句。当执行到第一个满足(i*i>=20)&&(i*i-<=100)这个条件的i出现时,break跳出循环,执行下列的printf语句。

28有以下程序:

#included stdio.h>

main()

{ char cl='1',c2='2';

cl=getchar():c2=getchar();putchar(c1);putchar

(c2);

}

当程序运行时输入a后,下列叙述中正确的是(  )。

A.变量c1被赋予字符a,c2被赋予回车符

B.程序将等待用户输入第2个字符

C.变量c1被赋予字符a,c2中仍是原有字符2

D.变量c1被赋予字符a,c2中将无确定值

参考答案:A

参考解析:本题考查getchar()函数,从终端读入一个字符作为函数值。在输入时,空格、回车符都将作为字符读入,而且只有在用户敲入回车键时,读入才开始执行。所以当输入a后,变量cl被赋予字符a,而变量c2被赋予回车符。

29有如下程序:

main()

( int x=1,a=O,b=0;

switch(x)

{

CgtSC 0:b++;

case 1:a++;

CaSe 2:a++;b++;

)

printf(”a=%d.b=%d\n”,a.b);

}

该程序的输出结果是(  )。

A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2 b=2

参考答案:A

参考解析:当X为1时,执行casel,a自加等于l,因为casel后没有break,接着执行case2,此时a的值为2,b自加为1,故选择A选项。

30有以下程序:

#include

main()

{ int k=-3:

if(k<=0)printf(”****\n”)

else printf(”&&&&\n”);

}

程序的输出结果是(  )。

A.输出####B.输出&&&&C.输出####&&&&D.有语法错不能通过编译

参考答案:D

参考解析:{intk=一3;if(k<=0)printf(”*”**\n”)elseprintf(”&&&&\n”);)中printf(”****\rl”)缺少分号,因此会报编译错误。

相关推荐:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值