一文詳解C語言中的switch語句和while循環(huán)
C 語言中的 switch 語句
替代多重 if..else 語句,可以使用 switch
語句。switch
語句用于選擇多個代碼塊中的一個來執(zhí)行
switch(表達(dá)式) { case x: // 代碼塊 break; case y: // 代碼塊 break; default: // 代碼塊
工作原理
switch
表達(dá)式只會被計算一次- 表達(dá)式的值與每個
case
的值進(jìn)行比較 - 如果找到匹配,則執(zhí)行相應(yīng)的代碼塊
break
語句用于跳出switch
塊并停止執(zhí)行default
語句是可選的,如果找不到匹配的case
,則執(zhí)行它指定的代碼
下面的示例使用星期幾的數(shù)字來計算星期幾的名稱:
int day = 4; switch (day) { case 1: printf("星期一"); break; case 2: printf("星期二"); break; case 3: printf("星期三"); break; case 4: printf("星期四"); break; case 5: printf("星期五"); break; case 6: printf("星期六"); break; case 7: printf("星期日"); break; } // 輸出 "星期四" (星期 4)
break
關(guān)鍵字:
- 當(dāng) C 遇到
break
關(guān)鍵字時,它會跳出switch
塊。 - 這將停止執(zhí)行更多代碼和塊內(nèi)部的
case
測試。 - 當(dāng)找到匹配項并完成任務(wù)時,就該休息了。沒有必要進(jìn)行更多測試。
break
可以節(jié)省大量的執(zhí)行時間,因為它“忽略”了switch
塊中所有其他代碼的執(zhí)行。
default
關(guān)鍵字:
default
關(guān)鍵字用于指定在找不到case
匹配時要運(yùn)行的代碼:
int day = 4; switch (day) { case 6: printf("今天是星期六"); break; case 7: printf("今天是星期日"); break; default: printf("期待周末"); } // 輸出 "期待周末"
C 語言中的 while 循環(huán)
循環(huán)
循環(huán)可以執(zhí)行一段代碼,只要滿足指定的條件。循環(huán)非常方便,因為它們可以節(jié)省時間、減少錯誤并使代碼更易于閱讀。
while
循環(huán)
只要指定的條件為真,while
循環(huán)就會一直循環(huán)執(zhí)行一段代碼塊:
語法:
while (條件) { // 要執(zhí)行的代碼塊 }
在下面的示例中,只要一個變量 (i
) 小于 5,循環(huán)中的代碼就會一遍又一遍地運(yùn)行:
示例
int i = 0; while (i < 5) { printf("%d\n", i); i++; }
注意: 不要忘記增加用于條件的變量 (i++
),否則循環(huán)將永遠(yuǎn)不會結(jié)束!
do/while
循環(huán)
do/while
循環(huán)是 while
循環(huán)的一個變體。這個循環(huán)會在檢查條件是否為真之前先執(zhí)行一次代碼塊,然后只要條件為真,就會重復(fù)該循環(huán)。
語法:
do { // 要執(zhí)行的代碼塊 } while (條件);
下面的示例使用了一個 do/while
循環(huán)。即使條件為假,循環(huán)也至少會執(zhí)行一次,因為代碼塊是在測試條件之前執(zhí)行的:
示例
int i = 0; do { printf("%d\n", i); i++; } while (i < 5);
不要忘記增加用于條件的變量,否則循環(huán)將永遠(yuǎn)不會結(jié)束!
現(xiàn)實生活中的例子
為了展示 while
循環(huán)的實際例子,我們可以創(chuàng)建一個簡單的“倒計時”程序:
示例
int countdown = 3; while (countdown > 0) { printf("%d\n", countdown); countdown--; } printf("新年快樂!\n");
為了展示 while
循環(huán)結(jié)合 if else
語句的實際例子,假設(shè)我們玩一個 Yahtzee 游戲!
示例
如果骰子數(shù)字為 6,則打印“Yahtzee!”:
int dice = 1; while (dice <= 6) { if (dice < 6) { printf("沒有 Yahtzee\n"); } else { printf("Yahtzee!\n"); } dice = dice + 1; }
最后
以上就是一文詳解C語言中的switch語句和while循環(huán)的詳細(xì)內(nèi)容,更多關(guān)于C語言switch語句和while循環(huán)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C++線程優(yōu)先級SetThreadPriority的使用實例
這篇文章主要介紹了C++線程優(yōu)先級SetThreadPriority的使用實例,較為詳細(xì)的講述了C++線程及其優(yōu)先級的用法,需要的朋友可以參考下2014-10-10簡單了解C語言中直接插入排序與直接選擇排序?qū)崿F(xiàn)
這篇文章主要介紹了C語言中直接插入排序與直接選擇排序?qū)崿F(xiàn),插入排序的基本操作就是將一個數(shù)據(jù)插入到已經(jīng)排好序的有序數(shù)據(jù)中,從而得到一個新的、個數(shù)加一的有序數(shù)據(jù),需要的朋友可以參考下2016-03-03