iT邦幫忙

0

【從零開始的 C 語言筆記】第十八篇-For Loop

  • 分享至 

  • xImage
  •  

不怎麼重要的前言

上一篇介紹了if條件式的語法,讓我們可以依照設定好的條件來執行不同內容。

這次我們來介紹程式設計中另一個很重要的語法--「For Loop」!


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;
}

https://ithelp.ithome.com.tw/upload/images/20211101/20142565jDy9n64bGA.png


正式使用For Loop

  1. 規則

(1) for迴圈的基本結構:「( )」包住的內容為條件,被「{ }」包住的內容為需重複執行的body。

for(int i = 0; i < 10; i++){
    data = data+1;
}

https://ithelp.ithome.com.tw/upload/images/20211101/20142565Zg2VC4YSfY.png

(2) for迴圈的條件有三個區塊
a. 條件中的三個區塊作用分別如以下

for(int i = 0; i < 10; i++){
    data = data+1;
}

https://ithelp.ithome.com.tw/upload/images/20211101/201425655kZH2jRf8Z.png

b. 依照邏輯可以把for迴圈的條件拆開成這樣,執行結果也會是一樣的。
https://ithelp.ithome.com.tw/upload/images/20211101/20142565FAPvGSWdGM.png

#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;
}

https://ithelp.ithome.com.tw/upload/images/20211101/20142565KSFKu34Njx.png

(3) 通常使用for迴圈時,是在我們能明確知道迴圈需重複多少次時。

  1. 應用
    我們可以結合第九篇提到scanf來設定迴圈次數,然後用上一篇學的if來判斷使用者輸入的data。
#include <stdio.h>

int main(void)
{
    int data,times;

    printf("plz input times: ");
    scanf("%d", &times);
    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;
}

https://ithelp.ithome.com.tw/upload/images/20211101/20142565KTgTGVWOKJ.png


看到這裡差不多介紹完for迴圈的概念了,結合上次if條件式的概念,不曉得這樣的介紹方式大家能不能好好理解,可以多多嘗試之前學過的東西結合,這樣比較好知道怎麼使用!

下一篇我們來介紹另一個loop--「While Loop」!


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言