在c語言中,case的意思為“情況”、“案例”,是用於switch語句的關鍵字。 「switch case」語句是一種選擇結構的語句,允許測試變數與值列表的相等性,每個值稱之為案例或case;程式會檢查switch後面的值並且與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後面的語句
範例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:
#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影片教學》
以上是c語言中case是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!