格式:
switch(expression){
statement-list
}
- expression的結果必須是整型值
- 控制一條語句或多條語句,一般用大括號控制多條
貫穿於語句列表之間的是一個或多個case標簽
case constant-expression
//每個case標簽必須具有一個唯一的值
eg1:

//從正確的地方開始,連帶向下繼續執行,這里switch(a)中a在上面定義的的值為1,當switch(a)為1時,找下面的case語句,從上往下找符合case 1的語句,然后做case 1:b++;從這里連帶向下繼續執行,下面case 2:a++;也執行,結果為 2 3
switch(表達式,變量,常量) {
case n:語句;
case n:語句;
case n:語句;
default : 語句; }
//表達式變量,常量會得到一個值,與case后面n的值進行比較,找到符合n的值,執行后面的語句,連帶向下繼續執行,直到大括號結束,若沒有符合的n值,執行default后面的語句。default可有可無,case后面的n必須是整型常量或字符常量。還有一點需要注意的,出題的時候有時候會打亂順序,default的位置在case上面,不用管,向下執行
eg2:

//這里switch(a++)的值為表達式的值,a這里為0,程序往下執行,case語句了沒有0,看到下面有default語句,a在執行default語句前值做了一次自增,此時a為1,然后執行default語句,a再次自增,a的值為2,輸出a+b的值為 3
調試代碼
上面如果你理解不懂,可以用編譯器帶的調試功能一步步看過程
1、設斷點

最左側的紅色圓點,鼠標左鍵點一下就可以(我在windows下用的VS2017,不多解釋,VS在這里學習很強大,占用空間大。輕巧一點的可以選擇gcc,VC,Dev-c++等。這里的while(1)是讓程序停住,在vs里運行時控制台會一閃而過,可以使用死循環while(1); getchar(); system("pause")等停下)
2、加輸出語句測試

程序走到哪里了顯而易見,當然,用完記得注釋或刪除
注意
switch語句,執行流將貫穿整個case標簽,而不是停留在單個case標簽
break語句
跳出當前的switch結構,不執行連帶向下。在執行一個case分支后,如果想使流程跳出switch結構,即終止switch語句的執行,可以在相應的語句后加break實現。根據實際情況選擇用不用break
看題就行了,不難。
eg3:
編程題:判斷成績,考試成績滿分為100分,90~100等級為‘A’,80~89為‘B’,70~79為‘C’,60~69為‘D’,60以下為‘E’。

//這里可以利用'/'的規則,只取高位上的數字就能判斷出處於哪個成績段,把三位數的100,強制等於90,取最高位9,或者再加一條case 10的語句。最后的default語句不用加break了。
case嵌套

有趣嗎...,當你學了C語言再去學別的語言,天吶,它們怎么這么簡單
還有一個好玩的 goto語句,循環再講吧
