首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言循環總結與實戰:while/for/do-while 對比、break/continue 控制、經典算法示例

     編輯:C 語言基礎

三大循環對比

關鍵總結

  • while/do-while:循環變量初始化在循環外部,循環體內必須有趨於結束的語句
  • for:初始化、條件、迭代集中一行,結構緊湊,功能最強,可替代其他循環
  • goto 構成循環:不推薦,易產生面條代碼,現代語言多已移除

break / continue 控制流

循環判斷時機至少執行一次適用場景
while前測試否次數未知、條件複雜
do-while後測試是菜單、輸入驗證、至少一次
for前測試否次數明確、計數器控制

break 示例:死循環 + 條件退出

int i = 1, sum = 0;
while (1) {          // 死循環
    sum += i;
    i++;
    if (i > 100) break;
}
printf("%d\n", sum);  // 5050

continue 示例:過濾特定輸入

char c = 0;
while (c != '\n') {
    c = getchar();
    if (c == '4' || c == '5') continue;  // 跳過輸出
    putchar(c);
}
// 輸入 0123456789 → 輸出 01236789

經典算法示例

1. 萊布尼茨級數求 π

#include <stdio.h>
#include <math.h>

int main() {
    double p = 0, term;
    for (int i = 1; i < 10000; i++) {
        term = pow(-1.0, i + 1) / (2 * i - 1);  // (-1)^(i+1) / (2i-1)
        p += term;
        printf("%.10f\n", 4 * p);  // 每項逼近值
    }
    printf("Final π ≈ %.10f\n", 4 * p);
    return 0;
}

pow(x,y) 計算 x^y,需 math.h。項數越多越精確,耗時越長。

更多練習題目

  • 判斷素數
  • 輸出 2 的 N 次冪
  • 九九乘法表(5 種解法)
  • 百錢買百雞
  • 1/2/5 分硬幣組合 1 元
  • 牛頓法求平方根
  • 尋找真因子
  • 硬幣總值計算
  • 輸入 n 整數求和

編程思維建議

語法掌握 ≠ 會編程。遇到實際問題不知從何下手,是缺乏編程思維與經驗。建議:

  1. 多閱讀優秀代碼
  2. 手敲經典例題,不看答案完成
  3. 畫流程圖/寫偽代碼再編碼
  4. 從簡單問題入手,逐步增加複雜度
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
關鍵字作用多層循環
break跳出整個當前循環,執行循環後代碼只跳出一層
continue跳過本次剩餘循環體,直接進入下一次迭代只影響當層