---
# System prepended metadata

title: 重複結構for/while
tags: [APCS與競賽入門]

---

# 重複結構for/while


## for/while 的用法
當我們要持續不斷地跑一段程式碼時，我們不可能一次一次的複製它讓他循序漸進的執行，就像古人從+進化為*，程式也是一個道理，當你要重複執行固定的流程，就需要用到這個語法，這個語法是屬於迴路式的語法


|      循序式      |       條件式       |           迴圈           |
|:----------------:|:------------------:|:------------------------:|
| 程式由上到下執行 | 程式滿足條件後執行 | 會一直執行直到不滿足條件 |


## for/while 的流程和原理


|  step1   |          step 2          |          step3           |
|:--------:|:------------------------:|:------------------------:|
| 設定條件 | 當符合這個條件時繼續執行 | 跳到下一行程式碼繼續執行 |

## break and continue
### break 的功能
break 的功能是可以提早結束迴圈，類似一個休止符，而那個迴圈被打斷後，程式碼會按照由上到下的規則來執行
### coutinue的使用
如果條件成立，但是不想執行迴圈，就可以使用continue語法，讓程式立刻跳掉開頭的迴圈

### 常用的運算圖型



|  ＞  | ＞ =     | ＜   | ==     | &&  | ＜=      |
|:----:| -------- | ---- | ------ | --- | -------- |
| 大於 | 大於等於 | 小於 | 雙等於 | 或  | 小於等於 |

### 程式範例
```cpp
while(條件){
    if(條件){
        break;//達成條件強制結束  
    }
    if(條件){
        continue;//跳過剩餘程式碼
    }
    //需重複執行的程式
}
```
## 例題
```cpp=
//輸入國、英、數三科分數；假如三科都大於等於80或單科大於等於90則顯示「很優秀」，否則顯示「再加油!」
#include <iostream>
using namespace std;

int main(){
    float chinese, english, math;
    cout << "請輸入你的國英數分數";
    cin >> chinese >> english >> math ;
    if(chinese>90 && math>90 && english>90){
        cout <<"很優秀" << endl;
    }else{
        cout <<"再加油" <<endl;
    }
    return 0;                        
}
```










## 習題

###### tags: `APCS與競賽入門`
