c語言中case是什麼意思

2022-11-23 18:01:20

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

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境: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後面的語句

1.webp.jpg

範例1:

#include <stdio.h>

int main () {

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

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

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

    return 0;
}
登入後複製

2.png

範例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;
}
登入後複製

3.png

相關推薦:《C視訊教學

以上就是c語言中case是什麼意思的詳細內容,更多請關注TW511.COM其它相關文章!