日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言圖文并茂講解分支語句用法_C 語言

作者:清風自在?流水潺潺 ? 更新時間: 2022-06-19 編程語言

一、if 語句分析

  • if 語句用于根據條件選擇執行語句
  • else 不能獨立存在且總是與它最近的 if 相匹配
  • else 語句后可以接連其他 if 語句

if 語句中零值比較的注意點

  • bool 型變量應該直接出現于條件中,不要進行比較
  • 變量和 0 值比較時,0 值應該出現在比較符號左邊(這條規則可以拓展為任意字面量與變量比較時,字面量應該放在左邊,變量放在右邊,這樣即使手誤寫成了 = ,編譯器也能發現)
  • float 型變量不能直接進行 0 值比較,需要定義精度

二、switch 語句分析

  • switch 語句對應單個條件多個分值的情形
  • case 語句分支必須要有 break ,否則會導致分支重疊
  • default 語句有必要加上,以處理特殊情況

case 語句中的值只能是整型或字符型

case 語句的排列順序

  • 按字母或數字順序排列各條語句
  • 正常情況放在前面,異常情況放在后面
  • default 語句只用于處理真正的默認情況

下面看一段 if 和 switch 使用示例:

#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;
}

下面為輸出結果:

下面反過來,調換 if 和 switch,實現相同功能:

#include <stdio.h>
 
void f1(int i)
{
    switch( i < 6 )
    {
        case 1:
            printf("Failed!\n");
            break;
        
        default:
            switch( (6 <= i) && (i <= 8) )
            {
                case 1:
                    printf("Good!\n");
                    break;
                    
                default:
                    printf("Perfect!\n");
                    break;
            }
            break;
    }
}
 
void f2(char i)
{
    if( 'c' == i )
    {
        printf("Compile\n");
    }
    else if( 'd' == i )
    {
        printf("Debug\n");
    }
    else if( 'o' == i )
    {
        printf("Object\n");
    }
    else if( 'r' == i )
    {
        printf("Run\n");
    }
    else
    {
        printf("Unknown\n");
    }
}
 
int main()
{
    f1(5);
    f1(9);
    f1(7);
    f2('o');
    f2('d');
    f2('e');
    return 0;
}

下面為輸出結果,和上面一模一樣:

三、小結

  • if 語句適用于復雜邏輯進行判斷的情形中
  • switch 語句適用于對離散值進行判斷的情形中
  • if 語句和 switch 語句在功能上可以相互替換
  • if 語句對于"按片"分支判斷的情形更加簡潔
  • switch 語句對于多分支判斷的情形更加簡潔

原文鏈接:https://blog.csdn.net/weixin_43129713/article/details/123151100

欄目分類
最近更新