if語句條件表達式
當把一個指針作為條件表達式時,所要判斷的條件實際上就是“該指針是否為一空指針”.在if,while,for或do/while等語句中,或者在條件表達式中,都可以使用指針.請看下例: if(p) { /*dO something*/ } else { /* dOsomethingelse */ }當條件表達式的值不等于零時,if語句就執行“then”子句(即第一個子句),即“if(/*something*/)”和“if(/*something*/!=0)”是完全相同的.因此,上例和下例也完全相同: if(p !=0) { /* dO something(not anull pointer)*/ } else { /* dOsomethingelse(a null pointer)*/ }以上兩例中的代碼不易讀,但經常出現在許多C程序中,你不必編寫這樣的代碼,但要理解這些代碼的作用.希望能解決您的問題.。
C++中if語句和邏輯或的用法
能這樣用,這樣用編譯器也不會報錯,但是如你所說,這么寫么有意義,條件結果始終都為true。
邏輯||或者邏輯&&一般使用的都是變量,真正寫代碼,是沒有人會寫常量的,
只有寫為變量,根據變量不同的值,才既可能有true,又可能有false,這樣才達到了邏輯||或者邏輯&&使用的目的。
一般像如下方法使用:
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if(a||b||c) 或者 if(a||b&&cc) 或者if(a&&||c) 或者if(a&&b&&c)等等,
千變萬化,根據自己的需要,來決定是用||,還是&&。
if語句有幾種表達方式
*語句的一般格式if(表達式) {語句組1;}[else{語句組2;} ](1)if語句中的“表達式”必須用“(”和“)”括起來.(2)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用.(3)當if和else下面的語句組,僅由一條語句構成時,也可不使用復合語句形式(即去掉花括號).*語句的執行過程(1)缺省else子句時當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,否則直接轉向執行下一條.(2)指定else子句時當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,然后轉向下一條語句;否則,執行語句組2.如圖4-1(b)所示.*語句的嵌套與嵌套匹配原則if語句允許嵌套.所謂if語句的嵌套是指,在“語句組1”或(和)“語句組2”中,又包含有if語句的情況.if語句嵌套時,else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對.為明確匹配關系,避免匹配錯誤,強烈建議:將內嵌的if語句,一律用花括號括起來.。
求助
*語句的一般格式
if(表達式)
{語句組1;}
[else
{語句組2;} ]
(1)if語句中的“表達式”必須用“(”和“)”括起來。
(2)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用。
(3)當if和else下面的語句組,僅由一條語句構成時,也可不使用復合語句形式(即去掉花括號)。
*語句的執行過程
(1)缺省else子句時
當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,否則直接轉向執行下一條。
(2)指定else子句時
當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,然后轉向下一條語句;否則,執行語句組2。如圖4-1(b)所示。
*語句的嵌套與嵌套匹配原則
if語句允許嵌套。所謂if語句的嵌套是指,在“語句組1”或(和)“語句組2”中,又包含有if語句的情況。
if語句嵌套時,else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對。
為明確匹配關系,避免匹配錯誤,強烈建議:將內嵌的if語句,一律用花括號括起來。