C語言 分支結構程式

2021-09-01 02:55:15 字數 2652 閱讀 3563

一.關係運算子和表示式

在程式中經常需要比較兩個量的大小關係,以決定程式下一步的工作。比較兩個量的運算子稱為關係運算子。

(1)關係運算子及優先次序

在c語言中有以下關係運算子:

1.< 小於

2. <= 小於或等於

3. > 大於

4. >= 大於或等於

5. == 等於

6. != 不等於

在六個關係運算子中,<,<=,>,>=的優先順序相同,高於== 和!=,==和!=的優先順序相同。

(2)關係表示式

關係表示式的一般形式:表示式 關係運算子 表示式

例如:a+b>c-d

x>3/2

『a』+1例如:

a>(b>c)

a!=(c==d)

關係表示式的值是真」和「假」,用「1」和「0」表示。

例如:5>0 的值為「真」,即為 1。

(a=3)>(b=5)由於 3>5 不成立,故其值為假,即為 0。

二.邏輯運算子和表示式

(1)邏輯運算子及優先次序

c語言中提供了三種邏輯運算子:

&& 與運算

|| 或運算

! 非運算

與運算子"&& 「和或運算子」||「均為雙目運算子。具有左結合性。非運算子」!"為單目運算子,具有右結合性。

「&&」和「||」低於關係運算子,「!」高於算術運算子。

按照運算子的優先順序可以得出:

a>b && c>d 等價於 (a>b)&&(c>d)

!b==c||dc&&x+yc)&&((x+y)(2)邏輯運算的值

邏輯運算的值也為「真」和「假」兩種,用「1」和「0 」來表示。

與運算 &&:參與運算的兩個量都為真時,結果才為真,否則為假。

或運算||:參與運算的兩個量只要有乙個為真,結果就為真。 兩個量都為假時,結果為假。

3.非運算!:參與運算量為真時,結果為假;參與運算量為假時,結果為真。

(3)邏輯表示式

邏輯表示式的一般形式:表示式 邏輯運算子 表示式

其中的表示式可以又是邏輯表示式,從而組成了巢狀的情形。

例如:(a&&b)&&c

邏輯表示式的值是式中各種邏輯運算的最後值,以「1」和「0」分別代表「真」和「假」

三.if 語句

(1)if 語句的三種形式

1.if (表示式) 語句

其語義是:如果表示式的值為真,則執行其後的語句, 否則不執行該語句。

2.if-else

if(表示式) 

語句1;

else

語句2;

其語義是:如果表示式的值為真,則執行語句 1,否則執行語句 2 。

3.if-else-if

if(表示式 1)

語句 1;

else if(表示式 2)

語句 2;

else if(表示式 3)

語句 3;

…else if(表示式 m)

語句 m;

else

語句 n;

其語義是:依次判斷表示式的值,當出現某個值為真時,則執行其對應的語句。然後跳到整個 if 語句之外繼續執行程式。 如果所有的表示式均為假,則執行語句 n。然後繼續執行後續程式。

(2)條件運算子和條件表示式

條件運算子為?和:,它是乙個三目運算子,即有三個參與運算的量。

由條件運算子組成條件表示式的一般形式為:

表示式1 ? 表示式2: 表示式3
其求值規則為:如果表示式 1 的值為真,則以表示式 2 的值作為條件表示式的值,否則以表示式 2 的值作為整個條件表示式的值。

注意:1.條件運算子的運算優先順序低於關係運算子和算術運算子,但高於賦值符。

例如:

max=(a>b)?a:b
可以去掉括號而寫為

max=a>b?a:b
條件運算子?和:是一對運算子,不能分開單獨使用。

條件運算子的結合方向是自右至左。

例如:

a>b?a:c>d?c:d
應理解為

a>b?a:(c>d?c:d)
這也就是條件表示式巢狀的情形,即其中的表示式 3 又是乙個條件表示式。

四.switch 語句

c語言還提供了另一種多分支選擇的switch語句,其一般表示式為:

switch(表示式)

其語義是:計算表示式的值。 並逐個與其後的常量表示式值相比較,當表示式的值與某個常量表示式的值相等時, 即執行其後的語句,然後不再進行判斷,繼續執行後面所有case 後的語句。如表示式的值與所有 case 後的常量表示式均不相同時,則執行 default 後的語句。

C語言 分支結構

邏輯與 邏輯或 的短路現象 一假即假 左邊為假,不執行右邊 一真即真 左邊為真,不執行右邊 列舉一組有符號名稱的整形常量 羅列出所有狀態和所有可能的結果。列舉屬構造型別 enum 列舉名 美劇值列表 if 條件表示式1 else if 條件表示式2 else 條件表示式的返回值為bool型別 swi...

C語言 分支結構

if 表示式 語句 else if 表示式 語句 else 語句 include int main void include int main void include int main void 運算子 a b 如果a和b的值相等則為1,不等則為0 結果的型別是int 運算子 a b 如果a和b的...

C語言 分支結構

c語言的分支結構 if else switch case x break default break 1.if 語句 1 if 表示式 命令語句 表示式 進行選擇的條件 規定 任意c語言裡面合法的表示式,只要是乙個合法的表示式,它就有乙個值。只需要判斷這個值是否 非0 語句指令 必須是在上面的表示式...