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

C 語言控制結構進階:switch 多重選擇、三種迴圈比較與 break/continue 流程控制

     編輯:關於C語言

C 語言控制結構進階:switch 多重選擇、三種迴圈比較與 break/continue 流程控制

switch 語句

switch (expr) {
    case val1: stmt1; break;
    case val2: stmt2; break;
    default: stmt_def;
}
  • expr 必須為整數型別 (含 char、enum)。
  • case 值必須為常數運算式。
  • 無 break 會貫穿執行下一 case。
  • default 可置頂、中、底,建議置底。

三種迴圈詳細比較

特性whiledo-whilefor
判斷時機迴圈前迴圈後迴圈前
最少執行次數010
適用場景次數未知、條件複雜至少執行一次 (如選單)次數已知、計數器迴圈
語法結構while(cond) {}do {} while(cond);for(init; cond; step) {}

for 迴圈執行順序

for (init; cond; step) body;
// 1. init
// 2. cond → 假跳出
// 3. body
// 4. step
// 5. 跳回 2

跳轉語句

  • break:跳出最近的 switch 或迴圈。
  • continue:跳過本次迴圈剩餘,直接執行 step (for) 或判斷 (while/do-while)。
  • goto label:無條件跳轉,慎用 (可用於多層迴圈跳出、錯誤處理集中)。

範例:1 到 100 求和

// for
int sum = 0;
for (int i=1; i<=100; ++i) sum += i;

// while
int i=1, sum=0;
while (i<=100) { sum+=i; ++i; }

// do-while (至少加一次)
int i=1, sum=0;
do { sum+=i; ++i; } while (i<=100);

建議

  • 已知次數用 for,未知用 while,選單用 do-while。
  • 避免在迴圈中修改計數器 (除非極度必要)。
  • goto 僅用於錯誤處理 goto cleanup; 模式。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved