0


【c++教程】3.13-运算符的优先级

什么是优先级

在我们很早接触到数学运算的时候,我们就知道要先算乘除,再算加减。也就是运算是有先后顺序的,这就是优先级,在程序中也是一样的,运算符是具有优先级的。

优先级的用途

如果,你能够熟练掌握优先级的话,那么可以写出非常漂亮的程序。

a == 1 and b == 2

(a == 1) and (b == 2)

比如说,如果你对优先级有所了解,那么很容易写出第一行这样的程序。但是如果你对优先级一无所知的话,那么可能写的程序就像是第二行,自然是没那么美观的。

即使你记不住运算符的优先级,也不要紧,大多数情况下,只要多使用括号,就可以解决这一问题了。多使用括号并没什么坏处,因此,如果你记不住运算符的优先级,那么你没有必要非要记住。

事实上,在大多数情况下,你如果真的非常了解运算符的优先级,写出了非常漂亮的程序,这种程序反而可能会给人造成困扰。因为,如果你的程序有阅读者的话,阅读的人很可能没办法像你一样熟练的掌握运算符的优先级,可能会给读者阅读的时候造成困扰。

同类运算符的优先级

算数运算符:乘,除,求余的优先级相同,高于加,减

自增自减运算符:后自增/自减的优先级,高于前自增/自减

赋值运算符:所有赋值运算符的优先级相同

逻辑运算符:逻辑非的优先级最高,其次是逻辑与,最后是逻辑或

比较运算符:大于/大于等于,小于/小于等于的优先级高于,等于和不等于

位运算符:按位取反的优先级最高,其次是按位与,再其次是按位异或,最后是按位或

成员和成员指针运算符:成员运算符的优先级要高于成员指针运算符

不同类运算符的优先级

1,自增自减运算符的优先级高于所有逻辑运算符和算数运算符。

2,除逻辑非和按位非运算符优先级相同以外,所有的位运算符的优先级高于逻辑运算符。

3,算数运算符的优先级要高于比较运算符和逻辑运算符。

4,比较运算符的优先级要高于逻辑运算符。

5,逻辑运算符的优先级要高于赋值运算符。

6,赋值运算符的优先级要高于逗号运算符

因此,普遍规律为

自增自减运算符 > 逻辑非和按位非 > 算数运算符 > 比较运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符

一般来说,只要记住了同级和不同级运算符优先级的普遍规律,就足以满足写程序需要了。一般不需要特意去查询或者记忆c++运算符优先级表​​​​​​​。

点击查看全部c++教程

标签: c++

本文转载自: https://blog.csdn.net/light_of_cc/article/details/120657754
版权归原作者 「已注销」 所有, 如有侵权,请联系我们删除。

“【c++教程】3.13-运算符的优先级”的评论:

还没有评论