今天我們來看看 while
迴圈吧~
while
迴圈的基本語法:
while(test_Expression){
//the body of loop
}
while
迴圈一樣屬於前測式,執行迴圈前,會先判斷 test_Expression 的條件是否為真,如果為真,就會執行迴圈裡面的 statement,執行完再繼續判斷 test_Expression 的條件。如果 test_Expression 的條件為否,就不會執行 statement,直接跳出迴圈。
讓我們用 while
迴圈寫寫看累加:
#include<stdio.h>
int main(){
int i = 0, sum = 0;
while(i < 10){
sum += i;
i++;
}
printf("sum = %d, i = %d", sum, i);
return 0;
}
輸出結果:
會發現,for
迴圈能做到的,while
迴圈也能做到~
要注意的是,因為 while
後面只放條件,所以控制條件的那個變數(這裡是i
)要記得更新!
小補充:如果寫成 while
後面的小括號裡條件放 1,就會變成無窮迴圈~
現在來介紹 do...while
迴圈~
do...while
迴圈的基本語法:
do{
//the body of loop
}while(test_Expression);
注意:while()
後面是有分號的!do...while
迴圈是屬於後測式迴圈,他會先執行 statement 再判斷 test_Expression 條件是否成立,所以,do...while
迴圈至少會執行一次。
使用哪一種結構是看需求,如果是輸入帳號密碼,那使用 do...while
是比較理想的:先讓使用者輸入帳號密碼,再判斷所輸入的帳號密碼是否正確!
來看看如果是使用 do...while
,一樣想要從 0 累加到 9 要怎麼寫吧!
#include<stdio.h>
int main(){
int i = 0 , sum = 0;
do{
sum += i;
i++;
}while(i < 10);
printf("sum = %d, i = %d", sum, i);
return 0;
}
輸出結果:
用 do...while
迴圈是不是也很容易呢?
今天我們學了 while
迴圈、do...while
迴圈,為了更熟悉迴圈的使用,一樣也來寫作業練習一下吧~
作業:輸入數字,輸出對應的星星。(請用
for
迴圈與while
迴圈兩種方法各寫一次)輸出結果要像這樣:
明天我們再來討論一下作業吧~