在編程中,我們經常需要重複執行某段代碼。比如,要打印1到10這10個數字,如果不用循環,就得寫10行cout語句,這顯然很麻煩。而C++中的for循環,就能幫我們輕鬆解決這種重複任務。
一、爲什麼需要for循環?¶
當你需要重複執行一段代碼固定次數時,for循環是最常用的工具。比如:
- 打印1到100的所有數字;
- 計算1到100的總和;
- 遍歷數組中的每個元素。
手動重複寫代碼既浪費時間,又容易出錯,而for循環能讓你用幾行代碼完成大量重複工作。
二、for循環的基本語法¶
for循環的格式非常直觀,由三個核心部分組成,用分號分隔:
for(初始化; 循環條件; 更新循環變量) {
// 循環體:要重複執行的代碼
}
各部分解釋:¶
- 初始化:通常是給循環變量賦初始值(如
int i = 1),只在循環開始時執行一次。 - 循環條件:一個布爾表達式(結果爲
true或false),只有條件爲true時,纔會執行循環體。 - 更新循環變量:每次循環結束後,對循環變量進行調整(如
i++表示i自增1)。
三、從簡單例子學起¶
例子1:打印1到10的數字¶
#include <iostream>
using namespace std;
int main() {
// 初始化i=1,條件i<=10,每次i加1
for(int i = 1; i <= 10; i++) {
cout << "當前數字:" << i << endl; // 循環體:打印i
}
return 0;
}
執行過程:
- 初始時i=1,條件1<=10爲true,執行循環體,打印1;
- 執行i++,i變爲2;
- 重複判斷2<=10,打印2,直到i=11時,條件11<=10爲false,循環結束。
輸出結果:
當前數字:1
當前數字:2
...
當前數字:10
例子2:計算1到10的和¶
我們需要一個變量sum來累加結果,初始值爲0:
#include <iostream>
using namespace std;
int main() {
int sum = 0; // 累加變量,初始化爲0
for(int i = 1; i <= 10; i++) {
sum = sum + i; // 每次循環將i加到sum中
}
cout << "1到10的和是:" << sum << endl; // 輸出結果55
return 0;
}
執行過程:
- sum初始爲0,i從1開始;
- 循環10次,每次sum += i,最終sum = 0+1+2+...+10 = 55。
四、for循環的常見寫法¶
1. 省略部分條件¶
- 省略初始化:若循環變量已提前定義,可省略
初始化部分(但不建議初學者使用)。
int i = 1;
for(; i <= 10; i++) { // 省略初始化部分
cout << i << endl;
}
- 省略更新:若條件包含更新邏輯,可省略
更新部分(但需手動確保條件終止,易導致死循環)。
for(int i = 1; i <= 10; ) { // 省略更新部分
cout << i << endl;
i++; // 手動更新i
}
2. 單行循環體¶
若循環體只有一條語句,可省略大括號{},但建議始終加上大括號,避免邏輯錯誤:
for(int i = 1; i <= 3; i++) {
cout << i; // 單行,可省略{},但推薦:
}
// 或:
for(int i = 1; i <= 3; i++) cout << i; // 省略{},但可讀性差
五、進階實例:打印乘法表¶
for循環也支持嵌套使用(循環內再套一個循環),經典例子是打印9×9乘法表:
#include <iostream>
using namespace std;
int main() {
for(int i = 1; i <= 9; i++) { // 外層循環控制行數
for(int j = 1; j <= i; j++) { // 內層循環控制列數
cout << j << "×" << i << "=" << j*i << "\t"; // 打印每行乘積
}
cout << endl; // 每行結束換行
}
return 0;
}
輸出結果:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
...(後續行省略)
六、常見錯誤與注意事項¶
- 死循環:條件永遠爲
true導致循環無法終止。
例如:for(int i=1; i<10; i--)(i自減導致永遠小於10)。 - 循環變量作用域:若在
for循環內定義變量(如int i),則循環外無法使用。
for(int i=1; i<=3; i++) { /* 循環內可用i */ }
cout << i; // 錯誤!i在循環外未定義
- 條件寫反:例如
i < 10寫成i > 10,導致循環一次都不執行。
七、總結¶
for循環是C++中處理固定次數重複任務的核心工具,通過“初始化→條件判斷→更新變量”三步,實現代碼的自動重複執行。掌握它的關鍵是:
- 理解三個部分的作用;
- 多寫簡單實例(如求和、打印序列);
- 注意避免死循環和變量作用域問題。
多動手練習不同場景(如計算階乘、遍歷數組),你會逐漸熟練掌握for循環的用法!