HOME ABOUT CONTACT

C/C++教學: 第十課 - for迴圈

Rain July 20, 2024
Outline

1. for迴圈簡介

2. 變數宣告

3. 迴圈執行條件

4. 變數操作

5. 其他補充

for迴圈簡介top

本篇教學將要介紹幾乎所以程式語言都有迴圈結構 - for迴圈,此結構可以重複執行結構內的程式碼,當條件式達成時,就會跳脫出迴圈並繼續往下執行其他城市碼。

那麼首先我們先來看看此結構的基本架構:


for ( variables declaration ; 
        running conditions ; variable operations) {
    // Do something ...
}
                    

首先for迴圈的括號內分成三個部分,第一個變數宣告, 第二個為迴圈執行條件,最後是變數操作,每個部分都必須是用分號來區隔。

變數宣告top

變數宣告的語法和之前教學的範例一樣,並沒有不同,值得注意的是,在這裡宣告的變數只能供for迴圈區塊內使用,在架構之外的程式碼就認不得此變數。 然而,若是在for迴圈架構之外宣告的變數,for迴圈架構是可以使用此變數的,例如以下範例:


for ( int i = 0 ; ; ) {
        i++;
}
printf("The result: %d\n", i); // 此行會造成編譯錯誤,因為編譯器認不得變數i。
                        

int i = 0;
for ( ; ; ) {
    i++;
}
printf("The result: %d\n", i); // 編譯通過
                    

迴圈執行條件top

迴圈跳脫可以說是迴圈中關鍵的環節,若沒有這樣的處理,那麼程式就會一直卡在迴圈內,形成無窮迴圈。 那麼迴圈可以怎麼跳脫呢? 這又分成兩種方式,一種就是在迴圈執行條件部分寫上條件式,另一種就是在迴圈內部寫上跳脫條件,並且使用break關鍵字讓程式跳脫出迴圈,例如以下範例:


for ( int i = 0 ; i < 10 ; ) { //迴圈執行條件為i小於10,則迴圈持續進行
        i++;
}
                        

for ( int i = 0 ; ; ) {
    i++;
    if (i >= 10) // 當變數i已經大於等於10時,則跳脫出此迴圈架構。
        break;
}
                    

變數操作top

變數操作的部分,我們可以不僅可以對for迴圈變數宣告的變數進行操作,也能對外部變數進行操作。 而上述的範例中,我們都是在迴圈內部對變數進行操作,但若是變數沒有需要進行太複雜的計算操作,我們是可以變數操作的區隔內寫上操作的程式碼,例如以下範例:


for ( int i = 0 ; i < 10 ; i++ ) { //每次迴圈進行完一次,變數i會增加1
    // Do something ...
}
                        

其他補充top

for迴圈架構在應用上可以說是很彈性靈活的,有幾個值得注意的點是可以幫助你靈活地使用這個架構:
1. for迴圈括號內的三個區隔可以是空白的,但必須要有分號區隔,像是for( ; ; ),但要注意迴圈跳脫的處理。
2. 每個區隔內可以是多個定義、條件和操作,例如以下範例:


for ( int i = 0, j = 0 ; i < 10 || j < 20 ; i++, j++) { //每次迴圈進行完一次,變數i會增加1
    // Do something ...
}
                        

下一篇: 第十一課 - while迴圈

Last updated:

Related Artical List

  1. C/C++教學: 第八課 - if - else if - else 判斷式結構
  2. C/C++教學: 第九課 - switch結構
  3. C/C++教學: 第十一課 - while迴圈

Article List