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