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

C語言程式設計初步(六):switch 多路選擇與 while 循環詳解

     編輯:C 語言基礎

switch 多路選擇語句


switch (運算式) {
    case 常量1: 語句1; break;
    case 常量2: 語句2; break;
    ...
    default: 語句n+1;
}

語義:計算運算式值,逐一比較 case 常量。相等則執行後續所有語句(貫穿特性),直到 break 或結束。無匹配執行 default。

貫穿範例與修正


// 錯誤:無 break,輸入 3 輸出 Wednesday 到 Sunday 及 error
switch (a) {
    case 1: printf("Monday\n");
    case 2: printf("Tuesday\n");
    ...
}

// 正確:每個 case 後加 break
switch (a) {
    case 1: printf("Monday\n"); break;
    case 2: printf("Tuesday\n"); break;
    ...
    default: printf("error\n");
}

注意事項

  • case 常量值不可重複
  • case 後可多語句,無需 {}
  • case/default 順序可任意調換
  • default 可省略

範例:簡易計算機


void main() {
    float a,b,s; char c;
    scanf("%f%c%f", &a, &c, &b);
    switch(c) {
        case '+': printf("%f\n", a+b); break;
        case '-': printf("%f\n", a-b); break;
        case '*': printf("%f\n", a*b); break;
        case '/': printf("%f\n", a/b); break;
        default: printf("input error\n");
    }
}

while 循環語句


while (運算式) 語句;
// 先判斷,真執行循環體,假跳出

範例:統計輸入行字符數


void main() {
    int n=0;
    while (getchar() != '\n') n++;
    printf("%d", n);
}

注意事項

  1. 運算式通常為關係/邏輯運算式,非 0 即真
  2. 循環體多語句需 {}
  3. 避免死循環:確保循環體能修改條件變數
  4. 允許嵌套形成多重循環

死循環範例


while (a=5) printf("%d", n++);  // a=5 永真,無修改 a → 死循環
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved