4. 表達式和基本語句
4.1 運算符的優(yōu)先級
(1)如果代碼行中的運算符比較多晃琳,用括號確定表達式的操作順序库菲,避免使用默認的優(yōu)先級
4.2 復合表達式
允許復合表達式存在的理由是:
(1)書寫簡潔;
(2)可以提高編譯效率
規(guī)則:
(1)不要編寫太復雜的復合表達式
(2)不要有多用途的復合表達式
(3)不要把程序中的復合表達式與“真正的數學表達式”混淆
4.3 if 語句
(1)不可將布爾變量直接與TRUE污茵、FALSE 或者1樱报、0 進行比較,使用規(guī)則:
? ? ? ? ? if (flag) // 表示flag 為真 泞当,if (!flag) // 表示flag 為假
(2)應當將整型變量用“==”或“迹蛤!=”直接與0 比較,使用規(guī)則:
? ? ? ? ? if (value == 0) ? ? ? if (value != 0)
(3)不可將浮點變量用“==”或“襟士!=”與任何數字比較盗飒,使用規(guī)則:
????????if ((x>=-EPSINON) && (x<=EPSINON))其中EPSINON 是允許的誤差(即精度)
(4)應當將指針變量用“==”或“!=”與NULL 比較陋桂,使用規(guī)則:
? ? ? ? if (p == NULL) // p 與NULL 顯式比較逆趣,強調p 是指針變量 if (p != NULL)
(5)對if 語句的補充說明:
????????if (NULL == p) ,編譯器認為 if (p = NULL) 是合法的嗜历,但是會指出 if (NULL = p)是錯誤的宣渗,因為NULL不能被賦值。
4.4 循環(huán)語句的效率
(1)在多重循環(huán)中梨州,如果有可能痕囱,應當將最長的循環(huán)放在最內層,最短的循環(huán)放在最外層暴匠,以減少CPU 跨切循環(huán)層的次數鞍恢。
(2)如果循環(huán)體內存在邏輯判斷,并且循環(huán)次數很大每窖,宜將邏輯判斷移到循環(huán)體的外面帮掉。
4.5 for 語句的循環(huán)控制變量
(1)不可在for 循環(huán)體內修改循環(huán)變量,防止for 循環(huán)失去控制
(2)建議for 語句的循環(huán)控制變量的取值采用“半開半閉區(qū)間”寫法
4.6 switch 語句
(1)每個case 語句的結尾不要忘了加break窒典,否則將導致多個分支重疊
(2)不要忘記最后那個default 分支蟆炊。即使程序真的不需要default 處理,也應該保留語句 default : break
4.7 goto 語句
慎用goto 語句瀑志,而不是禁用