首頁  >  文章  >  後端開發  >  c語言中case是什麼意思

c語言中case是什麼意思

青灯夜游
青灯夜游原創
2022-11-23 17:35:0540671瀏覽

在c語言中,case的意思為“情況”、“案例”,是用於switch語句的關鍵字。 「switch case」語句是一種選擇結構的語句,允許測試變數與值列表的相等性,每個值稱之為案例或case;程式會檢查switch後面的值並且與case後面的值比對,如果相等則執行後面的程式碼或程式碼區塊。

c語言中case是什麼意思

本教學操作環境:windows7系統、c99、Dell G3電腦。

case中文是什麼意思

作名詞意思是例子;情況;案例;(辯論或訴訟)論點;箱。

作動詞意思是裝箱;踩點;仔細檢查。

c語言中的case

在c語言中,case的意思是「情況」、「案例」。 case是用於switch語句的關鍵字。

switch case語句是一種選擇結構的語句,用來取代簡單的、擁有多個分枝的 if else 語句。

switch語句允許測試變數與值列表的相等性,每個值稱之為案例或case,程式會檢查switch後面的值並且與case後面的值比對,如果相等則執行後面的程式碼或程式碼區塊

switch..case在C語言中的語法如下

switch(表达式){
    case 整型数值1: 语句 1;[break;]
    case 整型数值2: 语句 2;[break;]
    ......
    case 整型数值n: 语句 n;[break;]
    default: 语句 n+1;[break;]
}

它的執行過程是:

  • 1) 先計算「表達式」的值,假設為m。

  • 2) 從第一個case 開始,比較“整數數值1”和m,如果它們相等,就執行冒號後面的所有語句,也就是從“語句1”一直執行到“語句n 1”,而不管後面的case 是否匹配成功。

  • 3) 如果“整數數值1”和m 不相等,就跳過冒號後面的“語句1”,繼續比較第二個case、第三個case…一旦發現和某個整數數值相等了,就會執行後面所有的語句。假設 m 和「整數數值5」相等,那麼就會從「語句5」一直執行到「語句n 1」。

  • 4) 如果直到最後一個「整數數值n」都沒有找到相等的值,那麼就執行 default 後的「語句 n 1」。

注意:

  • switch語句中使用的表達式必須有int或enum類型,否則如float等其他資料型別是無法通過的編譯的,因為編譯器需要switch後面的語句和case後面的值精確匹配,而計算機無法精確表達一個float數據類型

  • switch可以任意個case語句(包括沒有), 值和語句之間使用:分隔

  • case後面的值必須是int常數值,或者返回結果為int類型的表達式,以下程式碼無法編譯通過

switch (1) {
    case 1.1:
        break;
}
int a;
scanf("%d", &a);
switch (a) {
    case a + 1:
        break;
}
  • 當switch後面的變數值和case後面的常數值匹配相等後,case後面的程式碼將會被執行,直到break語句被執行後跳出switch程式碼區塊

  • break不是必須的,如果沒有break,執行完目前case的程式碼區塊後會繼續執行後面case程式碼區塊的內容,直到執行break才可以退出

  • switch有一個預設的情況,我們用default關鍵字表示,當switch後面的變數和所有case後面的常數都不匹配的情況下,預設執行default後面的語句

c語言中case是什麼意思

範例1:

#include <stdio.h>

int main () {

    /* local variable definition */
    char grade;
    scanf("%d", &grade);

    switch(grade) {
        case &#39;A&#39; :
            printf("Excellent!\n" );
            break;
        case &#39;B&#39; :
        case &#39;C&#39; :
            printf("Well done\n" );
            break;
        case &#39;D&#39; :
            printf("You passed\n" );
            break;
        case &#39;F&#39; :
            printf("Better try again\n" );
            break;
        default :
            printf("Invalid grade\n" );
    }

    printf("Your grade is  %d\n", grade );

    return 0;
}

c語言中case是什麼意思

#範例2:

#include <stdio.h>
int main() {

    printf("Please input your grade(1-100):");
    int grade;
    scanf("%d", &grade);

    switch (grade / 10) {
        case 10:
        case 9:
            printf("A\n");
            break;

        case 8:
        case 7:
            printf("B\n");
            break;

        case 6:
        case 5:
            printf("C\n");
            break;
        default:
            break;

    }
    return 0;
}

c語言中case是什麼意思

相關推薦:《C影片教學

以上是c語言中case是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn