【學習筆記】【C語言】選擇結構-switch,學習筆記-switch
1.用法
switch(整型運算式)
{
case 數值1:
語句1;
break;
case 數值2:
語句2;
break;
... ...
case 數值n:
語句n;
break;
default :
語句n+1;
break;
}
當整型運算式的值等於“數值1”時,就會執行“語句1”,後面的break表示退出整個switch語句,也就是直接跳到第16行代碼;
當整形運算式的值等於“數值2”時,就會執行“語句2”;後面的以此類推。如果在數值1~數值n中,沒有一個值等於整型運算式的值,那麼就會執行default中的語句n+1。
由於所有的case後面都有個break,因此執行完任意一個case中的語句後,都會直接退出switch語句
2.break的作用
break關鍵字的作用是退出整個switch語句。預設的格式中,每個case後面都有個break,因此執行完case中的語句後,就會退出switch語句。
1> 如果某個case後面沒有break,意味著執行完這個case中的語句後,會按順序執行後面所有case和default中的語句,直到遇到break為止。
3.代碼
1 #include <stdio.h> 2 3 /* 4 if (條件) 5 { 6 7 } 8 9 10 switch (數值)11 {12 case 數值1:13 語句1;14 break;15 16 case 數值2:17 語句2;18 break;19 20 default :21 語句3;22 break;23 }24 */25 26 int main()27 {28 //int a = 10;29 // break:退出整個switch語句30 // 如果case後面沒有break,就會執行後面所有case中的語句,直到遇到break為止31 /*32 int b = 10;33 34 switch (a)35 {36 case 10:37 printf("A\n");38 b++;39 case 5:40 printf("B\n");41 b++;42 case 0:43 printf("C\n");44 b++;45 break;46 default:47 printf("D\n");48 break;49 }50 51 printf("b的值是%d\n", b);*/52 53 char c = '+';54 int a = 10;55 int b = 20;56 // 如果要在case後面定義新的變數,必須用大括弧{}包住57 switch (c) {58 case '+':59 {60 int sum = a + b;61 printf("和是%d\n", sum);62 break;63 }64 65 case '-':66 {67 int minus = a - b;68 printf("差是%d\n", minus);69 break;70 }71 }72 73 return 0;74 }
4.練習
1 /* 2 輸入一個整數score代表分數,根據分數輸出等級(A-E)(用兩種方式) 3 A:90~100 score/10 == 9、10 4 B:80~89 score/10 == 8 5 C:70~79 score/10 == 7 6 D:60~69 score/10 == 6 7 E:0~60 8 */ 9 10 #include <stdio.h>11 12 int main()13 {14 int score = 100;15 16 switch (score/10) {17 case 10: // 10018 case 9: // 90+19 printf("A\n");20 break;21 case 8: // 80+22 printf("B\n");23 break;24 case 7: // 70+25 printf("C\n");26 break;27 case 6: // 60+28 printf("D\n");29 break;30 default:31 printf("E\n");32 break;33 }34 35 36 37 /*38 if和switch39 1> if語句能完成的功能,switch並不一定能完成40 int a = 10;41 if (a>100)42 {43 44 }45 46 2> 在有些情況下,if語句和switch語句可以互換47 48 3> switch能完成的功能,if語句都能完成49 */50 51 return 0;52 }