邏輯運算和選擇結(jié)構(gòu)控制.ppt
《邏輯運算和選擇結(jié)構(gòu)控制.ppt》由會員分享,可在線閱讀,更多相關(guān)《邏輯運算和選擇結(jié)構(gòu)控制.ppt(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1 第五章邏輯運算和選擇結(jié)構(gòu)控制 本章要點 正確使用邏輯表達(dá)式掌握用if語句實現(xiàn)選擇結(jié)構(gòu)掌握條件運算符的使用 2 5 關(guān)系運算符和關(guān)系表達(dá)式 語言中的關(guān)系運算符有 種 5 1 1關(guān)系運算符及其優(yōu)先次序 優(yōu)先次序 前 種同級 高于后 種 后 種同級 例如 x ys db cbd 算術(shù)運算符 高 關(guān)系運算符賦值運算符 低 s d b c bd 3 5 1 2關(guān)系表達(dá)式關(guān)系表達(dá)式就是將兩個表達(dá)式用關(guān)系運算符連接起來 如 a b by s f d 語言沒有邏輯型數(shù)據(jù) 關(guān)系表達(dá)式的真 假是以數(shù)值 代表 真 以 代表 假 例 a 3 b 2 c 1 下列表達(dá)式的值是 c b a b 1 b cb c 自左至右 4 用邏輯運算符將關(guān)系表達(dá)式或邏輯量連接起來就是邏輯表達(dá)式 5 2 1邏輯運算符及其優(yōu)先次序C語言提供三種邏輯運算符 邏輯與 邏輯或 邏輯非 注 和 是 雙目 元 運算符 它要求有兩個運算量操作數(shù) 而 是 單目 元 運算符 只要求有一個運算量 如 a b c a b x y x y a ba b為真 則a b為真 a ba b之一為真 則a b為真 a若a為真 則 a為假 優(yōu)先次序 高 低 5 邏輯運算符和邏輯表達(dá)式 5 5 2 2邏輯表達(dá)式用邏輯量與邏輯運算符組成邏輯表達(dá)式 注 如何判斷一個邏輯量為 真 假 我們用 非 代表 真 用 代表 假 例1 5 3 2 8 4 0值為 b d 值為 例2 判別某一年year是否閏年 條件 能被 整除 但不能被100整除 或能被 整除 又能被400整除 判斷閏年的邏輯表達(dá)式為 year 4 0 year 100 0 year 400 0判斷非閏年的邏輯表達(dá)式為 year 4 0 year 100 0 year 400 0 6 If語句用來判定給定的條件是否滿足 根據(jù)判定的結(jié)果決定執(zhí)行下面給出的語句 5 3 1if語句的三種形式 if 表達(dá)式 語句例 if xy printf d x elseprintf d y 5 3if語句 7 3 if 表達(dá)式 語句1elseif 表達(dá)式2 語句2elseif 表達(dá)式3 語句3elseif 表達(dá)式m 語句melse語句n注 上述格式中語句可以表示一個語句或多個語句 若多個語句則用 括起來 例 求 8 includemain intnumb1 sign printf Pleaseinputannumber n scanf d 注 最后else與其之最近的if配對 9 或if if 語句 內(nèi)嵌if else語句2 內(nèi)嵌if 內(nèi)嵌if 或if if 語句 elseif 語句2else語句3 if if 語句 else語句 elseif 語句 else語句 內(nèi)嵌if 5 3 2if語句的嵌套在if語句中又包含一個或多個if語句的形式 一般格式如下 10 例如 已知編一個程序 輸入一個x的值 輸出y值 程序為 main intx y scanf d 11 或者if x 0 if x 0 y 1 elsey 0 elsey 1 內(nèi)嵌if 若程序?qū)懗?y 1if x 0 if x 0 y 1 elsey 0 正確嗎 如何修改 或者y 0 if x 0 if x 0 y 1 elsey 1 正確嗎 如何修改 if X 0 if X 0 12 5 3 3條件運算符 語言增設(shè)了一個條件操作符 它是唯一的三目操作符 格式 表達(dá)式 表達(dá)式 表達(dá)式 功能 判斷表達(dá)式 的值 該值為 非 則取表達(dá)式2的值 為 0 時 取表達(dá)式 的值 如 max a b a b若a 3 b 2 則max 說明 1 條件運算符優(yōu)于賦值運算符 2 條件運算符的結(jié)合方向為 自右向左 例1 當(dāng)a 1 b 2 c 3 d 4時 表達(dá)式a b a c d c d 值為 例2 若x 1 y 0 a 3 b 3表達(dá)式 y x a b a b值為 4 0 13 3 可以用條件表達(dá)式取代一般的if結(jié)構(gòu)語句 如 if a b printf d a elseprintf d b printf d a b a b 4 條件表達(dá)式中的表達(dá)式 的類型可以與表達(dá)式 和表達(dá)式 的類型不同 如 c x y 1 s 當(dāng)x y成立時c 1 否則c s 又如 main charch scanf c printf c ch 輸入 a 14 switch語句問題 為什么引出switch語句 該語句為開關(guān)語句 解決多分支的情況 格式 switch 表達(dá)式 case 常量表達(dá)式 語句塊 case 常量表達(dá)式 語句塊 case 常量表達(dá)式m 語句塊m default 語句塊n 說明 1 表達(dá)式可以是整型 字符型 枚舉數(shù)據(jù)型的表達(dá)式 5 4switch語句和break語句 15 2 計算表達(dá)式的值 3 找到與表達(dá)式的值相同的case常量表達(dá)式 執(zhí)行該case后邊的語句塊 之后依次往下執(zhí)行語句塊 例如 switch grade case A printf 85 100 case B printf 70 84 case C printf 60 69 n case D printf 60 default printf error 若gread A 時 結(jié)果為 85 100 70 84 60 69 60 error 16 如果不想這樣輸出 則可用break語句處理 break語句 格式 break 功能 終止與每一個常量有關(guān)的語句序列 省略它則繼續(xù)執(zhí)行下一個case后的語句塊 上述程序可寫成多分支情況 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 若gread A 時 輸出結(jié)果為 當(dāng)grad B 時 輸出結(jié)果為 70 84 17 流程圖為 grade 輸出 85 100 輸出 60 輸出 60 69 輸出 error 輸出 70 84 18 例 寫程序 判斷某一年是否閏年 其中 leap代表閏年的信息 leap 1閏年 leap 0非閏年程序為 main intyear leap scanf d 19 例 運輸公司對用戶計算運費 距離 s 越遠(yuǎn) 每公里運費越低 折扣為d discount 每公里每噸貨物的基本運費為p price 貨物重w weight 總運費f freight f p w s 1 d 設(shè)c s 250 輸入 1989結(jié)果為 1989isnotaleapyear輸入 2000結(jié)果為 2000isaleapyear 20 程序為 main intc s floatp w d f scanf f f d case4 case5 21 case6 case7 d 8 break case8 case9 case10 case11 d 10 break case12 d 15 break f p w s 1 d 100 0 printf freight 15 4f f 運行 100 20 300結(jié)果 freight 588000 0000 22 3月7日作業(yè) P85頁4 8 4 9題P104頁5 3 5 4 5 5 5 6題上機練習(xí)冊練習(xí)二 1 2 3題- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 邏輯運算 選擇 結(jié)構(gòu) 控制
鏈接地址:http://m.appdesigncorp.com/p-5411354.html