




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言ch041關系邏輯和條件表達式教程第四章 選擇構造程序設計Conditional Operator and ExpressionsBranching2022/8/222To be or not to be, this is a question.2022/8/2234.1 選擇構造和條件判斷4.2 用if語句實現選擇構造4.3 關系運算符和關系表達式4.4 邏輯運算符和邏輯表達式4.5 條件運算符和條件表達式4.6 選擇構造的嵌套4.7 用switch語句實現多分支選擇構造4.8 選擇構造程序綜合舉例內容2022/8/224ifif (x % 2 =0) printf(Yesn); 如果
2、條件為真,輸出Yes否那么,什么也不做2022/8/225輸入兩個整數,交換這兩個數后輸出int a, b, t;scanf(%d %d, &a, &b);t = a;a = b;b = t;printf(%d %dn, a, b);2022/8/226 例4.3 輸入3個整數a,b,c,要求按由小到大的順序輸出。解題思路:可以先用偽代碼寫出算法:if ab,a和b對換 a是a、b中的小者if ac,a和c對換 a是三者中最小者if bc,b和c對換 b是三者中次小者順序輸出a,b,c排序問題2022/8/227int a, b, c, t;scanf(%d %d %d, &a, &b, &c
3、);if (a b) / a是a、b中的小者 t = a; a = b; b = t; if (a c) / a是三者中最小者 t = a; a = c; c = t; if (b c) / b是三者中次小者 t = b; b = c; c = t; printf(%d %d %dn, a, b, c); 獨占一行如果沒有這個,會發(fā)生什么?2022/8/228else關鍵字if (x%2 = 0)y = x/2; else y = (x+1)/2; 如果條件為真,執(zhí)行第一個分支如果條件為假,執(zhí)行第二個分支2022/8/229輸入一個整數,輸出絕對值int a; scanf(%d,&a); if
4、 (a0) printf(%dn,a); else printf(%dn,-a); 2022/8/2210else if 關鍵字if (x%2 = 0) y = x/2; else if (x%4 = 1) y= 2 (x+3)/4);elsey = (x+1)/2;11關系運算符和表達式,=, 條件為真(true)if (a1)if (1) if (100)12優(yōu)先級 P378( ) - .! + - +(正號) - * & (類型) sizeof* / %+ - = !=&|&|? := += -= *= /= %= &= = |= =,2022/8/2213關系、算術、賦值運算符的優(yōu)先級
5、int a = 3, b = 2, c = 1;ca+b 等效于c(a+b)ab=c 等效于 (ab)=ca=bc 等效于 a=(bc 等效于 a=(bc)while(c=getchar() != EOF)while (c=getchar() != EOF)算術運算符 (高)賦值運算符 (低)關系運算符 2022/8/2214分清= 和 =int a = 1;if (a = 0)printf(OK);int a = 0;if (a = 0)printf(OK);int a = 1;if (a = 1)printf(OK);int a = 0;if (a = 0)printf(OK);2022/
6、8/2215分清= 和 =常量放左邊,能起點小作用:int a = 0;if (0 = a)printf(OK);int a = 0;if (0 = a)printf(OK);編譯出錯2022/8/22164.4 邏輯運算符邏輯運算,運算結果為1和0&與運算,只有左右都為真,結果才是真(ab & bc);a大于b,并且b大于c|或運算,只有左右都為假,結果才是假(ab | bc); a大于b,或者b大于c!求反,非(!a);如果a是0,結果非0,即1;如果a是非0,結果是0并不改變a的值if (abc)?2022/8/2217修改后的邏輯運算真值表ab! aa & ba | b 非0非0011
7、非000010非0101001002022/8/2218邏輯運算符的優(yōu)先級! & | 非與或與其他運算符的優(yōu)先次序 ! 高算術運算符關系運算符 & 和 |賦值運算符 低2022/8/2219邏輯表達式舉例假設a=4,那么!a的值為0假設a=4,b=5,那么a & b的值為1 a和b值分別為4和5,那么a|b的值為1a和b值分別為4和5,那么!a|b的值為14 & 0 | 2的值為15 3 & 8 4 - !002022/8/2220怎么表示如果分數80小于等于grade且小于90,那么五分制分數為A?if (80 = grade =80 & grade=80) & (gradeb) & (n=
8、cd)2022/8/2222判斷閏年判別某一年是否閏年,用邏輯表達式表示閏年的條件是符合下面二者之一:P20能被4整除,但不能被100整除,如2021能被400整除,如2000(year % 4 = 0 & year % 100 !=0) | (year % 400 = 0)如果表達式值為1,那么閏年;否那么為非閏年2022/8/22234.4.3 邏輯型變量與C+或Java不同, 沒有boolean類型 (in C89/C90)in C99, 增加_Bool 類型如果想用bool類型,使用244.5 條件表達式條件表達式的一般形式為表達式?表達式: 表達式把a和b中的最大值賦值給maxif
9、(a b) max = a;else max = b;max = (a b) ? a : b; 這種表達式切忌用得過于繁雜2022/8/2225條件表達式的執(zhí)行順序表達式?表達式: 表達式求解表達式1假設為非0真那么求解表達式2,此時表達式2的值就作為整個條件表達式的值假設表達式1的值為0假,那么求解表達式3,表達式3的值就是整個條件表達式的值2022/8/2226優(yōu)先級( ) - .! + - + - * & (類型) sizeof* / %+ - = !=&|&|? := += -= *= /= %= &= = |= =,2022/8/2227結合方向自右至左以下為合法的使用方法,但不推薦。ab ? (max=a):(max=b);max = (ab?a:b);ab ? printf(%d,a): printf(%d,b);2022/8/2228例4.4 輸入一個字符,判別
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息檢索語言與技巧考核試卷
- 化工生產過程中的能量集成考核試卷
- 小學生音樂律動課件視頻
- 辦公文具創(chuàng)新設計理念與實踐考核試卷
- 城市綠化管理的城市設計與城市規(guī)劃考核試卷
- 秋季安全宣傳課件圖片
- 門市倉庫出租合同范本
- 醫(yī)藥器械采購合同范本
- 種植基地配送合同范本
- 酒店客房預訂操作規(guī)范及流程制度
- JJF 1341-2012 鋼筋銹蝕測量儀校準規(guī)范-(高清現行)
- 換班申請表(標準模版)
- 偏癱臨床路徑流程
- 者陰村戰(zhàn)友紀念者陰山對越自衛(wèi)還擊作戰(zhàn)30周年聯誼會計劃2
- GB-T 9251-2022 氣瓶水壓試驗方法(高清版)
- 基于單片機的電子廣告牌設計畢業(yè)設計論文
- 承插型盤扣式支模架專項施工方案
- 我國古代職業(yè)教育的發(fā)展
- 通用橫版企業(yè)報價單模板
- 中國移動B-BOSS系統(tǒng)總體結構
- 船舶目標成本-造船成本核算方法(共9頁)
評論
0/150
提交評論