C语言常见错题

本文探讨了C语言中容易出错的问题,包括短路运算符的影响、浮点数在内存中的存储方式以及逗号运算符的执行顺序。解析了a++>2||b-->=4的运算逻辑,指出b的值保持不变。同时,指出了整数和实数在内存存储形式的不同,以及逗号运算符导致的输出结果。
摘要由CSDN通过智能技术生成

C语言常见错题

1、若int a=3, b=4; 则执行c=a++ >2 || b-- >= 4之后,b变量的值为(C)。
  A)3    B)0     C)4      D)2

这道题很容易误认识是A。
原本执行的语句顺序按照运算顺序是c=(((a++)>2)||((b–)>= 4)),先将a++,再判断与2的大小,然后执行b–,然后判断和4的大小,最后或运算赋值给c。但是值得注意的是||和&&为短路运算,如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算,同理,||左边为true,右边表达式不会执行。因此上面的式子中b–未被执行,答案为原来的4。

在这里插入图片描述

2、C程序中,整数和实数在内存中存放形式相同(×)

需要注意的是题目的整数指指没有小数部分的数据,实数指实型数据,与数学中的概念需要分开。整型数一般使用原码、反码、补码三bai种编码方式。实数型一般使用的是IEEE754编码方式。IEEE754中规定了实数符号位、指数位和尾数位,即有效数字位所占的二进制位数。

3、若x和y都为float型变量,且x=3.6, y=5.8 执行 
printf(%f”,(x,y)) 后输出结果为:(5.800000

是运算符,结合性为从左至右。最后()得到的是5.800000,因此输出5.800000.
在这里插入图片描述

^|&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值