C語言搬運工--運算符&&結合性

參考資料:

說說C語言運算符的“優先級”與“結合性”

總結一下,本文主要闡述了以下幾點:
(1)優先級決定表達式中各種不同的運算符起作用的優先次序,而結合性則在相鄰的兩個運算符的具有同等優先級時,決定表達式的結合方向;
(2)後自增(後自減)從語義效果上可以理解爲在做完自增(自減)之後,返回自增(自減)之前的值作爲整個表達式的結果值;
(3)準確來講,優先級和結合性確定了表達式的語義結構,不能跟求值次序混爲一談。

逆波蘭表示法
在逆波蘭記法中,所有操作符置於操作數的後面,因此也被稱爲後綴表示法。逆波蘭記法不需要括號來標識操作符的優先級。

逆波蘭結構由弗里德里希·鮑爾(Friedrich L. Bauer)和艾茲格·迪科斯徹在1960年代早期提議用於表達式求值,以利用堆棧結構和減少計算機內存訪問。

自增(increment)、自減(decrement)操作符前綴形式與後綴形式的區別

來自侯捷翻譯的《more effective c++》,不太懂.


個人總結:

1.優先級決定了表達式中不同優先級的運算符的執行順序,而優先級相同的運算符由結合方向決定執行順序;

2.爲了考慮效率,將執行順序已經確定的表達式由中綴表示法轉化爲後綴表示法,逐個壓棧操作數,遇到操作符取出對應個數的操作數,將結果再次壓棧;

3.遇到複雜的表達式(比如i+++++i)運用貪心原則進行解析表達式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章