復合表示式由常量、變數、函式和運算子組成書寫應注意:
1、不要過於複雜
如:x=y>z || a=i-c
2、不要與數學表示式混淆
如:if( x3、運算子優先順序和結合性直對結果的影響
4、表示式中有些部分可能沒參加運算
如:int a=1,b=2
if( acout《輸出結果為1
aif語句書寫技巧與注意問題:
1、常量放在條件表示式的左側
如:int *p = new int[10]
if( p == null )
cout<<"error!"上面條件表示式 p == null ,有時粗心會寫漏乙個『=』,即寫成p = null , 「p = null 」為合法表示式,編譯時不會報錯!但要是把上面的條件表示式改為 null == p ,若寫漏乙個『=』,即 null = p 。由於賦值表示式的左運算元必須是乙個可修改的左值表示式,常量不是可修改的左值,編譯時出錯!
2、整型變數與零值比較
int value = 0;
if( 0 == value )
if( 0 != value )
但不要寫成
if( value )
if( !value )
否則,會讓人誤解value是bool型變數,降低可讀性
3、浮點變數與零值比較
由於float和double型別都有精度限制,因此浮點變數不可用==或!=與任何數字比較!常將改寫成《或》或<=或》=的形式,如判斷浮點變數x與2相等時,可寫為 if( x-2《乙個可接受的誤差 )
4、指標變數與零值比較
雖然null與0數值上相等,但兩者的意思不同!
切記不要將
if( null == p )
寫成if( 0 == p ) //容易誤解p是整型變數
或if( p ) //容易誤解p是bool變數
復合語句表示式的高階用法
我在 c和指標 閱讀筆記 4 一文中詳細介紹了語句 表示式 操作符之間的關係,在c語言中,語句是由表示式和 或 分號組成 表示式是由識別符號或操作符組成。本文再深入一步,介紹一種更複雜一點兒的用法 復合語句作為表示式,然後引出乙個常用的編碼技巧。在gnu c中,將復合語句通過小括號括起來後,可以當做...
表示式與語句
表示式是由運算子和運算元組合構造成。最簡單的表示式是乙個單獨的運算元,以此作為基礎,結合語言自身支援的操作符,就可以建立複雜的表示式。下面是一些表示式 4 53.14 9 a b 7 30 b 5 從這裡可以看到,運算元可以是資料常量 4,5 變數 a,b 或者是二者的組合 b 7 每乙個表示式都有...
復合lambda表示式
複習 public static void main string args 用lambda表示式 因為編譯器會自動根據 上下文推測出資料型別因此 collections.sort list,first,second first.getcolor compareto second.getcolor ...