1. 程式人生 > >運算子優先順序和結合性

運算子優先順序和結合性

一、運算子優先順序記憶的以下原則:

1. 整體上來說,初級運算子 > 單目運算子 > 雙目運算子 > 三目運算子(條件運算子) > 逗號運算子。

2. 所有賦值運算子優先順序都相同,賦值運算子只高於逗號運算子。

3. 唯一一個三目高於雙目:三目運算子 > 賦值運算子(包括複合運算子) 。

4. 其他雙目運算子的優先順序:

    算數運算子 > 移位運算子 > 關係運算符 > 按位運算子 > 邏輯運算子。

------------> 所以綜合以上原則,優先順序排序如下:

初級運算子 >  

單目運算子

算數運算子(先乘除,後加減) > 

移位運算子

關係運算符(先> >= < <=,再== !=) > 

按位運算子(~按位取反是單目,不在此範圍內) > 

邏輯運算子(!邏輯非是單目,不在此範圍內)> 

條件運算子

逗號運算子

二、初級運算子有:

 () 圓括號

 [] 下標運算子

 .  結構體或者類的成員運算子)

 -> 指向結構體或者類的成員運算子

三、運算子的結合性

1. 自右向左: 單目運算子,三目運算子,賦值運算子(複合賦值運算子)。

2. 自左向右:除了以上3種,其他都是自左向右。