
- C++ 基礎
- C++ 首頁
- C++ 概述
- C++ 環境設定
- C++ 基本語法
- C++ 註釋
- C++ Hello World
- C++ 省略名稱空間
- C++ 常量/字面量
- C++ 關鍵字
- C++ 識別符號
- C++ 資料型別
- C++ 數值資料型別
- C++ 字元資料型別
- C++ 布林資料型別
- C++ 變數型別
- C++ 變數作用域
- C++ 多個變數
- C++ 基本輸入/輸出
- C++ 修飾符型別
- C++ 儲存類
- C++ 運算子
- C++ 數字
- C++ 列舉
- C++ 引用
- C++ 日期和時間
- C++ 控制語句
- C++ 決策機制
- C++ if 語句
- C++ if else 語句
- C++ 巢狀 if 語句
- C++ switch 語句
- C++ 巢狀 switch 語句
- C++ 迴圈型別
- C++ while 迴圈
- C++ for 迴圈
- C++ do while 迴圈
- C++ foreach 迴圈
- C++ 巢狀迴圈
- C++ break 語句
- C++ continue 語句
- C++ goto 語句
- C++ 建構函式
- C++ 建構函式和解構函式
- C++ 複製建構函式
C++ switch 語句
switch 語句允許將變數與其值列表進行相等性測試。每個值稱為一個 case,系統會檢查正在切換的變數的每個 case。
語法
C++ 中 switch 語句的語法如下:
switch(expression) { case constant-expression : statement(s); break; //optional case constant-expression : statement(s); break; //optional // you can have any number of case statements. default : //Optional statement(s); }
以下規則適用於 switch 語句:
switch 語句中使用的表示式必須是整型或列舉型別,或者是一個類型別(該類具有單個轉換為整型或列舉型別的轉換函式)。
在一個 switch 中可以有任意數量的 case 語句。每個 case 後面跟著要比較的值和一個冒號。
case 的常量表達式必須與 switch 中變數的資料型別相同,並且必須是常量或字面量。
當正在切換的變數等於某個 case 時,該 case 後面的語句將執行,直到遇到break 語句。
遇到 break 語句時,switch 終止,控制流跳轉到 switch 語句後面的下一行。
並非每個 case 都需要包含 break。如果沒有 break,控制流將貫穿後續的 case,直到遇到 break。
switch 語句可以有一個可選的default case,它必須出現在 switch 的末尾。default case 可用於在沒有 case 為 true 時執行任務。default case 中不需要 break。
流程圖

示例
#include <iostream> using namespace std; int main () { // local variable declaration: char grade = 'D'; switch(grade) { case 'A' : cout << "Excellent!" << endl; break; case 'B' : case 'C' : cout << "Well done" << endl; break; case 'D' : cout << "You passed" << endl; break; case 'F' : cout << "Better try again" << endl; break; default : cout << "Invalid grade" << endl; } cout << "Your grade is " << grade << endl; return 0; }
這將產生以下結果:
You passed Your grade is D
廣告