课程信息
课程名称:物联网/嵌入式工程师
章节名:逗号运算符和三目运算符及运算符的优先级
课程内容概述
1. 逗号运算符和三目运算符
1.1 逗号运算符
ret = 表达式1,表达式2,表达式3,…,表达式n
功能:按顺序执行表达式,并将表达式n的结果,作为整个表达式的值赋值给ret。
在所有的运算符中,逗号表达式的优先级最低。
1.2 三目运算符
ret = 表达式1 ? 表达式2 : 表达式3 ;
功能:判断表达式1是否为真,若是为真则执行表达式2,并把表达式2最终的结果复制给ret,
否则,就执行表达式3,并把表达式3最终的结果复制给ret,
2. 运算符的优先级
2.1 运算符的优先级
运算符及含义 | 结合规律 |
---|---|
[ ] () -> 后缀++ 后缀– | 从左向右 |
前缀++ 前缀-- sizeof & * + -(负号) ~ ! | 从右向左 |
强制类型转换 | 从右向左 |
* / % (算术乘除) | 从左向右 |
+ - (算数加减) | 从左向右 |
<< >> (位移) | 从左向右 |
< <= > >= | 从左向右 |
== != | 从左向右 |
&(位逻辑与) | 从左向右 |
^(位逻辑异或) | 从左向右 |
| (位逻辑或) | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
? : (三目运算符) | 从左向右 |
= ^= /= %= += -= <<= >>= &= ^= != | 从右向左 |
, (逗号运算符) | 从左向右 |
2.2 助记口诀
初等单目一二级
乘除求余加减移
关系等于不等于
按位与来异或或
逻辑与或条件弱
赋值逗号一点破
学习心得
逗号运算符和三目运算符及运算符的优先级也掌握了
逗号运算符实际编程时使用的不多,可能会在面试题或者笔试题中考察,了解即可;
三目运算符使用相对比较多,有些简单的操作使用时,可以优化代码行数,逻辑复杂是还是推荐使用if,以提高代码的可读性;
运算符的优先级,了解即可,把这么多的运算符集中到一起使用的概率不高,当个字典使吧,不过老师提供的记忆口诀真心不错!