# 迴圈 ---- ## 迴圈的用途 迴圈可以簡短需要重複執行程式,也可以用在不知道要執行多少次(或什麼時候要停)的時候。 除此之外,迴圈內的值也可以每次有一些差異。 --- # while迴圈 while迴圈會在某個條件為真的時候, 不斷的執行內部的程式。 ---- ## 用法 ```cpp while(布林值){ 一段程式 } ``` 小括號裝布林值,也可以直接放比較、邏輯運算。 如果為`true`,就會進行一次迴圈,然後再看一次。 如果為`false`,就會結束迴圈。 大括號裝布林值成立時會執行的程式。 ---- ## 範例 ```cpp int i=0; //i先設為0 while(i<10){ //只要i<10,裡面的就會執行。 cout<<i<<' '; i+=3 //每次把i加3。 } cout<<'\n'; //換行 ``` 結果 ``` 0 3 6 9 ``` ---- ## 不斷輸入 如果要輸入直到結束(EOF),可以使用while。 如果沒辦法cin的時候,會回傳false,就可以跳出while迴圈。 ```cpp int n; while(cin>>n){ //一段程式 } ``` --- # for迴圈 for迴圈和while迴圈很像,不過小括號 分成了三個部分。 ---- ## 用法 ```cpp for(開頭; 判斷; 操作){ 一段程式 } ``` 開頭:通常是宣告或指派,偶爾會空著。 判斷:一個布林值,和while的條件一樣。 操作:每次迴圈內執行結束時會執行一次。 ---- ## 範例 ```cpp for(int i=0; i<10; i+=2){ //i先設為0,接著只要i比10小,就不斷執行 //裡面的程式,並且在每次執行完之後把i加2。 cout<<i<<' '; } cout<<'\n'; ``` 結果 ``` 0 2 4 6 8 ``` 補充:如果要在內部改變i的值也是可以的。 --- # do...while迴圈 do while迴圈和while迴圈幾乎一模一樣,只是判斷是在每次執行結束後,而不是執行前。 也就是說至少會執行一次。 ---- ## 用法 ```cpp do{ 一段程式 }while(布林值); ``` 需要注意的是這裡的while()後有分號, 而之前的while()和for()後都沒有分號 --- # 巢狀迴圈 巢狀迴圈是個概念,指的是一個迴圈裡裝著另一個迴圈。 --- # 迴圈控制 迴圈控制是除了每次執行的判斷式之外,可以在迴圈中控制迴圈執行的程式。 ---- ## break跳出 break的用法非常簡單,只要呼叫break,就會直接跳出這一層迴圈,並且不會執行for和do while尾部的程式。 ---- ## continue繼續 continue會跳過這一輪迴圈後面的東西,直接到結尾執行和判斷。 ---- ## 範例 ```cpp for(int i=4; i<15; i++){ if(i==6) continue; //如果碰到6,就直接跑下一圈(7)。 if(i%3==0) break; //如果碰到3的倍數,就跳出迴圈, //但6因為先被跳過,所以不會跳出 cout<<i<<' '; } cout<<i<<'\n'; ``` 結果 ``` 4 5 7 8 9 ```
{"description":"迴圈可以簡短需要重複執行程式,也可以用在不知道要執行多少次(或什麼時候要停)的時候。\n除此之外,迴圈內的值也可以每次有一些差異。","title":"迴圈","contributors":"[{\"id\":\"00ad9127-6491-4b3d-829b-7847a217f8e5\",\"add\":1804,\"del\":168}]"}
    145 views