上一篇介紹了if條件式的語法,讓我們可以依照設定好的條件來執行不同內容。
這次我們來介紹程式設計中另一個很重要的語法--「For Loop」!
「Loop」一詞在中文翻譯中一般稱為「迴圈」,而使用到它的時機在於,當我們需要重複的利用相同方法處理資料時,我們會使用迴圈來代勞,而不是複製許多相同的程式碼於程式中,雖然執行結果也許是相同的,但迴圈能使我們省去重複撰寫的麻煩,而是讓程式能在符合條件時自動執行。
其中「For Loop」就是我們第一個要學習的迴圈模式,通常我們需要明確次數的重複處理時會使用到它。
假設今天我們需要將使用者的輸入,進行十次處理後輸出答案(這裡只是單純把data+1),可以參考以下的程式碼:
#include <stdio.h>
int main(void)
{
int data;
printf("input your data: ");
scanf("%d", &data);
printf("---\n");
for (int i = 0; i < 10; i++){
data = data+1;
printf("This is %d times for loop.\n", i+1);
}
printf("---\n");
printf("result: %d\n", data);
return 0;
}
(1) for迴圈的基本結構:「( )」包住的內容為條件,被「{ }」包住的內容為需重複執行的body。
for(int i = 0; i < 10; i++){
data = data+1;
}
(2) for迴圈的條件有三個區塊
a. 條件中的三個區塊作用分別如以下
for(int i = 0; i < 10; i++){
data = data+1;
}
b. 依照邏輯可以把for迴圈的條件拆開成這樣,執行結果也會是一樣的。
#include <stdio.h>
int main(void)
{
int data;
printf("input your data: ");
scanf("%d", &data);
printf("---\n");
int i = 0;
for (; i < 10;){
data = data+1;
printf("This is %d times.\n", i+1);
i++;
}
printf("---\n");
printf("result: %d\n", data);
return 0;
}
(3) 通常使用for迴圈時,是在我們能明確知道迴圈需重複多少次時。
#include <stdio.h>
int main(void)
{
int data,times;
printf("plz input times: ");
scanf("%d", ×);
printf("---\n");
for(int i = 0; i < times; i++){
printf("plz input your data: ");
scanf("%d", &data);
if(data%2 == 0){
printf("this num is even.\n\n");
}
else{
printf("this num is odd.\n\n");
}
}
return 0;
}