switch case語句和if的區別
if和switch都是條件判斷語句,在效果上是沒有什么差別的,而不同,我們可以從效率上來講~ 舉一個很簡單的例子: if(A>B) {A=B;} else {B=A; } 如果將這個例子放在switch 語句中,也并不是不能實現,但是實現起來可能會比較麻煩一些,因為在switch語句中 case中要求的是常量,一般是不能進行邏輯判斷的, 所以這也是if語句優于switch語句的地方! 但是如果您判斷的都是幾個常量的數據,我建議您最好采用switch語句,如下: switch(A) { case:xxxx ///程序代碼 break; case:xxxxxx ///程序代碼 break; } http://** 這樣的語句,雖然if語句也是能實現的,但是性能就比switch差的有點遠了。
if語句,* if語句和*語句的區別和分析
如果變量a等于1輸出1,等于2輸出2,其他情況輸出3
下面的代碼運行結果是一致的:
if ($a==1){
echo 1;
}else if($a == 2){
echo 2;
}else {
echo 3;
}
-------------------
switch($a){
case 1:
echo 1;
break;
case 2:
echo 2;
break;
default:
echo 3;
}
根本區別就是寫的代碼不一樣(這好像是廢話!),這會影響可讀性
請問C語言里switch里case里可以有if語句嗎
可以的,
不過要提醒你一點 , 有的編譯器做得不是很智能, 在其中case下不加{}這樣的限制符號可能會出錯.
所以對你的代碼, 我推薦的用法是
switch(i){
case 1:
{
if(。.)
代碼。
else
代碼。
break;
}
case 2:
{
代碼。
break;
}
}
在C語言中SWITCH語句的各case句中,能出現if語句嗎
switch語句的語法如下(case、default和break是其配套關鍵字): switch ( 表達式) { case 常量表達式1: 語句1; 可以是多行,可以加括號,也可以不加,到下一個case之前,都是本case的語句范圍 [break;] 中括號,表示此語句可以沒有 case 常量表達式2: 語句2; [break;] …… case 常量表達式n: 語句n; [break;] [default:] 語句n+1; [break;]}說明:break 表示退出{ }case后面只能跟一個值(加冒號:),而不能是一個表達式 switch(表達式) 后面沒有分號(;){}前后沒有分號(;)default語句可以出現在任何位置,但建議寫到最后,表示除去case匹配之外的其它情況。
也可以沒有default語句switch語句規則:case標簽必須是常量表達式(constant Expression) 只能針對基本數據類型使用switch,這些類型包括int、char等。對于其他類型,則必須使用if語句。
case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。如果兩個case語句間沒有break,則執行完匹配的case語句后,會順序執行下面的語句,直到遇到break語句或switch結束連續的兩個case語句表示,這兩個case是同一種情況。
switch/case和if/else的分別在哪
看你的需要去用。IF/ELSE可以處理復雜的邏輯關系,用switch/case處理的都可以用IF/ELSE處理,但是switch/case有局限性,說個例子給你聽
關于個人所得稅的征收
超過800低于1600部分 收1%
超過1600低于5000部分 收2%
超過5000低于20000部分 收3%
超過20000低于100000部分 收4%
乍一看這題好像是switch/case比較省事,但是再實際過程中會發現每個CASE之間數字的跨度不一樣,到后面會越來越大,無法用簡單辦法處理。這樣用IF/ELSE就十分方便了
當然能用switch/case的話可以減少不少代碼的輸入
用if
假定 int型 num為分數
if(num>=90) printf("優秀");
else if(num>=80) printf("良好");
else if(num>=70) printf("中等");
else if(num>=60) printf("合格");
else printf("不合格");
switch是一一比對相符,不適合用在判定大小的方面,非要這樣用
switch(num/10)
{ case 10:
case 9: printf("優秀");break;
case 8: printf("良好");break;
case 7: printf("中等"); break;
case 6: printf("合格"); break;
default: printf("不合格");
}
轉載請注明出處華閱文章網 » switchcase語句與if