在C語言中,switch語句用于根據(jù)表達(dá)式的值選擇不同的代碼塊來執(zhí)行。在switch語句的括號(hào)內(nèi),可以有一個(gè)整型或字符型的表達(dá)式。
switch語句的語法如下:
switch (expression)
{
case constant1:
// 代碼塊1
break;
case constant2:
// 代碼塊2
break;
...
default:
// 默認(rèn)代碼塊
break;
}
在expression處,可以是一個(gè)整型或字符型的變量、常量、表達(dá)式,或者返回整型或字符型的函數(shù)調(diào)用。
在case行后面的constant處,可以是整型或字符型的常量、枚舉變量。每個(gè)case都對(duì)應(yīng)一個(gè)代碼塊,根據(jù)expression的值,選擇相應(yīng)的代碼塊執(zhí)行。
除了使用常量來進(jìn)行比較,也可以使用枚舉變量。枚舉變量是一種特殊的整型變量,可以用來表示一組具有相同屬性的常量,例如表示一周的天數(shù)等。
一個(gè)switch語句中可以有多個(gè)case,每個(gè)case對(duì)應(yīng)一個(gè)代碼塊,當(dāng)expression的值與某個(gè)case的constant匹配時(shí),執(zhí)行對(duì)應(yīng)的代碼塊。如果沒有匹配的case,那么將執(zhí)行default代碼塊(如果有的話),或者直接跳過switch語句。
需要注意的是,每個(gè)case后面需要使用break
語句來結(jié)束當(dāng)前代碼塊,否則即使匹配到了某個(gè)case,也會(huì)繼續(xù)執(zhí)行下面的代碼塊。如果不希望匹配到的case后面的代碼執(zhí)行,可以省略break
語句。
以下是一個(gè)簡(jiǎn)單的例子,演示了switch語句的使用:
#include
int main() {
int day = 3;
switch (day) {
case 1:
printf("Mondayn");
break;
case 2:
printf("Tuesdayn");
break;
case 3:
printf("Wednesdayn");
break;
case 4:
printf("Thursdayn");
break;
case 5:
printf("Fridayn");
break;
case 6:
printf("Saturdayn");
break;
case 7:
printf("Sundayn");
break;
default:
printf("Invalid dayn");
}
return 0;
}
在上面的例子中,根據(jù)變量day
的值,選擇相應(yīng)的輸出信息。因?yàn)?code>day的值是3,所以輸出結(jié)果為"Wednesday"。
綜上所述,switch語句可以包含一個(gè)變量作為表達(dá)式,用于選擇不同的代碼塊來執(zhí)行。根據(jù)實(shí)際情況,可以有多個(gè)case、default代碼塊,以及省略break
語句。通過合理使用switch語句,可以使代碼更加清晰和易于理解。
-
Switch
+關(guān)注
關(guān)注
1文章
533瀏覽量
58266 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4332瀏覽量
62666 -
代碼
+關(guān)注
關(guān)注
30文章
4790瀏覽量
68654 -
字符型
+關(guān)注
關(guān)注
0文章
9瀏覽量
6735 -
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28388
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論