鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ 6.3 C 語(yǔ)言 switch 語(yǔ)句
2.1 單片機(jī)內(nèi)部資源(內(nèi)部結(jié)構(gòu))
5.1 單片機(jī)邏輯電路與邏輯運(yùn)算
6.1 C 語(yǔ)言數(shù)組
5.7 單片機(jī)數(shù)碼管的靜態(tài)顯示
4.8 單片機(jī) LED 流水燈程序[詳細(xì)]
6.7 單片機(jī)中斷的優(yōu)先級(jí)
5.2 單片機(jī)定時(shí)器介紹
1. 如何學(xué)習(xí)單片機(jī)
1.3 單片機(jī)學(xué)習(xí)的準(zhǔn)備工作
4.3 C 語(yǔ)言基本運(yùn)算符
5.5 單片機(jī)中 LED 數(shù)碼管的介紹
2.6 第一個(gè)單片機(jī)程序(C 語(yǔ)言編寫)
3.5 單片機(jī)中 74HC138 三八譯碼器的應(yīng)用
3.2 單片機(jī)中去耦電容的應(yīng)用
6.4 單片機(jī)數(shù)碼管動(dòng)態(tài)顯示程序[帶解釋]
1.5 Keil uVision4簡(jiǎn)單使用教程
第一章問(wèn)題匯總
1.2 如何學(xué)習(xí)單片機(jī)
4.4 C 語(yǔ)言 for 循環(huán)語(yǔ)句
6.5 單片機(jī)數(shù)碼管顯示消隱
單片機(jī)上的發(fā)光二極管(LED 燈)
5. 單片機(jī)定時(shí)器與數(shù)碼管基礎(chǔ)
5.3 單片機(jī)定時(shí)器的寄存器
5.6 單片機(jī)數(shù)碼管的真值表
6.2 C 語(yǔ)言 if 語(yǔ)句
3.3 三極管的的概念及其工作原理
4. C 語(yǔ)言基礎(chǔ)及流水燈的實(shí)現(xiàn)
點(diǎn)亮你的 LED 燈
4.6 C 語(yǔ)言函數(shù)的簡(jiǎn)單介紹
2.4 51單片機(jī)特殊功能寄存器和位定義
6.6 單片機(jī)中斷系統(tǒng)
3.1 電磁干擾 EMI
4.1 二進(jìn)制、十進(jìn)制和十六進(jìn)制
4.5 C 語(yǔ)言 while 循環(huán)語(yǔ)句
3. 單片機(jī)硬件基礎(chǔ)知識(shí)學(xué)習(xí)
2.5 使用 Keil uVision 新建一個(gè)工程
1.4 單片機(jī)開(kāi)發(fā)環(huán)境搭建--Keil uVision4安裝教程
4.7 單片機(jī)延時(shí)方法(Keil 軟件延時(shí))
6. 單片機(jī)的中斷與數(shù)碼管動(dòng)態(tài)顯示
3.6 單片機(jī) LED 燈閃爍程序
6.3 C 語(yǔ)言 switch 語(yǔ)句
1.1 學(xué)習(xí)什么單片機(jī)
4.2 C 語(yǔ)言變量類型和范圍
5.4 單片機(jī)中定時(shí)器的應(yīng)用
2.7 將程序下載到單片機(jī)
3.4 單片機(jī)中三極管的應(yīng)用
2.2 單片機(jī)最小系統(tǒng)[配圖][超詳細(xì)]

6.3 C 語(yǔ)言 switch 語(yǔ)句

用 if....else 語(yǔ)句在處理多分支的時(shí)候,分支太多就會(huì)顯得不方便,且容易出現(xiàn) if 和 else 配對(duì)出現(xiàn)錯(cuò)誤的情況,在 C 語(yǔ)言中提供了另外一種多分支選擇的語(yǔ)句——switch 語(yǔ)句,它的基本語(yǔ)法格式如下:

    switch (表達(dá)式){
        case 常量表達(dá)式1: 語(yǔ)句1;
        case 常量表達(dá)式2: 語(yǔ)句2;
        ......
        case 常量表達(dá)式 n: 語(yǔ)句 n;
        default: 語(yǔ)句 n+1;
    }

它的執(zhí)行過(guò)程是:首先計(jì)算“表達(dá)式”的值,然后從第一個(gè) case 開(kāi)始,與“常量表達(dá)式 x”進(jìn)行比較,如果與當(dāng)前常量表達(dá)式的值不相等,那么就不執(zhí)行冒號(hào)后邊的語(yǔ)句 x,一旦發(fā)現(xiàn)和某個(gè)常量表達(dá)式的值相等了,那么它會(huì)執(zhí)行之后所有的語(yǔ)句,如果直到最后一個(gè)“常量表達(dá)式 n”都沒(méi)有找到相等的值,那么就執(zhí)行 default 后的“語(yǔ)句 n+1”。請(qǐng)?zhí)貏e注意一點(diǎn),當(dāng)找到一個(gè)相等的 case 分支后,會(huì)執(zhí)行該分支以及之后所有分支的語(yǔ)句,很明顯這不是我們想要的結(jié)果。

在 C 語(yǔ)言中,有一條 break 語(yǔ)句,作用是跳出當(dāng)前的循環(huán)語(yǔ)句,包括 for 循環(huán)和 while 循環(huán),同時(shí),它還能用來(lái)結(jié)束 switch 語(yǔ)句塊。switch 的分支語(yǔ)句一共有 n+1 種,而我們通常希望的都是選擇其中的一個(gè)分支來(lái)執(zhí)行,執(zhí)行完后就結(jié)束整個(gè) switch 語(yǔ)句,而繼續(xù)執(zhí)行 switch 后面的語(yǔ)句,此時(shí)就可以通過(guò)在每個(gè)分支后加上 break 語(yǔ)句來(lái)實(shí)現(xiàn)了。如下:

    switch (表達(dá)式){
        case 常量表達(dá)式1: 語(yǔ)句1; break;
        case 常量表達(dá)式2: 語(yǔ)句2; break;
        ......
        case 常量表達(dá)式 n: 語(yǔ)句 n; break;
        default: 語(yǔ)句 n+1; break;
    }

加了這個(gè) break 語(yǔ)句后,一旦“常量表達(dá)式 x”與“表達(dá)式”的值相等了,那么就執(zhí)行“語(yǔ)句 x”,執(zhí)行完畢后,由于有了 break 則直接跳出 switch 語(yǔ)句,繼續(xù)執(zhí)行 switch 語(yǔ)句后面的程序了,這樣就可以避免執(zhí)行不必要的語(yǔ)句。了解了這個(gè) switch 語(yǔ)句后,我們馬上會(huì)在本章程序中使用鞏固它。