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

邏輯運(yùn)算和判斷選取結(jié)構(gòu).ppt

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

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

邏輯運(yùn)算和判斷選取結(jié)構(gòu).ppt

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

注意事項(xiàng)

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

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




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

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

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


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