6_分支語(yǔ)句

關(guān)鍵字:if語(yǔ)句分析、 switch語(yǔ)句分析

1. if語(yǔ)句分析

  • if語(yǔ)句用于根據(jù)條件選擇執(zhí)行語(yǔ)句
  • else不能獨(dú)立存在且總是與它最近的if向匹配
  • else語(yǔ)句后可以接連其它if語(yǔ)句
if( condition )
{
  // statement 1
}
else
{
  // statement 2
}
  • if語(yǔ)句中零值比較的注意點(diǎn)
    1)bool型變量應(yīng)該出現(xiàn)于條件中,不需要進(jìn)行比較
bool b = TRUE;
if( b)
{
  // statement 1
}
else
{
  // statement 2
}

2)變量和0值進(jìn)行比較時(shí),0值應(yīng)該出現(xiàn)在比較符號(hào)的左邊

int i = 1;
if( 0 == i)
{
  // statement 1
}
else
{
  // statement 2
}

3)float型變量不能直接進(jìn)行0值比較,需要定義精度

#define EPSINON 0.0000001
float f = 0.0;
if ((-EPSINON  <= f)  && (f <= EPSINON) )
{
  // statement 1
}
else
{
  // statement 2
}

2. switch語(yǔ)句分析

  • switch語(yǔ)句對(duì)應(yīng)單個(gè)條件多個(gè)分支的情形
  • case語(yǔ)句分支必須要有break,否則會(huì)導(dǎo)致分支重疊
  • default語(yǔ)句有必要加上,以處理特殊情況
  • case語(yǔ)句中的值只能是整形或字符型
  • case語(yǔ)句的排列順序
    字母或數(shù)字順序排列各條語(yǔ)句
    正常情況放在前面,異常情況放在后面
    default語(yǔ)句只能用于處理真正的默認(rèn)情況

3. ifswitch使用示例

#include <stdio.h>

void f1(int i)
{
    if( i < 6 )
    {
        printf("Failed!\n");
    }
    else if( (6 <= i) && (i <= 8) )
    {
        printf("Good!\n");
    }
    else
    {
        printf("Perfect!\n");
    }
}

void f2(char i)
{
    switch(i)
    {
        case 'c':
            printf("Compile\n");
            break;
        
        case 'd':
            printf("Debug\n");
            break;
        
        case 'o':
            printf("Object\n");
            break;
            
        case 'r':
            printf("Run\n");
            break;
        
        default:
            printf("Unknown\n");
            break;     
    }
}

int main()
{
    f1(5);
    f1(9);
    f1(7);
    
    f2('o');
    f2('d');
    f2('e');

    return 0;
}

輸出結(jié)果:

Failed!
Perfect!
Good!
Object
Debug
Unknown

4. 小結(jié)

  • if語(yǔ)句適用于復(fù)雜邏輯進(jìn)行判斷的情形中
  • switch語(yǔ)句使用于對(duì)離散值進(jìn)行判斷的情形中
  • if語(yǔ)句和switch語(yǔ)句在功能上可以相互替換
  • if語(yǔ)句對(duì)于按片分支判斷的情形更加簡(jiǎn)潔
  • switch語(yǔ)句對(duì)于多分支判斷的情形更加簡(jiǎn)潔

聲明:此文章為本人在學(xué)習(xí)狄泰軟件學(xué)院《C語(yǔ)言深度解析》所做的筆記,文章中包含狄泰軟件資料內(nèi)容一切版權(quán)歸狄泰軟件所有!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容