C/C++表达式和优先级

1、逗号表达式(依次计算,结果为最后一个式子值

是以逗开隔开的一系列表达式,其形式为:expr1, expr2, expr3, ..., exprN
其运算规则是,从左到右依次计算每个子式的值,并把最后一个子式的值作为整个表达式的值。

注:前几个表达式的值可能会影响到最后表达式中的变量,所以一定是依次计算

 

2、*=

b *= a + 3;相当于b = b * (a + 3 )

 

3、前置和后置:++/--操作

加在后先用,加在前先加再用

a++与++a

#include <stdio.h>

int main()

{

        int  a, b, c;

         a = 5; //此时 a的值是5

        b = a++; //这一步,a一开始为5, 先返回a的值给b,b就为5了,然后 a执行++,a就为6了。

        printf("a = %d, b = %d \n", a, b); //输出 a = 6, b = 5

        c = ++a; //这一步, a先执行++,a的值就为7了,然后再将a的值返回给c,c也等于7了。

        printf ("a = %d, c = %d \n", a, c); //输出 a = 7, c = 7

return 0;

}

特殊:

a++=b++

会先执行a=b,再执行a++和b++

 

4、||(前面是真后面不会执行)

设x、y、t均为int型变量,则执行语句:t=3; x=y=2; t=x++||++y; 后,变量t和y的值分别为

t=1 y=3

x++||++y执行后的结果是真,即1,然后赋值给t。因为是或运算,所以在判断x++时真后,后面的++y就不再执行了,所以y值没有变还是2

 

优先级

记住两个优先级即可:

①* /比+ -优先级高

!高于&&高于||

其余情况多加括号,哪怕自己懂,别人看了也不懂

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值