操作符总结 i = a++ && ++b && d++;

在这里还想提一件事

影响复杂表达式的三个主要因素

它可以分为三类 

优先级 结合性 是否控制求值顺序

1.优先级在这里不作说明 详见各类书籍的优先级表

2.结合性即 L-R 和 R-L 两种计算顺序

3. 是否控制求值顺序 此项比较特殊 主要运用于逻辑计算( &&  ||  ,)

举个栗子

int i = 0 , a = 0, b = 2, c = 3, d = 4;

i = a++ && ++b && d++;

上述code执行后 a b c d 的结果是什么?

1 2 3 4 

出人意料吧

第一个 a++ 的结果为a自增 但此表达式由于++在后的特点 a此时的值依然为0 &&中有0为0

固后面的表达式 不用计算

所以得到1234的结构

这就是是否控制求值顺序

 

#################################################################################

最近C语言的学习过程中对于操作符的使用越来越多 所以想来总结总结下

C语言的操作符细分下来应该有

算术操作符(+ - * % /)

移位操作符(<<二进制移位有x2的效果  >>二进制移位有/2的效果)

位操作符(& 有0为0   | 有1为1    ^ 按二进制位异或 不同为1 相同为0 )

赋值操作符(此处的赋值操作符存在复合效果 例如+=)

单目操作符(在这里强调sizeof是一个操作符 不是函数)
关系操作符( == < > != >= <=)
逻辑操作符(  ||   &&  在这里注意进行逻辑判断时如果前式的关系已经能判断出结果 那么后式将不进行计算)
条件操作(  exp1 ? exp2 :exp3)
逗号表达式(从左向右依次执行,整个表达式的结果是最后一个表达式的结果)

下标引用,函数调用和结构成员

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值