C++| 匠心之作 從0到1入門學程式設計【視訊+課件+筆記+源碼】
目錄
1、switch語句【C語言】
1.2、C語言中 switch語句的文法
1.3、switch語句遵循規則
1.3、switch流程圖
1.4、switch執行個體
2、switch語句【C++】
2.1、作用
2.2、文法
2.3、示例
2.4、注意事項及總結
1、switch語句【C語言】
菜鳥教程 C語言 switch語句:https://www.runoob.com/cprogramming/c-switch.html
一個 switch 語句允許測試一個變量等于多個值時的情況。每個值稱為一個 case,且被測試的變量會對每個 switch case 進行檢查。
1.2、C語言中 switch語句的文法
switch (expression) {
case constant-expression :
statement(s);
break; /* 可選的 */
case constant-expression :
statement(s);
break; /* 可選的 */
/* 您可以有任意數量的 case 語句 */
default : /* 可選的 */
statement(s);
}
1.3、switch語句遵循規則
switch語句必須遵循下面的規則:
- switch 語句中的 expression 是一個常量表達式,必須是一個整型或枚舉類型。
- 在一個 switch 中可以有任意數量的 case 語句。每個 case 後跟一個要比較的值和一個冒号。
- case 的 constant-expression 必須與 switch 中的變量具有相同的資料類型,且必須是一個常量或字面量。
- 當被測試的變量等于 case 中的常量時,case 後跟的語句将被執行,直到遇到 break 語句為止。
- 當遇到 break 語句時,switch 終止,控制流将跳轉到 switch 語句後的下一行。
- 不是每一個 case 都需要包含 break。如果 case 語句不包含 break,控制流将會 繼續 後續的 case,直到遇到 break 為止。
- 一個 switch 語句可以有一個可選的 default case,出現在 switch 的結尾。default case 可用于在上面所有 case 都不為真時執行一個任務。default case 中的 break 語句不是必需的。
1.3、switch流程圖
![]()
C語言/C++【switch語句詳解(用法、規則、流程圖、執行個體)】1、switch語句【C語言】2、switch語句【C++】
1.4、switch執行個體
![]()
C語言/C++【switch語句詳解(用法、規則、流程圖、執行個體)】1、switch語句【C語言】2、switch語句【C++】
#include <stdio.h>
int main()
{
char grade = 'B'; /* 局部變量定義 */
switch (grade)
{
case 'A':
printf("很棒!\n");
break;
case 'B':
case 'C':
printf("做得好!\n");
break;
case 'D':
printf("您通過了!\n");
break;
case 'F':
printf("最好再試一下!\n");
break;
default:
printf("無效的成績!\n");
}
printf("您的成績是 %c!\n", grade);
return 0;
}
2、switch語句【C++】
2.1、作用
執行多條件分支語句。
2.2、文法
switch (表達式) //【switch語句中表達式類型隻能是整型或者字元型】
{
case 結果1: 執行語句;break;
case 結果2: 執行語句;break;
...
default: 執行語句;break;
}
2.3、示例
![]()
C語言/C++【switch語句詳解(用法、規則、流程圖、執行個體)】1、switch語句【C語言】2、switch語句【C++】
#include <iostream>
using namespace std;
int main() //switch語句
{
//請給電影進行評分
// 10 ~ 9 經典
// 8 ~ 7 非常好
// 6 ~ 5 一般
// 5分以下 爛片
//1、提示使用者給電影評分
cout << "請給電影打分:" << endl;
//2、使用者開始進行打分
int score = 0;
cin >> score;
cout << "您打的分數為:" << score << endl;
//3、根據使用者輸入的分數來提示使用者最後的結果
switch (score)
{
case 10:
// cout << "您認為是經典電影!" << endl;
// break; //退出目前分支
case 9:
cout << "您認為是經典電影!" << endl;
break; //退出目前分支
case 8:
// cout << "您認為電影非常好!" << endl;
// break;
case 7:
cout << "您認為電影非常好!" << endl;
break;
case 6:
case 5:
cout << "您認為電影一般!" << endl;
break;
default:
cout << "您認為是爛片!" << endl;
break;
}
//if和switch差別?
//switch缺點:判斷時候隻能是整型或者字元型,不可以是一個區間!
//switch優點:結構清晰,執行效率高!
system("pause");
return 0;
}
2.4、注意事項及總結
- 注意1:switch語句中表達式類型隻能是整型或者字元型。
- 注意2:case裡如果沒有break,那麼程式會一直向下執行。
- 總結:與if語句比,對于多條件判斷時,switch的結構清晰,執行效率高,缺點是switch不可以判斷區間。