1. 語句結構
語法形式
switch語句從字面上講,可以稱為開關語句,當然理解上不要以為就只有開和關,可以想象它是一個多路開關。它是一種多分支結構。
switch語句的語法形式為:
switch(整型表達式)
{
case 常量表達式1:語句1
case 常量表達式2:語句2
//……
case 常量表達式n-1:語句n-1
default:語句n
}
解讀整型表達式
switch后面的小括號是一個整型表達式,這與if不同。if條件表現的是相互對立的兩種狀態,而對於多分支結構的switch,是用多個整數值表現多種選擇。if條件的對立性總是相對於0而言,所以只要某種數據類型的表達式能夠表示0值,便可以充當if語句的條件,但是switch中的表達式的值需要對應到不同的處理入口,其相當於入口編號,所以限制以用整型數表示是明智的。
例如,下面的代碼錯誤地用浮點類型作switch的表達式,因而會引起編譯錯誤:
float f= 4.0;
switch (f) { //錯誤
//……
}
處理入口
處理入口編號不能重復,但可以顛倒。也就是說,入口編號的順序不重要。各個case(包括default)的出現次序可任意。例如:
swtich(a)
{
case 3: b=1; break;
default: b=2; break; //正確
case 1: b=3; break;
}
default處理入口:如果switch后面的整型表達式不能匹配任何一個預定的處理入口,那么若有default處理入口,就轉入該入口,否則就退出switch語句,什么也不做。
例題

解答

break注解
break是一個關鍵字,該關鍵字獨立構成一條語句,其功能是在switch、for、while、do-while語句中,跳出結構而轉向執行嚇一條語句。或者說break語句強行終止上述語句的執行。對於if語句,其if-else結構中的語句塊本身就是排他性的,所以沒有必要用break去干預。
