?? 第4章 表達式和基本語句.txt
字號:
讀者可能懷疑:連if、for、while、goto、switch這樣簡單的東西也要探討編程風格,是不是小題大做?
我真的發覺很多程序員用隱含錯誤的方式寫表達式和基本語句,我自己也犯過類似的錯誤。
表達式和語句都屬于C++/C的短語結構語法。它們看似簡單,但使用時隱患比較多。本章歸納了正確使用表達式和語句的一些規則與建議。
4.1 運算符的優先級
C++/C語言的運算符有數十個,運算符的優先級與結合律如表4-1所示。注意一元運算符 + - * 的優先級高于對應的二元運算符。
優先級 運算符 結合律
從高到低排列 ( ) [ ] -> . 從左至右
! ~ ++ -- (類型) sizeof
+ - * & 從右至左
* / % 從左至右
+ - 從左至右
<< >> 從左至右
< <= > >= 從左至右
== != 從左至右
& 從左至右
^ 從左至右
| 從左至右
&& 從左至右
|| 從右至左
?: 從右至左
= += -= *= /= %= &= ^=
|= <<= >>= 從左至右
表4-1 運算符的優先級與結合律
【規則4-1-1】如果代碼行中的運算符比較多,用括號確定表達式的操作順序,避免使用默認的優先級。
由于將表4-1熟記是比較困難的,為了防止產生歧義并提高可讀性,應當用括號確定表達式的操作順序。例如:
word = (high << 8) | low
if ((a | b) && (a & c))
4.2 復合表達式
如 a = b = c = 0這樣的表達式稱為復合表達式。允許復合表達式存在的理由是:(1)書寫簡潔;(2)可以提高編譯效率。但要防止濫用復合表達式。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -