鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ 6.2 C 語(yǔ)言 if 語(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.2 C 語(yǔ)言 if 語(yǔ)句

到目前為止,我們對(duì) if 語(yǔ)句應(yīng)該已經(jīng)不陌生了,前邊程序已用過(guò)多次了,這里我們系統(tǒng)的介紹一下,方便后邊的深入學(xué)習(xí)。if 語(yǔ)句有兩個(gè)關(guān)鍵字:if 和 else,把這兩個(gè)關(guān)鍵字翻譯一下就是:“如果”和“否則”。if 語(yǔ)句一共有三種格式,我們分別來(lái)看。

if 語(yǔ)句的默認(rèn)形式

if語(yǔ)句的一般形式如下:

    if (條件表達(dá)式){
        語(yǔ)句1;
    }

其執(zhí)行過(guò)程是,if(即如果)條件表達(dá)式的值為“真”,則執(zhí)行語(yǔ)句1;如果條件表達(dá)式的值為“假”,則不執(zhí)行語(yǔ)句1。真和假的概念不再贅述,參考第五章。

這里要提醒大家一點(diǎn),C 語(yǔ)言一個(gè)分號(hào)表示一條語(yǔ)句的結(jié)束,因此如果 if 后邊只有一條執(zhí)行語(yǔ)句的時(shí)候,可以省略大括號(hào),但是如果有多條執(zhí)行語(yǔ)句的話,必須加上大括號(hào)。

那么現(xiàn)在,我們上節(jié)課的語(yǔ)句就很好理解了:

if (sec >= 16){
    sec = 0;
}

當(dāng) sec 的值大于或等于16的時(shí)候,括號(hào)里的值才是“真”,那么就執(zhí)行 sec=0 這一句,當(dāng) sec 的值小于16時(shí),那么括號(hào)里就為“假”,就不執(zhí)行這一句。

if...else 語(yǔ)句

有些情況下,我們除了要在括號(hào)里條件滿足時(shí)執(zhí)行相應(yīng)的語(yǔ)句外,在不滿足該條件的時(shí)候,也要執(zhí)行一些另外的語(yǔ)句,這時(shí)候就用到了 if...else 語(yǔ)句,它的基本語(yǔ)法形式是:

    if (條件表達(dá)式){
        語(yǔ)句1;
    }else{
        語(yǔ)句2;
    }

比如上節(jié)課的最后一段程序我們也可以寫成:

P0 = LedChar[sec];
if (sec >= 15){
    sec = 0;
}else{
    Sec++;
}

這個(gè)程序大家可以修改下載到單片機(jī)里驗(yàn)證一下,程序邏輯大家自己動(dòng)腦筋分析,注意條件表達(dá)式內(nèi)16到15的變化,想一下為什么,我就不多解釋了。

if....else if 語(yǔ)句

if...esle 語(yǔ)句是一個(gè)二選一的語(yǔ)句,或者執(zhí)行 if 分支后的語(yǔ)句,或者執(zhí)行 else 分支后的語(yǔ)句。還有一種多選一的用法就是 if...else if 語(yǔ)句。他的基本語(yǔ)法格式是:

    if (條件表達(dá)式1){語(yǔ)句1;}
    else if (條件表達(dá)式2) {語(yǔ)句2;}
    else if (條件表達(dá)式3) {語(yǔ)句3;}
    ... ...
    else{語(yǔ)句 n;}

他的執(zhí)行過(guò)程是:依次判斷條件表達(dá)式的值,當(dāng)出現(xiàn)某個(gè)值為“真”時(shí),則執(zhí)行相對(duì)應(yīng)的語(yǔ)句,然后跳出整個(gè) if 的語(yǔ)句塊,執(zhí)行“語(yǔ)句 n”后面的程序;如果所有的表達(dá)式都為“假”,則執(zhí)行 else 分支的“語(yǔ)句 n”后,再執(zhí)行“語(yǔ)句 n”后邊的程序。

if 語(yǔ)句在 C 語(yǔ)言編程中使用頻率很高,用法也不復(fù)雜,所以必須要熟練掌握。