最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2022年04月20日 17:00:33   作者:清風自在?流水潺潺  
分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴格按照語句出現(xiàn)的物理順序。分支結(jié)構(gòu)的程序設(shè)計方法的關(guān)鍵在于構(gòu)造合適的分支條件和分析程序流程,根據(jù)不同的程序流程選擇適當?shù)姆种дZ句

一、if 語句分析

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

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

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

二、switch 語句分析

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

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

case 語句的排列順序

  • 按字母或數(shù)字順序排列各條語句
  • 正常情況放在前面,異常情況放在后面
  • 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;
}

下面為輸出結(jié)果:

下面反過來,調(diào)換 if 和 switch,實現(xiàn)相同功能:

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

下面為輸出結(jié)果,和上面一模一樣:

三、小結(jié)

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

到此這篇關(guān)于C語言圖文并茂講解分支語句用法的文章就介紹到這了,更多相關(guān)C語言 分支語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言16進制與ASCII字符相互轉(zhuǎn)換

    C語言16進制與ASCII字符相互轉(zhuǎn)換

    大家好,本篇文章主要講的是C語言16進制與ASCII字符相互轉(zhuǎn)換,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • VisualStudio?禁用移動文件到文件夾自動修改命名空間功能

    VisualStudio?禁用移動文件到文件夾自動修改命名空間功能

    這篇文章主要介紹了VisualStudio?禁用移動文件到文件夾自動修改命名空間功能,文章底部給大家介紹了解決安裝VS2022時,出現(xiàn)未能安裝包“Microsoft.VisualCpp.Redist.14,version=14.32.31332,chip”=x86,的問題及解決方法,需要的朋友可以參考下
    2022-09-09
  • 詳解VisualS tudio Code開發(fā)Arm嵌入式Linux應(yīng)用

    詳解VisualS tudio Code開發(fā)Arm嵌入式Linux應(yīng)用

    本文介紹如何在 Visual Studio Code 中使用 Yocto Project 生成的 Linux SDK,并針對 Arm 處理器進行 C/C++ 應(yīng)用交叉編譯和調(diào)試,感興趣的朋友跟隨小編一起看看吧
    2021-04-04
  • C++學(xué)習(xí)進階之Makefile基礎(chǔ)用法詳解

    C++學(xué)習(xí)進階之Makefile基礎(chǔ)用法詳解

    Makefile 通常指的是一個含有一系列命令(directive)的,通過 Make自動化編譯工具,幫助 C/C++ 程序?qū)崿F(xiàn)自動編譯目標文件的文件,這篇文章主要給大家介紹了關(guān)于C++學(xué)習(xí)進階之Makefile基礎(chǔ)用法的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Linux搭建C++開發(fā)調(diào)試環(huán)境的方法步驟

    Linux搭建C++開發(fā)調(diào)試環(huán)境的方法步驟

    這篇文章主要介紹了Linux搭建C++開發(fā)調(diào)試環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • short與int轉(zhuǎn)換的小例子

    short與int轉(zhuǎn)換的小例子

    short與int轉(zhuǎn)換的小例子,需要的朋友可以參考一下
    2013-04-04
  • C++深入講解類與對象之OOP面向?qū)ο缶幊膛c封裝

    C++深入講解類與對象之OOP面向?qū)ο缶幊膛c封裝

    學(xué)習(xí)過C語言的小伙伴知道:C語言是面向過程的,關(guān)注的是過程,分析出求解問題的步驟,通過函數(shù)調(diào)用逐步解決問題,接下來讓我們詳細的了解
    2022-05-05
  • C++報錯 XX does not name a type;field `XX’ has incomplete type的解決方案

    C++報錯 XX does not name a type;

    這篇文章主要給大家介紹了C++報錯 XX does not name a type;field `XX’ has incomplete type解決方案,文中通過代碼示例講解的非常詳細,需要的朋友可以參考下
    2023-08-08
  • 基于C語言實現(xiàn)五子棋游戲完整實例代碼

    基于C語言實現(xiàn)五子棋游戲完整實例代碼

    這篇文章主要介紹了基于C語言實現(xiàn)五子棋游戲完整實例代碼,相信對于學(xué)習(xí)游戲開發(fā)的朋友會有一定的幫助與借鑒價值,需要的朋友可以參考下
    2014-08-08
  • 你只用do-while來實現(xiàn)循環(huán)?太浪費了

    你只用do-while來實現(xiàn)循環(huán)?太浪費了

    這篇文章主要介紹了你只用do-while來實現(xiàn)循環(huán)?太浪費了,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12

最新評論

红桥区| 横峰县| 通道| 通山县| 鄂伦春自治旗| 丘北县| 阳高县| 泰和县| 巫溪县| 沙坪坝区| 临泉县| 美姑县| 清丰县| 龙岩市| 交口县| 温泉县| 天峨县| 宝丰县| 花垣县| 四平市| 柞水县| 嘉鱼县| 辽阳县| 黑水县| 京山县| 河东区| 婺源县| 二手房| 济阳县| 同德县| 洪泽县| 红河县| 桃园县| 新民市| 徐闻县| 碌曲县| 博兴县| 和平县| 腾冲县| 焉耆| 上虞市|