
- C 程式設計教程
- C - 首頁
- C 基礎
- C - 概述
- C - 特性
- C - 歷史
- C - 環境設定
- C - 程式結構
- C - Hello World
- C - 編譯過程
- C - 註釋
- C - 符號
- C - 關鍵字
- C - 識別符號
- C - 使用者輸入
- C - 基本語法
- C - 資料型別
- C - 變數
- C - 整數提升
- C - 型別轉換
- C - 型別強制轉換
- C - 布林值
- C 語言中的常量和字面量
- C - 常量
- C - 字面量
- C - 轉義序列
- C - 格式說明符
- C 語言中的運算子
- C - 運算子
- C - 算術運算子
- C - 關係運算符
- C - 邏輯運算子
- C - 位運算子
- C - 賦值運算子
- C - 一元運算子
- C - 自增和自減運算子
- C - 三元運算子
- C - sizeof 運算子
- C - 運算子優先順序
- C - 其他運算子
- C 語言中的決策
- C - 決策
- C - if 語句
- C - if...else 語句
- C - 巢狀 if 語句
- C - switch 語句
- C - 巢狀 switch 語句
- C 語言中的迴圈
- C - 迴圈
- C - while 迴圈
- C - for 迴圈
- C - do...while 迴圈
- C - 巢狀迴圈
- C - 無限迴圈
- C - break 語句
- C - continue 語句
- C - goto 語句
- C 語言中的函式
- C - 函式
- C - 主函式
- C - 按值呼叫函式
- C - 按引用呼叫函式
- C - 巢狀函式
- C - 可變引數函式
- C - 使用者定義函式
- C - 回撥函式
- C - 返回語句
- C - 遞迴
- C 語言中的作用域規則
- C - 作用域規則
- C - 靜態變數
- C - 全域性變數
- C 語言中的陣列
- C - 陣列
- C - 陣列的特性
- C - 多維陣列
- C - 將陣列傳遞給函式
- C - 從函式返回陣列
- C - 可變長陣列
- C 語言中的指標
- C - 指標
- C - 指標和陣列
- C - 指標的應用
- C - 指標運算
- C - 指標陣列
- C - 指標到指標
- C - 將指標傳遞給函式
- C - 從函式返回指標
- C - 函式指標
- C - 指向陣列的指標
- C - 指向結構體的指標
- C - 指標鏈
- C - 指標與陣列
- C - 字元指標和函式
- C - 空指標
- C - void 指標
- C - 懸空指標
- C - 解引用指標
- C - 近、遠和巨大指標
- C - 指標陣列的初始化
- C - 指標與多維陣列
- C 語言中的字串
- C - 字串
- C - 字串陣列
- C - 特殊字元
- C 結構體和聯合體
- C - 結構體
- C - 結構體和函式
- C - 結構體陣列
- C - 自引用結構體
- C - 查詢表
- C - 點 (.) 運算子
- C - 列舉 (或 enum)
- C - 結構體填充和打包
- C - 巢狀結構體
- C - 匿名結構體和聯合體
- C - 聯合體
- C - 位域
- C - Typedef
- C 語言中的檔案處理
- C - 輸入和輸出
- C - 檔案 I/O(檔案處理)
- C 預處理器
- C - 預處理器
- C - 指令
- C - 預處理器運算子
- C - 宏
- C - 標頭檔案
- C 語言中的記憶體管理
- C - 記憶體管理
- C - 記憶體地址
- C - 儲存類
- 其他主題
- C - 錯誤處理
- C - 可變引數
- C - 命令執行
- C - 數學函式
- C - static 關鍵字
- C - 隨機數生成
- C - 命令列引數
- C 程式設計資源
- C - 問答
- C - 快速指南
- C - 速查表
- C - 有用資源
- C - 討論
C - 迴圈
迴圈是一種程式設計結構,它表示一個或多個語句塊,這些語句塊被重複執行指定的次數,或者直到達到某個條件。
重複性任務在程式設計中很常見,迴圈對於節省時間和最大程度地減少錯誤至關重要。在C 程式設計中,提供了while、do–while和for關鍵字來實現迴圈。
迴圈結構是任何處理邏輯的重要組成部分,因為它們有助於反覆執行相同的過程。C 程式設計師應該熟悉迴圈結構的實現和控制。
程式語言提供各種控制結構,允許更復雜的執行路徑。迴圈語句允許我們多次執行一個語句或一組語句。
C 迴圈語句的流程圖
下面是迴圈語句的一般流程圖,適用於任何程式語言:

