C语言 错题集

1.以下程序的输出结果是( )
main()
{
int x=0,y=0,z=0;
if(x=y+z)
printf("***");
else
printf("###");
}

A: 有语法错误,不能通过编译
B: 输出:***
C: 可以编译,但不能通过连接,所以不能运行
D: 输出:###

标准答案:D 我的答案:B
赋值语句中赋值表达式的值与最左值一致,所以x=0,输出###

2.有如下程序段
int a=14,b=15,x;
char c=‘A’;
x=(a&&b)&&(c<‘B’);
执行该程序段后,x的值为(D )。

A: true
B: false
C: 0
D: 1
标准答案:D 我的答案:B
a=14,b=15,为真,a&&b=真,A的ASCII码小于B的,c<B为真,真&&真为非零值,所以选D

3.若int i=10;执行下列程序后,变量i的正确结果是(D)
switch(i){
case 9:i+=1;
case 10:i+=1;
case 11:i+=1;
default:i+=1;
}

A: 10
B: 11
C: 12
D: 13
标准答案:D 我的答案:B
没有break语句来停止则程序将一直运行,直到运行到default,所以最后i的值为13

4.若有以下定义,则数值不为3的表达式是__________。
int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;
A: x[3]
B: p1=x+3,*p1++
C: p1=x+2,*(p1++)
D: p1=x+2,*++p1

标准答案:C 我的答案&#x

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值