【正文】
組執(zhí)行語句 。 n=1,3,5,7,9 輸出“奇數(shù)” n=0,2,4,6,8 輸出“偶數(shù)” 2021/11/10 31 Program Design in C Language Page 例: 將 【 例 】 用 switch語句編寫 。 運輸公司對用戶計算運費,路程 S越遠,每公里運費越低。標準如下: S< 250km 沒有折扣 250≤S< 500km 2% 折扣 500≤S< 1000km 5% 折扣 1000≤S< 2021km 8% 折扣 2021≤S< 3000km 10% 折扣 3000≤S 15% 折扣 設每公里每噸貨物的基本運費為 p, 貨物重量為 w, 距離為 S, 折扣為 d, 則總的運費為: f=p*w*S(1d) 用 switch語句實現(xiàn)多分支選擇結構 2021/11/10 32 Program Design in C Language Page main() { int c。 float s, p, w, d, f。 printf(請依次輸入 \ 基本運費 、 貨物重量 \ 和運輸距離: \n)。 scanf(%f%f%f, amp。p, amp。w, amp。s)。 if(s = 3000) c = 12。 else c = s/ switch(c) { case 0: d = 0。 break。 case 1: d = 2。 break。 case 2: case 3: d = 5。 break。 case 4: case 5: case 6: case 7: d = 8。 break。 case 8: case 9: case 10: case 11: d = 10。 break。 case 12: d = 15。 break。 } f = p*w*s*(1 d/)。 printf(距離為 %.2fkm時的運費是: \ %.2f元。 \n, s, f)。 } 用 switch語句實現(xiàn)多分支選擇結構 2021/11/10 33 Program Design in C Language Page 條件運算符與條件表達式 條件運算符: ? : 三目運算符 右結合 例: ab ? max=a : max=b 例: (grade=60)?printf(“Passed”):printf(“Failed”)。 條件表達式一般形式: 表達式 1?表達式 2:表達式 3 表達式 1 表達式 2 表達式 3 真 假 2021/11/10 34 Program Design in C Language Page 說明: 條件表達式主要用于對在 if語句中無論條件是否成立,都只執(zhí)行一個賦值語句給同一變量賦值的情況 用條件表達式實現(xiàn)選擇結構 例: if(a b) min = a。 else min = b。 min = (ab) ? a : b。 等價于 (ab)?min=a : min=b。 2021/11/10 35 Program Design in C Language Page 條件運算符的優(yōu)先級高于賦值運算符,低于算術運算符、關系運算符和邏輯運算符。 用條件表達式實現(xiàn)選擇結構 min=ab?a:b。 等價于 min =(ab)?a:b。 條件運算符的結合性為“自右向左”。 ab ? a : bc ? b : c 等價于 ab ? a : (bc ? b : c) 2021/11/10 36 Program Design in C Language Page 在條件表達式中,各表達式的類型可以不同,此時,條件表達式值的類型為表達式 2和表達式 3中較高的類型。 用條件表達式實現(xiàn)選擇結構 例: x10 ? 2 : 的值為浮點型 2021/11/10 37 Program Design in C Language Page 例: 任意輸入三個整數(shù),找出其中最大的整數(shù)。 a=c max=c max=b max=c Y b=c Y max=a a=b N N Y N 用條件表達式實現(xiàn)選擇結構 2021/11/10 38 Program Design in C Language Page 程序 : main() { int a, b, c, max。 printf (‖請輸入三個整數(shù) \n‖)。 scanf(‖%d%d%d‖, amp。a, amp。b, amp。c)。 max = a = b ? a = c ? a : c : b = c ? b : c。 printf(‖最大數(shù)為: %d\n‖, max)。 } 用條件表達式實現(xiàn)選擇結構 2021/11/10 39 Program Design in C Language Page