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

C語言分支結構核心:關係運算符、邏輯運算符與if語句三大形式詳解

     編輯:關於C語言

分支結構程序設計基石:運算符與 if 語句

程序決策的核心在於「比較」與「邏輯判斷」。C語言提供豐富的關係運算符、邏輯運算符,配合三種形式的 if 語句,構建靈活的分支結構。

一、關係運算符與關係表達式

運算符含義優先級結合性
<小於高左結合
<=小於或等於
>大於
>=大於或等於
==等於低
!=不等於

關鍵規則:

  • 關係運算符優先級低於算術運算符,高於賦值運算符。
  • 關係表達式值為 1(真)或 0(假)。例如 5 > 0 值為 1,(a=3) > (b=5) 值為 0。
  • 允許嵌套:a > (b > c)、a != (c == d) 均合法,按左結合性求值。

二、邏輯運算符與邏輯表達式

運算符名稱目數結合性優先級(高→低)
!非單目右結合! > && > ||
&&與雙目左結合
||或雙目左結合

求值規則(短路求值):

  • &&:兩側皆真才為真;左側假則不再算右側。
  • ||:任一真即為真;左側真則不再算右側。
  • !:真變假,假變真。

真假判定: C語言中 0 為假,非 0 為真。邏輯運算結果以 1/0 表示,但判斷時任何非零值皆視為真。例:5 && 3 → 1,5 || 0 → 1。

三、if 語句三大基本形式

1. 基本形式:單向選擇

if(表達式) 語句;
// 表達式為真執行語句,否則跳過

例:輸入兩數較大者

max = a;
if(max < b) max = b;

2. if-else 形式:雙向選擇

if(表達式) 語句1; else 語句2;
// 真執行語句1,假執行語句2

例:輸出較大數

if(a > b) printf("max=%d", a);
else printf("max=%d", b);

3. 多重分支(後續課程涵蓋)

if-else if 鏈與 switch 用於多向選擇,邏輯上可互換,但 switch 針對離散常量更高效。

綜合示例:關係與邏輯表達式求值演示

char c='k'; int i=1,j=2,k=3; float x=3e5,y=0.85;
printf("%d,%d\n", 'a'+5=k+1);  // 字符按ASCII碼參與運算
printf("%d,%d\n", 1

熟練掌握運算符優先級、結合性與真假判定規則,是寫出正確條件判斷、避免邏輯錯誤的關鍵。建議多做手算練習,強化對表達式求值順序的直覺。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved