表达式

算术运算符的优先级和结合性:

表达式的值要按照运算符的优先级从高到低顺序计算。

  • -i++ 等价于 -(i++)
  • e的2x次方 等价于 exp(2*x)
  • x = y =3 等价于 x=(y=3)

优先级

,<赋值运算符 < (? :) < || < && < | < ^ < & < (== , !=) < (<,<=,>=,>) < (<<,>>) < 算术运算符 < (! + - ~ ++ --) < ()

  • 比较运算符 左结合(从左到右结合)

关系运算符 > 逗号运算符

赋值表达式

右侧表达式的类型自动转换为左侧变量的类型

关系表达式

返回值是比较的结果,是一个逻辑量。C语言没有逻辑数据类型 ,所以她的数据类型是整型。

逻辑表达式

  • 逻辑运算符:(!, &&, ||)

条件表达式

exp1 ? exp2 : exp3;

  • (n>0) ? 2.9 : 1;
  • n=-10时。结果是1.0,以下是原因
  • 执行逻辑:先判断条件
  • 类型统一:分支类型不同时,自动隐式转换为兼容类型
  • 示例:n=-10 时,(n>0)?2.9:1 → 1 隐转为 1.0

逗号表达式

返回值是最右边的表达式的值

位运算

| ~ | 取反 |

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务