# 跳躍陳述式(Jump Statements) 在C++中,跳躍陳述式(Jump Statements)允許程序控制流從一個點跳轉到另一個點,這些陳述式包括 `break`、`continue` 和 `return`。它們在不同的上下文中用於控制程式的執行流程。 :::danger ### 警告 跳躍陳述式當中還有一個 `goto` 用法,不過因為比較難用,所以在本篇文章中不列入討論。 ::: ### 零、方塊 - 方塊位置:條件與迴圈 - 方塊圖片 : > #### break >  > #### continue >  > #### return >  ### 一、`break` 的定義及用法 `break` 用於立即終止當前的迴圈或 `switch` 語句,並跳出該結構的執行。 #### 用法範例: 1. **在 `for` 迴圈中使用 `break`**: ```cpp #include <iostream> using namespace std; int main() { for (int i = 0; i < 10; i++) { if (i == 5) { break; // 當 i 等於 5 時,終止迴圈 } cout << "當前值: " << i << endl; } cout << "迴圈已終止。" << endl; return 0; } ``` 2. **在 `while` 迴圈中使用 `break`**: ```cpp #include <iostream> using namespace std; int main() { int i = 0; while (true) { // 無限迴圈 if (i >= 5) { break; // 當 i 大於等於 5 時,終止迴圈 } cout << "計數: " << i << endl; i++; } cout << "迴圈已終止。" << endl; return 0; } ``` 3. **在 `switch` 語句中使用 `break`**: ```cpp #include <iostream> using namespace std; int main() { int num = 2; switch (num) { case 1: cout << "數字是 1" << endl; break; // 結束 switch case 2: cout << "數字是 2" << endl; break; // 結束 switch default: cout << "數字不在 1 和 2 之間" << endl; break; // 結束 switch } return 0; } ``` ### 二、`continue` 的定義及用法 `continue` 用於終止當前的迴圈迭代,跳過剩下的代碼,並直接進入下一次迴圈的條件檢查。 #### 用法範例: 1. **在 `for` 迴圈中使用 `continue`**: ```cpp #include <iostream> using namespace std; int main() { for (int i = 0; i < 10; i++) { if (i % 2 == 0) { continue; // 當 i 為偶數時,跳過後面的代碼,進入下一次迴圈 } cout << "當前奇數值: " << i << endl; } return 0; } ``` 2. **在 `while` 迴圈中使用 `continue`**: ```cpp #include <iostream> using namespace std; int main() { int i = 0; while (i < 10) { i++; if (i % 2 == 0) { continue; // 當 i 為偶數時,跳過後面的代碼,進入下一次迴圈 } cout << "當前奇數值: " << i << endl; } return 0; } ``` ### 三、`return` 的定義及用法 `return` 用於結束函數的執行,並返回一個值(如果函數返回類型不是 `void`),同時控制流回到函數的調用者。 #### 用法範例: 1. **在函數中使用 `return`**: ```cpp #include <iostream> using namespace std; // 計算平方的函數 int square(int num) { return num * num; // 返回 num 的平方 } int main() { int number = 5; cout << "數字 " << number << " 的平方是 " << square(number) << endl; // 呼叫 square 函數 return 0; } ``` 2. **使用 `return` 結束 `main` 函數**: ```cpp #include <iostream> using namespace std; int main() { cout << "Hello, World!" << endl; return 0; // 結束 main 函數並返回 0 } ``` 3. **在條件中使用 `return`**: ```cpp #include <iostream> using namespace std; // 檢查數字是否為正數的函數 bool isPositive(int num) { if (num > 0) { return true; // 如果是正數,返回 true } return false; // 否則返回 false } int main() { int number = -3; if (isPositive(number)) { cout << "數字是正數。" << endl; } else { cout << "數字不是正數。" << endl; } return 0; } ``` ### 四、總結 - **`break`**:用於立即終止當前的迴圈或 `switch` 語句,並跳出該結構的執行。 - **`continue`**:用於終止當前的迴圈迭代,跳過剩下的代碼,並直接進入下一次迴圈的條件檢查。 - **`return`**:用於結束函數的執行,並返回一個值(如果需要),同時控制流回到函數的調用者。 ### 五、進一步的學習 在學習跳躍陳述式的基礎上,可以探索以下主題: - 在嵌套的迴圈中如何使用 `break` 和 `continue` 來控制外層和內層迴圈的執行。 - 在不同上下文中使用 `return`,例如回傳指標或結構體。 - 使用 `break` 和 `continue` 進行高效的錯誤處理和狀態檢查。 **By Ericbob**
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up