---
# System prepended metadata

title: C++_for迴圈

---

# 什麼是 for 迴圈？
`for` 迴圈是一種迭代控制結構，用於**重複執行一段程式碼**。
它通常用於當我們知道需要重複執行的次數時。

## for 迴圈的語法
```cpp=
for (初始化; 條件; 更新) {
    // 要重複執行的程式碼
}
```

* 初始化: 在迴圈開始前執行一次，通常用來**初始化迴圈變數**。
* 條件: 在每次迴圈開始前判斷，如果為`true`，則執行迴圈體，否則結束迴圈。
* 更新: 在每次迴圈結束後執行，通常用來***更新迴圈變數**。

### 運作原理
* 初始化: 執行初始化部分，給迴圈變數賦初始值。
* 判斷: 判斷條件是否為真。
如果為`true`，執行迴圈，然後執行更新部分，再回到步驟 2。
如果為`false`，結束迴圈。

eg.
```cpp=
#include <iostream>
using namespace std;

int main() {
    for (int i = 0; i <= 10; i++) {
        cout << i << " ";
    }
    cout << endl;
    return 0;
}
```

### 解釋:
* i = 0：初始化迴圈變數 `i` 為 0。
* i <= 10：當 `i` 小於等於 10 時，繼續迴圈。
* i++：每次迴圈結束後，`i` 的值加 1。
* 迴圈：輸出 `i` 的值。
![for迴圈](https://hackmd.io/_uploads/HkDhtPjsR.png)


## 應用

* 遍歷陣列: 逐一訪問陣列中的元素。
* 重複執行某個操作: 例如，計算 1 到 100 的和。
* 產生序列: 產生一系列數字或字符。

### eg.計算 1 到 100 的和
```cpp=
#include <iostream>
using namespace std;

int main() {
    int sum = 0;
    for (int i = 1; i <= 100; i++) {
        sum += i;
    }
    cout << "1 到 100 的和為：" << sum << endl;
    return 0;
}
```

### 巢狀 for 迴圈
可以在一個 `for` 迴圈內嵌套另一個 `for` 迴圈，用於處理多維資料或實現更複雜的算法。

```cpp=
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 5; j++) {
        cout << "* ";
    }
    cout << endl;
}
```

## NOTE!!
* 初始化、條件和更新部分可以省略其中之一或多個，但**分號不能省略**。
* 迴圈變數的作用域僅限於**迴圈內部**。
* 避免在迴圈內修改迴圈變數，以免導致無限迴圈。

## 嘿嘿:
`for` 迴圈是 `C++` 中最**常用的迴圈結構之一**，它提供了簡單而有效的方式來重複執行一段程式碼。
通過理解 `for` 迴圈的語法和工作原理，可以更好地掌握 `C++` 程式設計，在學習後面的**陣列**也會大有幫助喔!!