迴圈
戴瑢溱
目錄
概念簡介
概念簡介―什麼是迴圈?


迴圈(LOOP)是一種程式結構, 可以讓某段程式碼根據一定的條件「重複執行」, 目的是為了讓程式碼更簡潔、有效率.
概念簡介―迴圈的種類
-
計數迴圈(For迴圈)― 重複固定次數
- 印出活動傳單30張
- 罰抄「我不會再熬夜做簡報了」50次
-
條件迴圈(While迴圈)― 條件符合時重複執行
- 當我還有作業要寫時, 我就會繼續寫作業.
- 當老師還在教室時, 我就要表現得很乖巧.
情境模擬 : 以背英文單字為例
- 計數迴圈: 一次背一個單字, 一直背直到背完全部的單字.
- 條件迴圈: 當我還沒背熟單字, 我就會再看一次直到背起來.
計數迴圈
條件迴圈
打開課本
背一個單字
結束
重複執行直到
背完所有單字
背一個單字
背起來了嗎?
結束
背起來了
還沒背起來
再看一次
FOr迴圈
for迴圈
for(初始式; 判斷式; 更新式){
執行內容;
}for(int i = 1; i <= 5; i++){
cout << i << " ";
}for(int i = 5; i >= 1; i--){
cout << i << " ";
}輸出: 1 2 3 4 5
輸出: 5 4 3 2 1
for迴圈
for(int i = 1; i <= 5; i++){
cout << i << " ";
}for(int i = 5; i >= 1; i--){
cout << i << " ";
}i值
i <= 5
i++
第1次
第2次
第3次
第4次
第5次
第6次
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
第1次
第2次
第3次
第4次
第5次
第6次
✓
✓
✓
✓
✓
✗
1 -> 2
2 -> 3
3 -> 4
4 -> 5
5 -> 6
i值
i >= 1
i--
第1次
第2次
第3次
第4次
第5次
第6次
i = 5
i = 4
i = 3
i = 2
i = 1
i = 0
第1次
第2次
第3次
第4次
第5次
第6次
✓
✓
✓
✓
✓
✗
5 -> 4
4 -> 3
3 -> 2
2 -> 1
1 -> 0
執行5次
執行5次
輸出:
1
2
3
4
5
輸出:
5
4
3
2
1
* i++ -> i = i + 1
* i-- -> i = i - 1
初始式 判斷式 更新式
初始式 判斷式 更新式
for迴圈
#include <iostream>
using namespace std;
int main()
{
for(int i = 1; i <= 10; i++){
cout << "ZSISC" << endl;
}
}答案 :
練習題1 : 使用for迴圈輸出「ZSISC」 10次
2分鐘
for迴圈
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
for(int i = 1; i <= 50; i++){
sum = sum + i;
}
cout << sum << endl; //1275
}練習題2 : 使用for迴圈計算出1~50的總和
答案 :
2分鐘
While迴圈 & Do-While迴圈
While迴圈
while(條件式){
執行內容;
}int a = 1;
while(a <= 5){
cout << a << " ";
}int a = 1;
while(a <= 5){
cout << a << " ";
a++;
}輸出: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
輸出: 1 2 3 4 5
與for迴圈不同
需在迴圈前先定義變數
為了避免無窮迴圈
每跑一次迴圈a遞增1
無窮迴圈
While迴圈
int a = 1;
while(a <= 5){
cout << a << " ";
a++;
}
進入while迴圈
a <= 5 ?
成立
cout << a << " " ;
a++ ;
條件是否再次成立?
int a = 1 ;
不成立
離開迴圈繼續執行
第2次 a = 2
第3次 a = 3
第5次 a = 5
第4次 a = 4
第6次 a = 6
第1次 a = 1
✓
✓
✓
✓
✓
✗不成立 離開迴圈
輸出:
1
2
3
4
5
1 -> 2
2 -> 3
3 -> 4
4 -> 5
5 -> 6
#include <iostream>
using namespace std;
int main()
{
int a = 1;
while(a <= 10) {
cout << "學姐好正" << endl;
a++;
}
}答案 :
練習題1 : 使用while迴圈輸出「學姐好正」 10次
While迴圈
2分鐘
#include <iostream>
using namespace std;
int main()
{
int a = 1;
int sum = 0;
while(a <= 100){
sum = sum + a;
a++;
}
cout << sum << endl; //5050
}答案 :
練習題2 : 使用while迴圈計算出1~100的總和
While迴圈
2分鐘
do-While迴圈
#include <iostream>
using namespace std;
int main(){
int a = 1;
do{
cout << a << " ";
a++;
}while (a <= 5);
}進入do-while迴圈
成立
條件是否再次成立?
int a = 1 ;
不成立
離開迴圈繼續執行
第2次
第3次
第5次
第4次
第1次
✓
✓
✓
✓
✗不成立 離開迴圈
輸出:
1
2
3
4
5
a <= 5 ?
cout << a << " " ;
a++ ;
1 -> 2
2 -> 3
3 -> 4
4 -> 5
5 -> 6
巢狀迴圈
巢狀迴圈
- 巢狀迴圈是指在一個迴圈內部再包含另一個或多個迴圈.
- 外層迴圈每執行一次, 內層迴圈會完整執行直到結束.
- 巢狀迴圈可以有多層, 常用於處理多維結構或重複計算.

#include <iostream>
using namespace std;
int main()
{
for(int i = 1; i <= 9; i++){
for(int j = 1; j <= 9; j++){
cout << i << "*" << j << "=" << i*j << " ";
}
cout << endl;
}
}答案 :
巢狀迴圈
| j\i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 2 | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 |
| 3 | 3 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 |
| 4 | 4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 |
| 5 | 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 |
| 6 | 6 | 12 | 18 | 24 | 30 | 36 | 42 | 48 | 54 |
| 7 | 7 | 14 | 21 | 28 | 35 | 42 | 49 | 56 | 63 |
| 8 | 8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72 |
| 9 | 9 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81 |
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
...
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
練習題1 : 印出九九乘法表
2分鐘
感謝聆聽 !
迴圈
By ariel tai
迴圈
- 36