| 關鍵字 | 作用 | 多層循環 |
| break | 跳出整個當前循環,執行循環後代碼 | 只跳出一層 |
| continue | 跳過本次剩餘循環體,直接進入下一次迭代 | 只影響當層 |
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 整數求和
編程思維建議
語法掌握 ≠ 會編程。遇到實際問題不知從何下手,是缺乏編程思維與經驗。建議:
- 多閱讀優秀代碼
- 手敲經典例題,不看答案完成
- 畫流程圖/寫偽代碼再編碼
- 從簡單問題入手,逐步增加複雜度
- 上一篇文章: C語言數組基礎概念:從變量到數組的演進、定義、初始化與內存模型
- 下一篇文章: C語言跳出循環控制:break 與 continue 精準用法、多層循環行為與對比
Copyright ©
程式碼之家 All Rights Reserved