C語言里面的判斷語句
在C語言中,判斷語句的一般格式為
if(expr1)
{
//some codes
}
else if(expr2)
{
//some codes
}
else if(expr3)
else
{
//some codes
}
//out of check執行時,會依照書寫順序,依次判斷各個expr,如果有一個為真,則執行后續的{}內語句,并不再執行后續判斷,而是直接從out of check開始執行。
else if的數量不限,可以不存在,也可以有任意多組。
else同樣可以不存在。
每個else 與最其之前最近的沒有匹配else的if相結合。
判斷執行的語句{}部分,大括號對可以省略,省略后,if僅對其下一語句生效。
語句和句子的區別
兼語句與主謂短語作賓語句子的區別
兼語句同主謂短語作賓語的句子在形式上很相似,都是“動1——賓1——動2——賓2”的結構。但是,組合關系和語義關系不同,應認真加以區別。
①從語音停頓來看,兼語句不能在兼語前停頓,只能在兼語后停頓。
主謂短語作賓語的句子則既可以在第一個謂詞后停頓,也可以在第二個謂詞后停頓。例如:
*領導派∨我出發去北京。(兼語句)(∨表示停頓)
領導知道∨我出發去北京。(主謂短語作賓句)
②兼語句第一個動賓關系結合緊密,動詞后不能加狀語。
主謂短語作賓語的句子狀語可以加在第一個動詞后面。例如:
*領導派[明天]我出發去北京。(兼語句)
領導[明天]派我出發去北京。(兼語句)
領導知道[明天]我出發去北京。(主謂短語作賓句)
③兼語句的第一個動詞多表示使令意義,它支配的對象是人。
主謂短語作賓語的句子的第一個動詞一般是心理動詞或表感知的、或“認證、主張”一類的動詞,它支配的對象是一個事件(包括人物連同其動作)。
返回
條件判斷表達式與if語句的區別
if(表達式){
執行語句
}
如果條件成立則會進入if的作用域并執行其內容,否則該語句結束
if(表達式){
執行語句
}else{
執行語句
}
如果if條件不成立則會進入else的作用域并執行其內容
if(表達式){
執行語句
}else if(表達式){
執行語句
}else if(表達式){
執行語句
}
。。。..
如果if表達式不成立則會進入下一個 else if 的表達式進行再次判斷,成立則進入,否則繼續。。.
在這注意一點,當發生嵌套if結果時如果條件不成立執行的else是根據誰離我進我執行誰的原則.
說完if來講講三元運算符
三元運算符:
表達式 ? 表達式1 : 表達式2
什么意思了?
boolean a =true;
String b = a?"你是true":"抱歉你不是true";
*n(b);
運行結果:
你是true
boolean a =false;
String b = a?"你是true":"抱歉你不是true";
*n(b);
運行結果:
抱歉你不是true
分析:這2段代碼中通過設置a的真假分別得到 “你是true” “抱歉你不是true” 因此我們發現如果 a 是true 會執行?后面的數據賦值, 如果是false(條件不滿足就會執行):好后面的數據賦值。
int a =5;
int b = (5+3)>8?1:2;
*n(b);
結果:2
也可以這么寫
*n((a+3)>8?1:2);
執行流程:如果表達式成立,就執行表達式1,否則執行表示2,是不是和if判斷語句很相似,如果條件成立執行XXX否則執行XXX
那么兩者有什么區別了?
booelan a = true;
if(a)
*n("true");
else
*n("false");
------------------------------------------------
boolean a = true
String b = a?"true":"false";
*n(a);
分析:這只是簡單的判斷,我們發現三元運算符在對簡單的邏輯判斷的代碼量比if判斷結構少,提高了復用性,并且iif判斷語句只是單純的判斷并輸出結果判斷后的結果,而三元運行符,發生了運算符的賦值動作,也就是運算,而if判斷結構沒有,簡單來說就是三元運算符有運算結果,而if判斷結果沒有運算結果,如果是相對復雜的邏輯判斷,三元運算符則不能替代if判斷結果,反之如果是簡單的邏輯判斷三元運算符更加簡潔,根據不同情況來選擇。
if(表達式){
執行語句
}else{
執行語句
}