運算子優先順序及結合

2021-06-05 19:55:42 字數 783 閱讀 1187

下面的內容為本人無聊時自我猜想,不保正內容的正確性,如有問題,請見諒。

0、空格可以告訴編譯器名顯邏輯

1、注意向後不能連續有三個以上(---)(+++),可以用空格告訴編譯器明顯的邏輯。

如:不能有a++++b

可以有a+++ +b

2、注意向前不能有連續兩個以上(--)(++),,可以用空格告訴編譯器明顯的邏輯。

如:不能有a++ +++b

可以有a+++ ++b或a++ + ++b

3、從左向右一次解釋,所以

不能有交叉體

如a++++b

會分析為(a++)(++b),很顯然這兩者之間沒有運算子,所以會出錯。

而a++ + +b,會分析為(a++) + (+b)

如a+++ ++b++不正確

會解釋為

(a++)+ [(++b)]++

4、當然與其它符號混合可以超過定數以上

5、取出結合體

a+++b+++ +c

a(++)+b(++)+ +c

5、取出最高優先順序的" 算數表示式",在"算數表示式"中,執行算數表示式前增或後增

a=4b=2

c=3(a > ++b)|| (a > ++b)

結果為b=3

6、精度是按步提公升

如a=800

b=900

c=789

d=908.0

a*b*c+d

會出錯前三者在運算的時候,精度為int,而做」+「時,對會為double

每算一步進行一次精度檢查與提公升

運算子 優先順序 結合性

語言的運算子可分為以下幾類 1.算術運算子 用於各類數值運算。包括加 減 乘 除 求餘 或稱模運算,自增 自減 共七種。2.關係運算子 用於比較運算。包括大於 小於 等於 大於等於 小於等於 和不等於 六種。3.邏輯運算子 用於邏輯運算。包括與 或 非 三種。4.位操作運算子 參與運算的量,按二進位...

運算子優先順序及結合順序隨筆

運算子優先順序及結合順序隨筆 最近在網上看到一段開源 中有乙個關於鍊錶操作的 其中有一行如下 pnode next 看到這段 我一時想不起這些運算子的結合順序是什麼樣子了,於是開始查詢資料並寫了下面的測試程式 1 test operator priority 2 typedef struct 3 s...

運算子 及 運算子優先順序

數 算符 7個 1 為求餘運算子 例如 3 2 1 8 3 2 2 和 為自加1和自減1運算子。3 i 和 i都是加1運算。如 i 和 i 等於 i i 1 i i i i的意義和i i完全不一樣,可以這樣 理解,加 號在前面的先進行加1運算再賦值,加號在 後面 的 先進行賦 值在加1運算。如int...