歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

邏輯運算和判斷選取結構.ppt

  • 資源ID:5411605       資源大?。?span id="jzt7fjx" class="font-tahoma">282.50KB        全文頁數(shù):41頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

邏輯運算和判斷選取結構.ppt

第4章邏輯運算和判斷選取結構 C程序設計 謝軍 2 本章教學內容 要求 內容1 關系運算符和關系表達式 2 邏輯運算符和邏輯表達式 3 if語句4 switch語句5 程序舉例要求1 掌握關系表達式與邏輯表達式書寫與運用 2 掌握if語句與switch語句的使用 3 能夠設計包含順序結構與選擇結構的C程序 3 重點與難點 重點1 掌握程序的選擇結構 2 順序結構與選擇結構的C程序的設計 難點運算符的優(yōu)先級 程序設計 4 關系運算符和關系表達式 關系運算實際是對兩個操作數(shù)進行大小等同的比較運算 一 關系運算符 六種 及其優(yōu)先次序 大于 大于或等于 高 等于 不等于 低前4種關系運算的優(yōu)先級相同 后2種也相同 前4種高于后2種優(yōu)先次序 單目 算術 關系 邏輯 賦值結合性 左結合 雙目運算符 例 a a b等價于c a b a b c等價于a b c a b c等價于 a b ca b c等價于a b c 5 關系運算符和關系表達式 一 關系表達式什么是關系表達式 用關系運算符將兩個表達式 可以是算術表達式或關系表達式 邏輯表達式 賦值表達式 字符表達式 連接起來的式子 為關系表達式 例 a b b c a 3值為 真 a b 值為 假 a 3 b 2 c 1 d a b f a b c 執(zhí)行結果d 1 f 0 因a b c等價于 a b c所以 判別式 a b c 在C語言中不能簡單地用a b c表示 需要借助邏輯運算來實現(xiàn) 即 a b b c a b即3 2為真1 a b為1 c為1 則1 1為假 6 邏輯運算符和邏輯表達式 一 邏輯運算符及優(yōu)先級 邏輯非 含義NOT 高高 邏輯與 含義AND 算術運算符 邏輯或 含義OR 低關系運算符例 a b x y a b x y a a b賦值運算符低真值表 7 邏輯運算符和邏輯表達式 二 邏輯表達式用邏輯運算符將關系表達式或邏輯量連接起來就是邏輯表達式 邏輯表達式的值是一個邏輯量 即 真 和 假 例 inta 1 b 5 則 a的值為0 a b的值為1 a b的值為1 應注意 1 若在一個表達式中的不同位置上出現(xiàn)數(shù)值 應區(qū)分哪些是作為數(shù)值運算或關系運算 哪些是作為邏輯運算的對象2 邏輯運算符兩側的運算對象可為任意類型的數(shù)據(jù) 例 c d 值為 3 邏輯表達式求解時 并不是所有的邏輯運算符都被執(zhí)行 只有在必須執(zhí)行下一個邏輯運算符才能求出表達式解時 才執(zhí)行該運符 例 1 a b c2 a b c4 和 的結合性是從左往右 而 是單目運算符 結合性是從右往左5 邏輯表達式一般用來表示并判定一種復雜條件 8 例題 例1 5 3 2 8 a key A key Z 9 if語句 一 if語句的兩種形式1 if 表達式 語句 例4 1 輸入三個數(shù) 找出并打印其最小數(shù) 分析 設三個數(shù)為A B C 由鍵盤讀入 我們用一個變量MIN來標識最小數(shù) A B C與MIN皆定義為int型變量 每次比較兩個數(shù) 首先將A賦給MIN 然后比較MIN和B 將小的一個賦給MIN 再把第三個數(shù)C與MIN比較 再將小的一個賦給MIN 則最后MIN即為A B C中最小數(shù) 其流程圖見下一頁 10 if語句 流程圖 N S結構化流程圖 11 if語句 main 輸入三個數(shù) 找出并打印其最小數(shù) inta b c min printf inputa b c scanf d d d 執(zhí)行情況如下 RUN inputa b c 352 Theresultis2 12 if語句 一 if語句的兩種形式2 if 表達式 語句1else語句2 例4 2 輸入兩個整數(shù) 輸出其中的大數(shù) 分析 判別a b的大小 若a大 則輸出a 否則輸出b 算法 1 輸入a b2 若a b 則輸出a否則輸出b 13 if語句 源程序如下 main inta b printf inputtwonumbers scanf d d N S結構化流程圖 14 if語句 二 復合語句if語句中 有時需要執(zhí)行的語句不止一條 這就要用到復合語句 復合語句 就是用一對花括號括起來的一條或多條語句 形式如下 語句1 語句2 語句n 無論包括多少條語句 復合語句從邏輯上講 被看成是一條語句 復合語句在分支結構 循環(huán)結構中 使用十分廣泛 15 if語句 二 復合語句 例4 3 讀入兩個數(shù)x y 將大數(shù)存入x 小數(shù)存入y 分析 x y從鍵盤讀入 若x y 只需順序打出 否則 應將x y中的數(shù)進行交換 然后輸出 兩數(shù)交換必須使用一個中間變量t 定義三個浮點數(shù)x y t 算法 1 讀入x y 2 大數(shù)存入x 小數(shù)存入y 3 輸出x y 第2 步求精 若x y 則交換x與y 再求精 x與y交換 t x x y y t 16 if語句 N S結構化流程圖 流程圖 17 if語句 includemain floatx y t printf inputx y scanf f f 執(zhí)行結果 inputx y 43 256 7 result 56 70043 200 18 if語句 二 復合語句 例4 4 貨物征稅問題 價格在 萬元以上的征5 5000元以上1萬元以下的征3 1000元以上5000以下的征2 1000元以下的免稅 讀入貨物價格 計算并輸出稅金 分析 讀入price 計算tax 這是一個較復雜的分支結構程序設計 應注意避免重復征稅 假定貨物的價格在1萬元以上 征稅應分段累計 各段采用不同稅率進行征收 算法 若price 10000則tax 0 05 price 10000 price 10000 若price 5000則tax 0 03 price 5000 tax price 5000 若price 1000則tax 0 02 price 1000 tax price 1000 19 if語句 二 復合語句 includemain floatprice tax 0 printf inputprice scanf f 運行程序 RUN inputprice 15000 thetax 480 000 20 if語句 三 if elseif語句實際應用中常常面對更多的選擇 這時 將if else擴展一下 就得到if elseif結構 其一般形式為 if語句 elseif語句2elseif語句3else語句4 21 if語句 三 if elseif語句 例4 5 判別鍵盤輸入字符的類別 分析 可以根據(jù)輸入字符的ASCII碼來判別類型 由ASCII碼表可知ASCII值小于32的為控制字符 在 0 和 9 之間的為數(shù)字 在 A 和 Z 之間為大寫字母 在 a 和 z 之間為小寫字母 其余則為其它字符 算法如下 1 輸入字符C 2 若c 32 則c為控制字符否則 若c在 0 和 9 之間 則c為數(shù)字字符否則 若c在 A 和 Z 之間 則c為大寫英文字母字符否則 若c在 a 和 z 之間 則c為小寫英文字母字符否則c為其它字符 22 if語句 三 if elseif語句 includemain 判別鍵盤輸入字符的類別 charc printf inputacharacter c getchar if c 0 23 if語句 四 if語句的嵌套在一個if語句中可以又出現(xiàn)另一個if語句 這稱為if語句的嵌套或多重if語句 ifif else語句2 例4 6 計算函數(shù)1x 0y 0 x 0 1x 0流程圖見右圖 源程序見下一頁 24 if語句 四 if語句的嵌套源程序如下 main floatx y printf inputx scanf f N S結構化流程圖 25 if語句 四 if語句的嵌套注意 對多重if 最容易犯的錯誤是if與else配對錯誤 例如 寫成如下形式 y 0 if x 0 if x 0 y 1 elsey 1 從縮排上可以看出 作者希望else是與ifx 0配對 但是C語言規(guī)定else總是與離它最近的上一個if配對 結果 上述算法的流程圖變成右圖 完全違背了設計者的初衷 26 if語句 四 if語句的嵌套改進的辦法是使用復合語句 將上述程序段改寫如下 y 0 if x 0 if x 0 y 1 elsey 1 27 if語句 五 在使用if語句中注意事項 1 注意關系運算符 與賦值運算符 的區(qū)別 例如 if a b 語句 若a與b相等 則執(zhí)行后面的語句 if a b 語句 將b的值賦給a 若b非0 則執(zhí)行后面的語句 2 關鍵字if后面的表達式可以是變量 例如 if b 語句 若b非0 則執(zhí)行后面的語句 3 注意復合語句的使用 在if語句的三種形式中 所有的語句應為單個語句 如果要想在滿足條件時執(zhí)行一組 多個 語句 則必須把這一組語句用 括起來組成一個復合語句 例如 if x y t x x y y t 28 if語句 五 在使用if語句中注意事項 4 注意if和else的配對問題 else總是與它前面最近的if配對 main inta b printf pleaseinputA B scanf d d 29 if語句 六 條件運算符和條件表達式1 條件運算符 是C語言唯一的一個三目運算符 2 條件表達式 e1 e2 e3 其中 e1 條件或稱邏輯表達式 當e1為真取e2的值 否則取e3的值作為表達式的值 30 3 說明 1 條件運算符的優(yōu)先級高于賦值運算符和逗號 按序求值 運算符max a b a b 與max a b a b 等價y a b a b 1 與y a b a b 1 等價2 條件運算符的結合性 自右向左例如 a 1 b 2 c 3 d 4 則條件表達式a b a c d c d的值為4即等價于 a b a c d c d if語句 31 if語句 4 說明 3 條件表達式不能取代一般的if語句 只能取代if語句中特殊的一種 例 if a b printf d a elseprintf d b 可用printf d a b a b 取代 條件表達式中 表達式 的類型可與表達式 及 不同 表達式 和表達式 的類型也可不同 而條件表達式值的類型取表達式 和 中的較高者 例 intx y x a b 值為字符型而x y 1 1 5值為實型 32 switch語句 Switch語句是多分支選擇語句 一般形式為 switch 表達式 case常量表達式1 語句1或空 case常量表達式2 語句2或空 case常量表達式n 語句n或空 default 語句n 1或空 33 switch語句 控制流程圖 34 switch語句 說明 1 執(zhí)行switch語句時 將表達式的值逐個與case后的常量進行比較 若與其中一個相等 則執(zhí)行該常量下的語句 若不與任何一個常量相等 則執(zhí)行default后面的語句 2 switch中表達式與case后的常量可為任何類型 3 每一個case后常量表達式的值必須互不相同 否則出現(xiàn)矛盾 4 每個case或default后的語句可以是復合語句 但不需要使用 和 括起來 執(zhí)行完一個case后面語句后 流程控制轉移到下一個case繼續(xù)執(zhí)行 因此 若想在不同情況下執(zhí)行不同的語句 必須使用break語句 break語句的功能 將程序流程控制跳出整個switch語句 執(zhí)行switch語句的下一條語句 35 switch語句 switch grade case A printf 85 100 n break case B printf 70 84 n break case C printf 60 69 n break case D printf 60 n break default printf Error n 6 多個case可共用一組執(zhí)行語句 例 switch i case1 case2 case3 語句1 break case4 case5 語句2 break default 語句3 例4 8 輸入年份和月份 打印該年 該月有幾天 36 main 輸入年份和月份 打印該年 該月有幾天 intyear month day printf pleaseinputtheyearnumberandmonthnumber scanf d d switch語句 37 例4 9 解一元二次方程ax2 bx c 0 a b c由鍵盤輸入 分析 對系數(shù)a b c考慮以下情形1 若a 0 b0 則x c b b 0 則 c 0 則x無定根 c0 則x無解 2 若a0 b2 4ac 0 有兩個不等的實根 b2 4ac 0 有兩個相等的實根 b2 4ac 0 有兩個共軛復根 程序舉例 38 例4 9 解一元二次方程ax2 bx c 0 a b c由鍵盤輸入 include includemain floata b c delt x1 x2 doublet printf pleaseinputa b c scanf f f f if delt 0 0 程序舉例 if delt 0 0 t sqrt delt x1 0 5 b t a x2 0 5 b t a printf Therearetwodifferentroots fand f n x1 x2 else delt 0 printf Therearetwoequalroots f n 0 5 b a else delt0 endofmain 39 運行結果如下 RUN pleaseinputa b c 123 Therearetwovirtualroots 1 000000 i1 000000 1 000000 i1 000000RUN pleaseinputa b c 253 Therearetwodifferentroots 1 500000and 1 000000RUN pleaseinputa b c 003 Noroot 程序舉例 40 小結 1 關系運算符和關系表達式 2 邏輯運算符和邏輯表達式 3 if語句 4 switch語句 重點 掌握選擇結構及其程序設計 41 作業(yè) 書面作業(yè)P111 5 1 5 2 5 3和5 5課外上機作業(yè)本章的所有例題

注意事項

本文(邏輯運算和判斷選取結構.ppt)為本站會員(zhu****ei)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!