Switch case語句的基本形式是這樣的。在使用switch case時,必須注意不能遺漏break語句。如果沒有break,程序會在執行完對應的代碼塊后繼續執行下面的語句,直到遇到下一個break或程序結束。當表達式的值與哪個常量相等時,就會執行那個常量對應的代碼塊。如果沒有與表達式相等的常量,就會執行default后面的代碼塊。
對于多個常量對應同一個代碼塊的情況,我們可以在switch case中這樣使用。這樣無論輸入的是0還是1,都會執行遇到break之前的代碼塊。當多種情況對應同一種輸出時,可以將相同的case代碼塊放在一起,以減少重復代碼,提高效率。
需要注意的是,同一個Switch語句中,所有case子句中的常量值必須互不相同。那么,何時使用switch case比較好呢?如果判斷的具體數值不多,且符合byte、short、char、int、String、枚舉等類型時,建議使用switch語句。
關于switch語句的執行規則,switch后面括號內的表達式必須是整數類型,可以是int型變量、char型變量,也可以直接是整數或字符常量,但絕對不可以是實數,float型變量、double型變量、小數常量都是不行的。switch下的case和default必須用一對大括號括起來。
如果你想只執行這一個case語句,不想執行其他case,那么需要在這個case語句后面加上break,跳出switch語句。當switch后面括號內表達式的值與某個case后面的常量表達式相等時,就會執行此case后面的語句。執行完一個case后的語句后,流程控制會轉移到下一個case繼續執行。
需要強調的是,switch是選擇語句,不是循環語句。很多新手看到break就以為是循環語句,因為break一般給我們的印象是跳出循環。但實際上,break還有一個用法,就是跳出switch。如果所有的case中的常量表達式的值都沒有與switch后面括號內表達式的值相等的,就會執行default后面的語句。default是默認的意思,如果default是最后一條語句,那么其后可以不用加break。
在switch語句中,每個case后面的常量表達式的值必須互不相同。case常量表達式只是起語句標號的作用,并不是在該處進行判斷。在執行switch語句時,根據switch后面表達式的值找到匹配的入口標號,就從此標號開始執行下去。
關于c語言switch case語句的例子,假設我們有一個程序要求輸入一個數字,輸出它對應的星期的英文單詞。在這個程序中,我們使用了switch語句來實現這個功能。需要注意的是,case后的各常量表達式的值不能相同,否則會出現錯誤。在case后允許有多個語句,可以不用{}括起來。各case和default子句的先后順序可以變動,不會影響程序執行結果。default子句也可以省略不寫。
2、使用if else再switch是多余的,沒有任何必要。
3、C語言中的switch語句只能用于數值判斷,相當于相等邏輯。
本文分享完畢,希望對大家有所幫助。