首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言條件控制語句詳解:if-else 分支結構與複合語句應用

     編輯:關於C語言

選擇結構與 C 語言分支語句

程式三大基本結構中,選擇結構特徵:流程由多路分支組成,執行時依條件僅一條分支被選中執行,其餘跳過。
C 提供兩種分支語句:

  • if:雙向選擇(二選一)
  • switch:多向選擇(多選一)

if 語句兩種基本形式

形式一:單向 if(只有真分支)


if (運算式)
    敘述;

語意:運算式為真(非 0)執行敘述,為假(0)跳過。

形式二:雙向 if-else


if (運算式)
    敘述1;
else
    敘述2;

語意:真執行敘述1,假執行敘述2。兩者必有一個且僅有一個被執行。

流程圖對應

  • 形式一對應菱形判斷框單一出口流程
  • 形式二對應菱形判斷框雙出口流程

範例 1:三數找最小值

演算法分析

  1. 輸入 A、B、C
  2. 比較 A、B,較小者存入 MIN
  3. 比較 MIN、C,較小者更新 MIN
  4. 輸出 MIN

程式碼實作


main() {
    int a, b, c, min;
    printf("input a,b,c:");
    scanf("%d%d%d", &a, &b, &c);
    if (a < b)
        min = a;
    else
        min = b;
    if (c < min)
        min = c;
    printf("The result is %d\n", min);
}

執行範例:輸入 3 5 2 → 輸出 2

縮排習慣重要性

適當縮排(通常 4 空格)使結構層次一目了然,配合註解、空行,從一開始養成良好編碼風格。

複合語句:多敘述分支的必要條件

定義:一對大括號括起的一或多個敘述,邏輯上視為單一敘述。
語法:


{
    敘述1;
    敘述2;
    ...
    敘述n;
}

廣泛用於 if、else、迴圈主體等需多敘述處。

範例 2:兩數大小排序並輸出(大→小)

演算法

  1. 讀入 x、y
  2. 若 x < y,交換兩值(需暫存變數 t)
  3. 輸出 x、y

程式碼


#include 

main() {
    float x, y, t;
    printf("input x,y:");
    scanf("%f%f", &x, &y);
    if (x < y) {
        t = x;
        x = y;
        y = t;
    }
    printf("result:%7.3f\t%7.3f\n", x, y);
}

執行結果:輸入 43.2 56.7 → 輸出 56.700 43.200

關鍵觀察

  • 交換必須使用暫存變數:t=x; x=y; y=t;
  • 複合語句使 if 條件成立時執行三條敘述
  • 格式化輸出 %7.3f:寬度 7、小數 3 位,對齊美觀

if-else 進階形式預告

後續章節將涵蓋:

  1. if-else-if 多重分支:多個互斥條件依序判斷
  2. 巢狀 if:if 內含 if,注意 else 配對規則(最近未配對原則)
  3. 條件運算子 ?: 簡化單純指派分支
  4. switch 多向選擇:離散值高效比對

核心總結

  1. 選擇結構:多路分支,僅一條執行
  2. if 兩基本形式:單向、雙向(if-else)
  3. if/if-else 整體視為單一敘述
  4. 分支需多敘述時必須用複合語句 { } 包裹
  5. 良好縮排風格:大括號獨佔行、對齊、內層縮進 4 空格
  6. 交換兩變數值需暫存變數
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved