以下是您提供的文本的繁體中文翻譯,使用了Markdown格式:

C - Loops

# C - 迴圈:您高效編程的入門

你好,有志者程序員!今天,我們將踏上一段令人興奮的旅程,進入C語言的迴圈世界。作為你親切友善的鄰居計算機科學老師,我非常高興能夠引導你們了解這個將會革新你們編程體驗的基本概念。

## 迴圈是什麼,我們為什麼需要它們?

想像一下,如果你被要求寫100次"我愛編程"。這聽起來很無聊,對吧?這就是迴圈出場救援的地方!迴圈允許我們重複執行一段代碼,節省時間並使我們的程序更高效。

## C 迴圈語句的流程圖

在我們深入研究代碼之前,讓我們先視覺化一下迴圈是如何工作的:
 ┌─────────────┐
 │ 開始迴圈    │
 └──────┬──────┘
        │
 ┌──────▼──────┐
 │   條件     │
 └──────┬──────┘
        │
┌───────┴───────┐
│             │ 是
│   ┌───────────▼─────────┐
│   │  執行迴圈身體      │
│   └───────────┬─────────┘
│               │
│   ┌───────────▼─────────┐
│   │  更新計數器        │
│   └───────────┬─────────┘
│               │

┌───▼───┐ │ │ 結束 │◄──────────┘ └───────┘


這個流程圖展示了迴圈的基本結構。我們從檢查一個條件開始。如果它是真的,我們執行迴圈身體並更新我們的計數器。然後,我們再次檢查條件。這個過程會持續,直到條件變為假。

## C語言中的迴圈類型

C語言為我們提供了三種主要的迴圈類型。讓我們一一探討:

### 1. For 迴圈

當你確切知道你想重複多少次某件事時,`for` 迴圈是完美的選擇。

```c
#include <stdio.h>

int main() {
    for (int i = 1; i <= 5; i++) {
        printf("迭代 %d\n", i);
    }
    return 0;
}

在這個例子中,我們打印了迭代號碼5次。讓我們分解一下:

  • int i = 1:初始化我們的計數器
  • i <= 5:只要這個條件為真,就繼續
  • i++:在每次迭代後增加我們的計數器

輸出:

迭代 1
迭代 2
迭代 3
迭代 4
迭代 5

2. While 迴圈

當你想在條件為真的情況下重複某事時,while 迴圈是非常好的選擇。

#include <stdio.h>

int main() {
    int count = 1;
    while (count <= 5) {
        printf("計數是:%d\n", count);
        count++;
    }
    return 0;
}

在這裡,我們從1數到5。只要count小於或等於5,迴圈就會繼續。

輸出:

計數是:1
計數是:2
計數是:3
計數是:4
計數是:5

3. Do-While 迴圈

do-while 迴圈與while 迴圈相似,但它保證至少會執行一次迴圈身體。

#include <stdio.h>

int main() {
    int num = 1;
    do {
        printf("%d 的平方是 %d\n", num, num * num);
        num++;
    } while (num <= 5);
    return 0;
}

這個程序計算並打印1到5的數字的平方。

輸出:

1 的平方是 1
2 的平方是 4
3 的平方是 9
4 的平方是 16
5 的平方是 25

C 迴圈的組成部分

C語言中的每個迴圈都由三個主要部分組成:

  1. 初始化:我們設置迴圈變量
  2. 條件:決定是否繼續迴圈的測試
  3. 更新:每次迭代後我們如何改變我們的迴圈變量

C語言中的迴圈控制語句

有時候,我們需要對我們的迴圈有更多的控制。C語言為此提供了兩個特殊的語句:

1. Break 語句

break 語句允許我們提前退出迴圈。

#include <stdio.h>

int main() {
    for (int i = 1; i <= 10; i++) {
        if (i == 6) {
            printf("在 i = %d 時終止迴圈\n", i);
            break;
        }
        printf("i = %d\n", i);
    }
    return 0;
}

這個迴圈會在i達到6時停止。

輸出:

i = 1
i = 2
i = 3
i = 4
i = 5
在 i = 6 時終止迴圈

2. Continue 語句

continue 語句跳過當前迭代的剩餘部分並移動到下一個迭代。

#include <stdio.h>

int main() {
    for (int i = 1; i <= 5; i++) {
        if (i == 3) {
            printf("跳過迭代 %d\n", i);
            continue;
        }
        printf("i = %d\n", i);
    }
    return 0;
}

這個迴圈會在i為3時跳過打印。

輸出:

i = 1
i = 2
跳過迭代 3
i = 4
i = 5

C語言中的無限迴圈

無限迴圈是一個永遠不會結束的迴圈。雖然通常是不故意的,但在某些情況下我們可能會需要這種行為。

#include <stdio.h>

int main() {
    while (1) {
        printf("這將會永久打印!\n");
    }
    return 0;
}

請謹慎使用無限迴圈!如果處理不當,它們會導致程序崩潰。

結論

恭喜你!你已經邁出了進入C語言迴圈世界的第一步。記住,熟練是由練習而來的。嘗試自己寫一些迴圈,試試不同的條件,很快你就能像專家一樣使用迴圈了!

這裡是我們討論過的迴圈類型的快速參考表:

迴圈類型 語法 最適用於
For for (init; condition; update) { ... } 你知道確切的迭代次數
While while (condition) { ... } 你想根據條件重複
Do-While do { ... } while (condition); 你需要至少執行一次迴圈

快樂編程,願你的迴圈總是在你想要時終止!

Credits: Image by storyset