C語(yǔ)言第7講關(guān)系運(yùn)算與邏輯運(yùn)算if語(yǔ)句.ppt
《C語(yǔ)言第7講關(guān)系運(yùn)算與邏輯運(yùn)算if語(yǔ)句.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語(yǔ)言第7講關(guān)系運(yùn)算與邏輯運(yùn)算if語(yǔ)句.ppt(20頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第7講 關(guān)系運(yùn)算與邏輯運(yùn)算if語(yǔ)句 第四章選擇結(jié)構(gòu)程序設(shè)計(jì) 4 1 1邏輯值及其在C語(yǔ)言中的表示 關(guān)系運(yùn)算和邏輯運(yùn)算的運(yùn)算結(jié)果都是一個(gè)邏輯值 邏輯值只有兩個(gè)值 即 真 和 假 在C語(yǔ)言中 用數(shù)值1來(lái)表示 真 用數(shù)值0來(lái)表示 假 因此邏輯值也可以作為一個(gè)整數(shù)參與算術(shù)運(yùn)算 反之 對(duì)于參與關(guān)系運(yùn)算或邏輯運(yùn)算的任意一個(gè)表達(dá)式 如果該表達(dá)式的值為零 就代表一個(gè)邏輯 假 值 只要表達(dá)式的值不是零 無(wú)論是正數(shù)還是負(fù)數(shù) 都代表一個(gè)邏輯 真 值 4 1 2關(guān)系運(yùn)算符與關(guān)系表達(dá)式 所謂 關(guān)系運(yùn)算 實(shí)際上就是 比較運(yùn)算 即將兩個(gè)數(shù)據(jù)進(jìn)行比較 判定兩個(gè)數(shù)據(jù)是否符合給定的關(guān)系 例如 a b 中的 表示一個(gè)大于關(guān)系運(yùn)算 如果a的值是8 b的值是5 則這個(gè)關(guān)系運(yùn)算的結(jié)果為 真 即數(shù)值1 表示條件成立 如果a的值是6 b的值是9 則運(yùn)算的結(jié)果為 假 即數(shù)值0 表示條件不成立 1 關(guān)系運(yùn)算符及其優(yōu)先級(jí) C語(yǔ)言提供了六種關(guān)系運(yùn)算符 如表4 1所示 注意 有些運(yùn)算符是由兩個(gè)字符組合而成的 如 其兩個(gè)字符之間不能有空格 在關(guān)系運(yùn)算符中 前4個(gè)優(yōu)先級(jí)相同 后2個(gè)也相同 且前4個(gè)關(guān)系運(yùn)算符的優(yōu)先級(jí)高于后2個(gè) 所有關(guān)系運(yùn)算符的優(yōu)先級(jí)都比算術(shù)運(yùn)算符的優(yōu)先級(jí)低 但都比賦值運(yùn)算符的優(yōu)先級(jí)高 2 關(guān)系表達(dá)式 用關(guān)系運(yùn)算符將兩個(gè)操作數(shù) 常量 變量或表達(dá)式 連接起來(lái) 進(jìn)行關(guān)系運(yùn)算的式子 稱為關(guān)系表達(dá)式 例如 假設(shè)n1 5 n2 8 n3 10 則 1 關(guān)系表達(dá)式n1 n2的值為0 2 關(guān)系表達(dá)式n1n3的值為1 4 關(guān)系表達(dá)式n1 n2 n3的值等為0 注意 由于存在存儲(chǔ)誤差和轉(zhuǎn)換誤差 不能直接用關(guān)系運(yùn)算符 來(lái)判斷兩個(gè)實(shí)型數(shù)是否相等 單精度實(shí)數(shù) fabs x y 0 000001雙精度實(shí)數(shù) fabs a b 1e 14 1 邏輯運(yùn)算符及其優(yōu)先級(jí)C語(yǔ)言提供了三種基本的邏輯運(yùn)算符 邏輯代數(shù)的其它邏輯運(yùn)算都可以轉(zhuǎn)化為這三種邏輯運(yùn)算的組合 4 1 3邏輯運(yùn)算符與邏輯表達(dá)式 優(yōu)先級(jí)次序 邏輯非 14算術(shù)運(yùn)算符13 12關(guān)系運(yùn)算符10 9 邏輯與 5 邏輯或 4賦值運(yùn)算符2 2 邏輯表達(dá)式 由邏輯運(yùn)算符和運(yùn)算對(duì)象所組成的表達(dá)式稱為邏輯表達(dá)式 邏輯運(yùn)算的對(duì)象可以是C語(yǔ)言中任意合法的表達(dá)式 例如 在關(guān)系表達(dá)式 x y 為真的條件下 若a值為10 b值為16 表達(dá)式 a b x y 的值為 假 用數(shù)值0來(lái)表示 若a值為10 b值為6 表達(dá)式 a b x y 的值則為 真 用數(shù)值1來(lái)表示 表4 3邏輯運(yùn)算符的運(yùn)算規(guī)則 數(shù)學(xué)表達(dá)式0 x 10表示x的值應(yīng)該在0到10的范圍內(nèi) 但在C語(yǔ)言中不能用0 x 10這樣一個(gè)關(guān)系表達(dá)式來(lái)表述以上的數(shù)學(xué)關(guān)系 因?yàn)闊o(wú)論x是什么值 按照C語(yǔ)言的運(yùn)算規(guī)則 左邊的表達(dá)式0 x的運(yùn)算結(jié)果只能為0或1 因而表達(dá)式0 x 10的運(yùn)算結(jié)果總是1 只有用邏輯表達(dá)式0 x x l0才能正確地表述以上數(shù)學(xué)關(guān)系 用邏輯表達(dá)式來(lái)表示多個(gè)條件的組合 非完全求解 法 當(dāng)求出某個(gè)邏輯運(yùn)算符的左邊的運(yùn)算量的值就能夠明確地確定這個(gè)邏輯運(yùn)算的結(jié)果時(shí) 就結(jié)束求解過(guò)程 直接給出運(yùn)算結(jié)果 例如 1 a若a為 真 b為 假 a b及整個(gè)表達(dá)式的值為 假 只有當(dāng)a為 真 時(shí) 才需要判別b的值 只有當(dāng)a b的值為 真 時(shí) 才需要判別c的值 2 a b c若a為 真 直接求得a b及整個(gè)表達(dá)式的值為 真 若a為 假 b為 真 a b及整個(gè)表達(dá)式的值為 真 只有當(dāng)a為 假 時(shí) 才需要判別b的值 只有當(dāng)a b的值為 假 時(shí) 才需要判別c的值 邏輯表達(dá)式的 非完全求解 法 例 非完全求解 include stdio h voidmain intx a b c a 1 b 2 c 3 x a 1 4 2if語(yǔ)句 1 if語(yǔ)句的一般形式if 表達(dá)式 語(yǔ)句1 else語(yǔ)句2 if語(yǔ)句可以根據(jù)給定的條件進(jìn)行判斷 決定執(zhí)行某個(gè)分支程序段 以實(shí)現(xiàn)選擇結(jié)構(gòu)的程序設(shè)計(jì) 表達(dá)式可以是任何類(lèi)型的C表達(dá)式 語(yǔ)句1 語(yǔ)句2都可以是復(fù)合語(yǔ)句 else子句不能單獨(dú)使用 可選 if語(yǔ)句的執(zhí)行過(guò)程 先求表達(dá)式的值 main intn1 n2 n3 max printf Pleaseinputthreenumbers scanf d d d 程序運(yùn)行情況如下 Pleaseinputthreenumbers 11 22 18max 22 例4 1輸入三個(gè)整數(shù) 求最大值 簡(jiǎn)化形式 max n1 if n2 max max n2 例4 2輸入三個(gè)整數(shù) 在變量a b c中排序 main inta b c t printf inputa b c scanf d d d 程序運(yùn)行情況如下 inputa b c 623424a 62 b 34 c 24a 24 b 34 c 62 if語(yǔ)句中的if子句和else子句可以是任意合法的C語(yǔ)句 當(dāng)然也可以是另外一個(gè)if語(yǔ)句 通常稱這種語(yǔ)句為嵌套的if語(yǔ)句 內(nèi)嵌的if語(yǔ)句既可以嵌套在if子句中 也可以嵌套在else子句中 在運(yùn)用嵌套的if語(yǔ)句時(shí) 應(yīng)該特別注意else子句和if子句的配套問(wèn)題 如果在嵌套的if語(yǔ)句中沒(méi)有用一對(duì)花括號(hào)強(qiáng)制地結(jié)束某個(gè)內(nèi)嵌的不帶else子句的if語(yǔ)句 則else子句總是與在它前面的 離它最近的 尚未與其它else子句匹配的if子句相匹配 以下介紹兩種值得關(guān)注的嵌套if語(yǔ)句 2 嵌套的if語(yǔ)句 在if語(yǔ)句的else子句中嵌套多個(gè)具有else子句的if語(yǔ)句語(yǔ)句形式如下 if 表達(dá)式1 語(yǔ)句1elseif 表達(dá)式2 語(yǔ)句2elseif 表達(dá)式3 語(yǔ)句3elseif 表達(dá)式4 語(yǔ)句4 else語(yǔ)句n執(zhí)行過(guò)程 從上向下逐一對(duì)if后的表達(dá)式進(jìn)行檢測(cè) 當(dāng)其中某一個(gè)表達(dá)式的值為非零時(shí) 就執(zhí)行與之對(duì)應(yīng)的if子句 階梯形子句中的其余部分就被跳越過(guò)去 如果所有表達(dá)式的值都為零 則執(zhí)行最后的else子句 即語(yǔ)句n 如果最內(nèi)層的if語(yǔ)句沒(méi)有else子句 那么將不進(jìn)行任何操作 1 用嵌套的if語(yǔ)句形成多分支語(yǔ)句 例4 3 編寫(xiě)程序 根據(jù)輸入的學(xué)生成績(jī) 給出相應(yīng)的等級(jí) 90分以上的等級(jí)為A 60分以下的等級(jí)為E 其余每10分為一個(gè)等級(jí) main intg printf Enterg scanf d 程序運(yùn)行情況如下 Enterg 78g 78 C 2 在if子句中嵌套不含else子句的if語(yǔ)句 用花括號(hào)把內(nèi)層if語(yǔ)句括起來(lái)后 使得此內(nèi)層if語(yǔ)句在語(yǔ)法上成為一條獨(dú)立的語(yǔ)句 從而使得else子句只能與外層的if配對(duì) 例4 4編寫(xiě)一程序?qū)崿F(xiàn)符號(hào)函數(shù)的功能 main intx y printf Enterx scanf d 程序運(yùn)行情況如下 Enterx 8x 8 y 1- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 語(yǔ)言 關(guān)系 運(yùn)算 邏輯運(yùn)算 if 語(yǔ)句
鏈接地址:http://www.szxfmmzy.com/p-6334543.html