在寫程式時,我們可能需要重複執行某些程式,總不可能每行程式一直複製貼上,這時候就會用到我們的迴圈(loop)。
在程式中,迴圈(loop)用來重複執行同一塊區塊(block),而且會在某一個特別設定的條件下跳出迴圈。
在 C 語言裡,有三種不同的迴圈敘述句,分別為:
for
loop(前測式)while
loop(前測式)do...while
loop(後測式)今天我們先來講講 for
迴圈吧~
for
迴圈for
迴圈基本語法如下:
for(initialization_statement; test_expression; update_state){
statements inside the body of loop
}
要寫 for
迴圈首先要一個初始值,並決定迴圈在這個值符合甚麼條件時是執行的,以及這個值要怎麼更新。
或許看個程式碼會比較清楚一些:
#include<stdio.h>
int main(){
int i, sum = 0;
for(i=0; i<10; i++)
sum += i;
printf("sum = %d\n", sum);
printf("i = %d", i);
return 0;
}
輸出結果:
這個程式宣告了兩個整數變數,i
和 sum
,且 sum=0
。i
是控制我們迴圈次數的,在 for
迴圈裡面,可以看到 i
的初始值等於 0,而這個迴圈只會在 i<10 的情況下執行,並且每執行一次,i
的值會更新(加一)。
for
裡面我們做累加的動作,也就是 sum
會等於0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45。
值得注意的是,因為這個迴圈是屬於前測式,他是這樣運作的: 先判斷 i
是否小於 10,若是的話就執行 sum += i
,執行完 statement 後,i + 1,然後再判斷 i
是否小於 10......所以當 i + 1 = 10 後,就不符合執行迴圈的條件,會跳出迴圈。所以最後 sum
只會從 0 累加到 9。
然後跟 if
條件句一樣,如果 statement 超過一行,就要用大括號 { }
括起來~(所有迴圈都一樣!)
學完了 for
迴圈,我們來練習一下!程式就是要多寫才會進步的!
題目1 : 輸入一個數字 A,計算 A!(階乘=從 1 乘到 A)
題目2 : 使用兩個for
迴圈,輸出九九乘法表,輸出如下: