在c語言的選擇結構中,if——else語句一般指用來處理一個或者兩個分支的選擇結構,如果分支較多還使用if_else語句的話就會導致程式運行效率降低,代碼可讀性減弱。所以,switch就應運而生了。switch的英文意思是“切換”,所以它在編程中就做了一個選擇分支的專業術語。
首先我們來交流下switch語句的基本文法
switch (運算式) //計算運算式的值
{
case 常量 1: //如果等於常量1
語句; //case後面只能加常量
break; //跳出分支,執行switch語句之後的代碼
case 常量 2: //如果等於常量2
語句;
break;
default: //如果沒有找到匹配的值
語句;
break;
}
switch語句的執行流程
switch語句中的執行順序是自上向下的,它首先就要計算運算式的值,如果發現運算式的值和case後面的常量值相等的時候,就執行相應的那段case語句。如果沒有找到和運算式值相匹配的常量,程式就會執行default那段代碼。
ps:在使用的switch的時候一般都要用上break語句。(break語句是用來跳出此次選擇或者迴圈,執行選擇或者迴圈後的代碼)因為既然我們選擇使用switch語句,那麼分支就一定比較多,什麼是分支?我們暫且不去討論它的理論意義,我們只需要知道分支條件一定不會是相等(如果相當的話,那還要分家幹什麼,全部和而為一不算了?)既然不會有相等,那麼就必須讓程式又個“井水不犯河水”的思想,所以我們就可以某個case後加上一個break,回家請功去。
接下來我們瞭解下switch在使用時的一些經驗
1、swtich語句要和case,break配合使用。
2、條件判斷的運算式類型可以是任何類型,一般常用的就是整型運算式,字元運算式,枚舉類型。
3、case後面只能加上常量,也就是說只能是整型常量或者字串常量(c語言中沒有string,所以要想實現字串的效果一般都是使用字元數組)最重要的是,每個case後面的常量值必須互不相同,互不干擾。否則程式就會出現邏輯錯誤。
4、case與case,case與default的排列順序可以被打亂,打亂不會影響執行的效果。
IT技術網:http://www.52ij.com/小謙,如有轉載,請保留原地址!