# 迴圈(While) C++中的 `while` 語句是一種控制結構,用於在***條件為真*** 時重複執行一段代碼。與 `for` 迴圈不同,`while` 迴圈通常用於當我們***不知道迴圈執行次數時***,或者需要根據***某個條件不斷重複*** 執行代碼的情況。 ### 一、`while` 語句的基本結構 `while` 語句的基本語法如下: ```cpp= while (條件) { // 迴圈內要執行的代碼 } ``` - **條件**:在每次迴圈執行前檢查的布爾表達式,當條件為真時執行迴圈內的代碼,當條件為假時結束迴圈。 ### 二、`while` 語句的用法範例 #### 範例 1:基本的 `while` 迴圈 這個範例展示了一個基本的 `while` 迴圈,它從 0 開始到 9,每次迴圈輸出當前的計數器值。 ```cpp= #include <iostream> using namespace std; int main() { int i = 0; while (i < 10) { cout << "當前值: " << i << endl; i++; // 更新計數器 } return 0; } ``` #### 範例 2:使用 `while` 迴圈計算總和 這個範例展示了如何使用 `while` 迴圈來計算從 1 到 10 的總和。 ```cpp= #include <iostream> using namespace std; int main() { int sum = 0; int i = 1; while (i <= 10) { sum += i; // 將 i 加到 sum 中 i++; // 更新計數器 } cout << "1 到 10 的總和是: " << sum << endl; return 0; } ``` #### 範例 3:用戶輸入 這個範例使用 `while` 迴圈,直到用戶輸入負數為止,計算用戶輸入的總和。 ```cpp= #include <iostream> using namespace std; int main() { int num; int sum = 0; cout << "請輸入一個數字(輸入負數以結束): "; cin >> num; while (num >= 0) { sum += num; // 將數字加到總和中 cout << "請輸入下一個數字(輸入負數以結束): "; cin >> num; // 再次讀取數字 } cout << "總和是: " << sum << endl; return 0; } ``` #### 範例 4:無限迴圈 如果條件永遠為真,`while` 迴圈會進入無限迴圈。下面的範例展示了一個無限迴圈,並在其中使用 `break` 或 `return` 來結束迴圈。 - `break` ```cpp= #include <iostream> using namespace std; int main() { int count = 0; while (true) { // 永遠為真,進入無限迴圈 cout << "計數器值: " << count << endl; count++; if (count >= 5) { break; // 當count = 5時退出迴圈 } } return 0; } ``` - `return` ```cpp= #include <iostream> using namespace std; int main() { int count = 0; while (true) { // 永遠為真,進入無限迴圈 cout << "計數器值: " << count << endl; count++; if (count >= 5) { return 0; // 當count = 5時結束主程式 } } return 0; } ``` ### 三、`while` 迴圈的注意事項 1. **條件的初始化**:確保在進入 `while` 迴圈之前,***條件變量已正確初始化***,否則可能導致無限迴圈或錯誤的行為。 2. **更新條件**:在 `while` 迴圈內部必須有適當的邏輯來更新條件變量,否則會造成無限迴圈。 3. **可能的無限迴圈**:使用 `while` 迴圈時要小心,特別是在設計條件時,避免無限迴圈導致程序無法停止。 ### 四、總結 - `while` 語句是一個強大的工具,適合用於不確定迴圈次數的情況,通過檢查條件來控制迴圈的執行。 - 基本結構包含條件,確保在每次迴圈執行前進行檢查。 - 使用 `while` 迴圈時應保持邏輯清晰,確保能正常結束迴圈。 ### 五、進一步的學習 在學習 `while` 迴圈的基礎上,可以探索以下主題: - 與其他控制結構(如 `for`)的比較。 - 如何在 `while` 迴圈中使用函數和算法進行計算。 - 實現更複雜的條件邏輯以控制迴圈的執行。 #### [C++筆記: 迴圈(For)](https://hackmd.io/Z8MlsCFKSem7Vf8Z9wbnPg)
×
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