C 程式中的語句總是自上而下執行。如果我們要求編譯器返回到任何先前的步驟,則構成一個迴圈。
示例:C 語言中的迴圈
要了解程式中迴圈的必要性,請考慮以下程式碼片段:
#include <stdio.h> int main (){ // local variable definition int a = 1; printf("a: %d\n", a); a++; printf("a: %d\n", a); a++; printf("a: %d\n", a); a++; printf("a: %d\n", a); a++; printf("a: %d\n", a); return 0; }
輸出
執行此程式碼後,您將獲得以下輸出:
a: 1 a: 2 a: 3 a: 4 a: 5
程式列印“a”的值,並遞增其值。這兩個步驟重複多次。如果您需要列印“a”從 1 到 100 的值,則不希望在程式碼中手動重複這些步驟。相反,我們可以要求編譯器重複執行列印和遞增這兩個步驟,直到它達到 100。
示例:在 C 語言中使用 While 迴圈
您可以使用for、while或do-while結構來重複迴圈。以下程式顯示瞭如何使用 C 語言中的“while”迴圈列印 100 個“a”的值:
#include <stdio.h> int main () { // local variable definition int a = 1; while (a <= 100){ printf("a: %d\n", a); a++; } return 0; }
輸出
執行此程式碼並檢查輸出:
a: 1 a: 2 a: 3 a: 4 ..... ..... a: 98 a: 99 a: 100
如果一個步驟根據任何條件將程式流重定向到任何先前的步驟,則該迴圈是條件迴圈。一旦控制條件變為假,重複將停止。如果在沒有任何條件的情況下進行重定向,則它是一個無限迴圈,因為程式碼塊會永遠重複。
C 迴圈的組成部分
要構成一個迴圈,需要以下元素:
- 迴圈語句(while、do–while或for)
- 迴圈塊
- 迴圈條件
迴圈通常有兩種型別:
C 語言中的計數迴圈
如果迴圈被設計為重複一定次數,則它是一個計數迴圈。在 C 語言中,for迴圈是計數迴圈的一個示例。
C 語言中的條件迴圈
如果迴圈被設計為重複直到某個條件為真,則它是一個條件迴圈。while和do–while結構幫助您形成條件迴圈。
C 語言中的迴圈語句
C 程式設計提供了以下型別的迴圈來處理迴圈需求:
序號 | 迴圈型別和描述 |
---|---|
1 |
在給定條件為真的情況下重複一個語句或一組語句。它在執行迴圈體之前測試條件。 |
2 |
多次執行一系列語句,並縮寫管理迴圈變數的程式碼。 |
3 |
它更像一個 while 語句,除了它在迴圈體結束時測試條件。 |
4 |
您可以在任何其他while、for或do-while迴圈內使用一個或多個迴圈。 |
根據給定情況,必須使用上述每種迴圈型別。我們將在後續章節中詳細瞭解這些迴圈型別。
C 語言中的迴圈控制語句
迴圈控制語句改變執行的正常順序。當執行離開作用域時,在該作用域中建立的所有自動物件都會被銷燬。
C 支援以下控制語句:
序號 | 控制語句和描述 |
---|---|
1 |
終止迴圈或switch語句,並將執行轉移到迴圈或 switch 後面的語句。 |
2 |
導致迴圈跳過其主體剩餘部分,並在重新迭代之前立即重新測試其條件。 |
3 |
將控制轉移到帶標籤的語句。 |
break和continue語句具有相反的目的。goto語句充當跳轉語句,如果它導致程式跳轉到後面的語句。如果goto語句將程式重定向到前面的語句,則它構成一個迴圈。
C 語言中的無限迴圈
如果條件永遠不會變為假,則迴圈將變為無限迴圈。無限迴圈是一個無限重複的迴圈,因為它沒有終止條件,或者永遠不會滿足終止條件,或者迴圈被指示從開頭重新開始。
儘管程式設計師可以有意使用無限迴圈,但它們通常是新程式設計師犯的錯誤。
示例:C 語言中的無限迴圈
for迴圈傳統上用於建立無限迴圈。由於構成“for”迴圈的三個表示式都不需要,因此您可以透過將條件表示式留空來建立一個無限迴圈。
#include <stdio.h> int main (){ for( ; ; ){ printf("This loop will run forever. \n"); } return 0; }
輸出
透過執行此程式碼,您將獲得一個無限迴圈,它將永遠重複列印同一行。
This loop will run forever. This loop will run forever. ........ ........ This loop will run forever.
當條件表示式不存在時,它被假定為真。您可能有一個初始化和增量表達式,但 C 程式設計師更常使用for(;;)結構來表示無限迴圈。
注意 - 您可以透過按下“Ctrl + C”鍵來終止無限迴圈。