|
原文鏈接:https://blog.csdn.net/xiaolei251990/article/details/83057939 一個(gè) switch 語(yǔ)句允許測(cè)試一個(gè)變量等于多個(gè)值時(shí)的情況。每個(gè)值稱(chēng)為一個(gè) case,且被測(cè)試的變量會(huì)對(duì)每個(gè) switch case 進(jìn)行檢查。 語(yǔ)法 C 語(yǔ)言中 switch 語(yǔ)句的語(yǔ)法: switch(expression)
{
case constant-expression :
statement(s);
break; /* 可選的 */
case constant-expression :
statement(s);
break; /* 可選的 *//* 您可以有任意數(shù)量的 case 語(yǔ)句 */
default : /* 可選的 */
statement(s);
} switch 語(yǔ)句必須遵循下面的規(guī)則: switch 語(yǔ)句中的 expression 是一個(gè)常量表達(dá)式,必須是一個(gè)整型或枚舉類(lèi)型。 在一個(gè) switch 中可以有任意數(shù)量的 case 語(yǔ)句。每個(gè) case 后跟一個(gè)要比較的值和一個(gè)冒號(hào)。 case 的 constant-expression 必須與 switch 中的變量具有相同的數(shù)據(jù)類(lèi)型,且必須是一個(gè)常量或字面量。 當(dāng)被測(cè)試的變量等于 case 中的常量時(shí),case 后跟的語(yǔ)句將被執(zhí)行,直到遇到 break 語(yǔ)句為止。 當(dāng)遇到 break 語(yǔ)句時(shí),switch 終止,控制流將跳轉(zhuǎn)到 switch 語(yǔ)句后的下一行。 不是每一個(gè) case 都需要包含 break。如果 case 語(yǔ)句不包含 break,控制流將會(huì) 繼續(xù) 后續(xù)的 case,直到遇到 break 為止。 一個(gè) switch 語(yǔ)句可以有一個(gè)可選的 default case,出現(xiàn)在 switch 的結(jié)尾。default case 可用于在上面所有 case 都不為真時(shí)執(zhí)行一個(gè)任務(wù)。default case 中的 break 語(yǔ)句不是必需的。 流程圖 C 中的 switch 語(yǔ)句 實(shí)例 #include <stdio.h>
int main () { /* 局部變量定義 */ char grade = ‘B’; switch(grade) { case ‘A’ : printf(“很棒!\n” ); break; case ‘B’ : case ‘C’ : printf(“做得好\n” ); break; case ‘D’ : printf(“您通過(guò)了\n” ); break; case ‘F’ : printf(“最好再試一下\n” ); break; default : printf(“無(wú)效的成績(jī)\n” ); } printf(“您的成績(jī)是 %c\n”, grade ); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果: 做得好 您的成績(jī)是 B </div>
<link href="https:///release/phoenix/mdeditor/markdown_views-e9f16cbbc2.css" rel="stylesheet">
</div>
</article> 來(lái)源:https://www./content-4-526151.html
|