在c語言中,case的意思為“情況”、“案例”,是用于switch語句的關(guān)鍵字?!皊witch case”語句是一種選擇結(jié)構(gòu)的語句,允許測試變量與值列表的相等性,每個值稱之為案例或者case;程序會檢查switch后面的值并且與case后面的值比對,如果相等則執(zhí)行后面的代碼或代碼塊。
php入門到就業(yè)線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點擊使用
本教程操作環(huán)境:windows7系統(tǒng)、c99、Dell G3電腦。
case中文是什么意思
作名詞意思是例子;情況;案例;(辯論或訴訟)論據(jù);箱。
作動詞意思是裝箱;踩點;仔細檢查。
c語言中的case
在c語言中,case的意思為“情況”、“案例”。case是用于switch語句的關(guān)鍵字。
switch case語句是一種選擇結(jié)構(gòu)的語句,用來代替簡單的、擁有多個分枝的 if else 語句。
switch語句允許測試變量與值列表的相等性,每個值稱之為案例或者case,程序會檢查switch后面的值并且與case后面的值比對,如果相等則執(zhí)行后面的代碼或代碼塊
switch..case在C語言中的語法如下
switch(表達式){ case 整型數(shù)值1: 語句 1;[break;] case 整型數(shù)值2: 語句 2;[break;] ...... case 整型數(shù)值n: 語句 n;[break;] default: 語句 n+1;[break;] }
它的執(zhí)行過程是:
-
1) 首先計算“表達式”的值,假設(shè)為 m。
-
2) 從第一個 case 開始,比較“整型數(shù)值1”和 m,如果它們相等,就執(zhí)行冒號后面的所有語句,也就是從“語句1”一直執(zhí)行到“語句n+1”,而不管后面的 case 是否匹配成功。
-
3) 如果“整型數(shù)值1”和 m 不相等,就跳過冒號后面的“語句1”,繼續(xù)比較第二個 case、第三個 case……一旦發(fā)現(xiàn)和某個整型數(shù)值相等了,就會執(zhí)行后面所有的語句。假設(shè) m 和“整型數(shù)值5”相等,那么就會從“語句5”一直執(zhí)行到“語句n+1”。
-
4) 如果直到最后一個“整型數(shù)值n”都沒有找到相等的值,那么就執(zhí)行 default 后的“語句 n+1”。
注意:
-
switch語句中使用的表達式必須具是int或enum類型,否則如float等其他數(shù)據(jù)類型是無法通過的編譯的,因為編譯器需要switch后面的語句和case后面的值精確匹配,而計算機無法精確表達一個float數(shù)據(jù)類型
-
switch可以任意個case語句(包括沒有), 值和語句之間使用:分隔
-
case后面的值必須是int常量值,或者返回結(jié)果為int類型的表達式,以下代碼無法編譯通過
switch (1) { case 1.1: break; }
int a; scanf("%d", &a); switch (a) { case a + 1: break; }
-
當switch后面的變量值和case后面的常量值匹配相等后,case后面的代碼將會被執(zhí)行,直到break語句被執(zhí)行后跳出switch代碼塊
-
break不是必須的,如果沒有break,則執(zhí)行完當前case的代碼塊后會繼續(xù)執(zhí)行后面case代碼塊的內(nèi)容,直到執(zhí)行break才可以退出
-
switch有一個默認的情況,我們用default關(guān)鍵詞表示,當switch后面的變量和所有case后面的常量都不匹配的情況下,默認執(zhí)行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 donen" ); break; case 'D' : printf("You passedn" ); break; case 'F' : printf("Better try againn" ); break; default : printf("Invalid graden" ); } printf("Your grade is %dn", 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("An"); break; case 8: case 7: printf("Bn"); break; case 6: case 5: printf("Cn"); break; default: break; } return 0; }