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

C語言程式設計初步(五):if 語句嵌套、條件運算符與使用注意事項

     編輯:C 語言基礎

if 語句使用注意事項

  1. 條件運算式類型:通常為邏輯/關係運算式,但可為任意運算式(含賦值、單變數)。非 0 即真。
    if (a=5) ...  // 永真,a 賦值為 5
    if (b) ...      // b 非 0 即真
    if (a=b) ...    // 賦值後以 a 值判斷真假
    
  2. 括號與分號:條件必須用 () 括起,語句後加分號
  3. 復合語句:多語句必須用 {} 括成復合語句,} 後不加分號
    
    if (a>b) { a++; b++; }
    else { a=0; b=10; }
    

if 語句嵌套

if 語句中的執行語句又是 if,形成嵌套。需注意 else 配對規則:

C 語言規定:else 總與其前面最近的未配對 if 配對。

嵌套範例:比較兩數大小


if (a != b)
    if (a > b) printf("A>B\n");
    else printf("A b) printf("A>B\n");
    else printf("A

建議:多分支優先用 if-else-if,結構更清晰:


if (a == b) printf("A=B\n");
else if (a > b) printf("A>B\n");
else printf("A

條件運算符(三目運算符)


運算式1 ? 運算式2 : 運算式3
// 真取 2,假取 3

常用於簡單賦值:


max = (a > b) ? a : b;  // 等價於 if-else 但更簡潔

注意事項

  • 優先級:低於關係/算術,高於賦值 → max = a>b?a:b 可不加括號
  • ? 與 : 成對使用,不可分開
  • 結合方向:自右向左 → a>b?a:c>d?c:d 解析為 a>b?a:(c>d?c:d)
  • 可嵌套:運算式 2/3 可為另一條件運算式

範例


void main() {
    int a,b;
    scanf("%d%d", &a, &b);
    printf("max=%d", a>b?a:b);
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved