零基礎入門學習C語言005講 分支程式設計(3)

2021-09-20 06:31:13 字數 3015 閱讀 8129

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

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

表示式1?  表示式2: 表示式3

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

條件表示式通常用於賦值語句之中。

例如條件語句:

if(a>b)  max=a;

else max=b;

可用條件表示式寫為

max=(a>b)?

a:b;

執行該語句的語義是:如

a>b

為真,則把a賦予

max,否則把

b 賦予

max。

使用條件表示式時,還應注意以下幾點:

1) 條件運算子的運算優先順序低於關係運算子和算術運算子,但高於賦值符。 因此

max=(a>b)?

a:b

可以去掉括號而寫為

max=a>

b?a:b

2) 條件運算子

?和:是一對運算子,

不能分開單獨使用。

3) 條件運算子的結合方向是

自右至左。

例如:

a>

b?a:c

>

d?c:d

應理解為

a>

b?a:(c>

d?c:d)

這也就是條件表示式巢狀的情形,即其中的表示式

3又是乙個條件表示式。

【例5.8】

#include "stdio.h"

void main()

補充:輸入乙個字元,判別它是否大寫字母,如果是,將它轉換成小寫字母;如果不是,不轉換。然後輸出最後得到的字元

#include void main() 

c語言還提供了另一種用於多分支選擇的

switch

語句, 其一般形式為:

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

case

後的語句。如表示式的值與所有

case

後的常量表示式均不相同時,則執行

default

後的語句。

【例4.9】

#include void main()

}

在上面的程式中,我們執行後輸入4,會得到:

input integer number:      4

thursday

friday

saturday

sunday

error

為了避免上述情況,c語言還提供了一種break語句,專用於跳出switch語句,break 語句只有關鍵字break,沒有引數。

請看後邊例子……

【例4.10】

#include void main()

}

在使用switch語句時還應注意以下幾點:1)case後的各常量表示式的值不能相同,否則會出現錯誤。2)case後,允許有多個語句,可以不用{}括起來。3)casedefault子句的先後順序可以變動,而不會影響程式執行結果。4)  default子句可以省略不用。【例

4.11】

輸入三個整數,輸出最大數和最小數。

#include void main()

else

if (maxc)

min = c;

printf("max=%d\nmin=%d", max, min);

}

例4.12】

計算器程式。使用者輸入運算數和四則運算符,輸出計算結果。

#include "stdio.h"

void main()

}

#include void main()

else

printf("error input!");

}

路程(s)越遠,每公里運費越低。標準如下:

s<250km      

沒有折扣

250≤s<500                2%折扣

500≤s<1000            5%折扣

1000≤s<2000        8%折扣

2000≤s<3000        10%折扣

3000≤s                     

15%折扣

設每公里每噸貨物的基本運費為p,貨物重為w,距離為s,

折扣為d,則總運費f的計算公式為:

f=p*w*s*(1-d)

#include void main()

零基礎入門學習C語言005講 分支程式設計(2)

用if 語句可以構成分支結構。它根據給定的條件進行判斷,以決定執行某個分支程式段。語言的 if語句有三種基本形式。第一種形式為基本形式 if 表示式 語句其語義是 如果表示式的值為真,則執行其後的語句,否則不執行該語句。其過程可表示為下圖。例5.3 include stdio.h void main...

零基礎入門學習C語言004講 順序程式設計(2)

scanf函式稱為格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指定的變數之中。1.scanf函式的一般形式 scanf函式是乙個標準庫函式,它的函式原型在標頭檔案 stdio.h 中,與printf函式相同,語言也允許在使用scanf函式之前不必包含stdio.件。scanf函式的一般形式...

零基礎入門學習C語言010講 預處理(1)

在前面各章中,已多次使用過以 號開頭的預處理命令。如包含命令 include 巨集定義命令 define pi 3.1415926等。在源程式中這些命令都放在函式之外,而且一般都放在原始檔的前面,它們稱為預處理部分。無參巨集的巨集名後不帶引數。其定義的一般形式為 define 識別符號 字串 其中的...