1. 赋值运算符优先级
赋值运算符的优先级是从右往左的,即先计算等号右边的表达式。
a = b = c; //等价于 a = (b = c);
2. 条件运算符优先级
条件运算符的优先级比赋值运算符低,它们的结合方向是从右往左的。 tax = (a >b) ? ((a >c) ? a c) ((b >c) ? b c);
3. 逻辑运算符优先级
逻辑运算符中,逻辑非的优先级,逻辑与的优先级次之,逻辑或的优先级。
if (a >b || c >b && a >c) {tf(“a或c大于b”);
4. 关系运算符优先级
关系运算符的优先级比逻辑运算符高,它们的结合方向是从左往右的。 b = 10;
if (a0) {tf(“b大于0并且a小于b”);
5. 算术运算符优先级
算术运算符中,乘除的优先级高于加减,同级运算符从左往右结合。 t result = a + b c; //等价于 a + (b c)
6. 位运算符优先级
位运算符中,移位运算符的优先级,其次是按位与、按位异或、按位或。例如
t a = 5;t result = a<>2; //等价于 (a<>2)
7. 其他运算符优先级
其他运算符包括sizeof、条件表达式、逗号运算符等,它们的优先级比较低,但是在实际编程中也经常用到。
掌握好运算符的优先级可以避免很多错误,提高编程效率。在实际编程中也可以根据需要使用括号来改变运算符的优先级。