switch 敘述的使用
◎も使用時機:當程式流程進行中,需要根據某個變數或運算式之值來決定接下來的動作時,就是使用switch敘述的時機。例如根據讀取的 選項值來決定接下來的動作等。
◎も語法:
switch (變數或運算式)
(例) int choose;
{
printf ("請選擇中意物品:1.珠寶豪宅 2.國務機要費
3.國庫") ;
case 值1 : 敘述群1 ;
scanf ("%d", &choose) ;
break ;
switch (choose)
case 值2 : 敘述群2 ;
{
break ;
case 1 : printf
("貪污罪,抓去關二十年!\n") ;
.......................................
break ;
case 值n : 敘述群n ;
case 2 : printf ("貪污兼圖利罪,關到死!\n") ;
break ;
break ;
default : 備用敘述群 ;
case 3 : printf ("無恥至極罪,全家砍頭!\n") ;
}
printf("全部家產充公!\n");
break ;
default : printf("沒貪污,人格貴重!非常好!");
}
此敘述會依據括號內『變數或運算式』的值,然後逐一檢視各個case中的值,直到找出符合的值,然後執行該case後的敘述群,直到碰到break敘述為止。如果沒有任何case值符合,那就執行最後一項default後的「備用敘述群」。要注意的是:(a)
每個敘述群可以有1或多個敘述,且不需要加大括號,只需用break敘述做結尾即可。(b) default選項視情況也可以省略不加。 (c) 如果某個
case之後的 break敘述省略,那麼執行到此case時,不但會執行該case的敘述群,而且還會繼續往下執行其它case的敘述,直到碰到break敘述為止。
基本上 switch敘述屬於『多選一』的形式,但是它與 if... else if...敘述有所不同,其主要的差異在於switch適合於依據『某個變數或運算式之值』來決定動作;而 if... else if...則適合於依據『不同的條件式,特別是組合條件』來決定後續動作。