c語言程序設計第三版譚浩強第五章選擇.ppt
《c語言程序設計第三版譚浩強第五章選擇.ppt》由會員分享,可在線閱讀,更多相關《c語言程序設計第三版譚浩強第五章選擇.ppt(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第五章 選擇結構程序設計 本章要點 關系表達式邏輯表達式選擇結構程序設計 主要內(nèi)容 5 1關系運算符和關系表達式5 2邏輯運算符和邏輯表達式5 3if語句5 4switch語句5 5程序舉例 5 1關系運算符和關系表達式 一 關系運算符及其優(yōu)先次序 大于 大于或等于 等于 不等于 說明 關系運算符的優(yōu)先級低于算術運算符關系運算符的優(yōu)先級高于賦值運算符 5 1關系運算符和關系表達式 續(xù) 二 關系表達式用關系運算符將兩個表達式 可以是算術表達式或關系表達式 邏輯表達式 賦值表達式 字符表達式 接起來的式子 稱關系表達式例 a b a b b c a 3 b 5 a b bb 的值為 真 表達式的值為1 C語言中沒有專用的邏輯值 1代表真 0代表假 5 2邏輯運算符和邏輯表達式 一 邏輯運算符及其優(yōu)先次序 邏輯與 相當于其他語言中的AND 邏輯或 相當于其他語言中的OR 邏輯非 相當于其他語言中的NOT例 a b若a b為真 則a b為真 a b若a b之一為真 則a b為真 a若a為真 則 a為假 優(yōu)先次序 非 邏輯運算符中的 和 低于關系運算符 高于算術運算符 5 2邏輯運算符和邏輯表達式 續(xù) 二 邏輯表達式用邏輯運算符將關系表達式或邏輯量連接起來的式子就是邏輯表達式邏輯表達式的值應該是一個邏輯量 真 或 假 例 設a 4 b 5 a的值為0a b的值為1a b的值為1 a b的值為14 0 2的值為1 任何非零的數(shù)值被認作 真 5 2邏輯運算符和邏輯表達式 續(xù) 例 5 3 8 4 0自左向右運算 1 0邏輯值為0 8 3邏輯值為0 4 1值為3 0邏輯值為1 5 3邏輯值為1 表達式值為0 5 2邏輯運算符和邏輯表達式 續(xù) 在邏輯表達式的求解中 并不是所有的邏輯運算符都要被執(zhí)行 1 a b c只有a為真時 才需要判斷b的值 只有a和b都為真時 才需要判斷c的值 2 a b c只要a為真 就不必判斷b和c的值 只有a為假 才判斷b a和b都為假才判斷c 例 m a b n c d 當a 1 b 2 c 3 d 4 m和n的原值為1時 由于 a b 的值為0 因此m 0 而 n c d 不被執(zhí)行 因此n的值不是0而仍保持原值1 5 2邏輯運算符和邏輯表達式 續(xù) 答 year 4 0 year 100 0 year 400 0案值為真 1 是閏年 否則為非閏年 5 3if語句 一 If語句的三種基本形式 1 if 表達式 語句例 if x y printf d x 5 3if語句 續(xù) 2 if 表達式 語句1else語句2例 if x y printf d x elseprintf d y 5 3if語句 續(xù) 3 if 表達式1 語句1elseif 表達式2 語句2elseif 表達式3 語句3 elseif 表達式m 語句melse語句n 5 3if語句 續(xù) 例 if number 500 cost 0 15 elseif number 300 cost 0 10 elseif number 100 cost 0 075 elseif number 50 cost 0 05 elsecost 0 5 3if語句 續(xù) 說明 1 3種形式的if語句中在if后面都有表達式 一般為邏輯表達式或關系表達式 2 第二 第三種形式的if語句中 在每個else前面有一個分號 整個語句結束處有一個分號 3 在if和else后面可以只含有一個內(nèi)嵌的操作語句 也可以由多個操作語句 此時用花括號將幾個語句括起來成為一個復合語句 5 3if語句 續(xù) 例5 1輸入兩個實數(shù) 按代數(shù)值由小到大的順序輸出這兩個數(shù) includevoidmain floata b t scanf f f 5 3if語句 續(xù) 例5 2輸入三個數(shù)a b c 要求按由小到大的順序輸出 Ifa b將a和b對換Ifa c將a和c對換Ifb c將b和c對換 5 3if語句 續(xù) includevoidmain floata b c t scanf f f f 5 3if語句 續(xù) 二 If語句的嵌套在if語句中又包含一個或多個if語句稱為if語句的嵌套 形式 If if 語句1else語句2Elseif 語句3else語句4 內(nèi)嵌if 5 3if語句 續(xù) 匹配規(guī)則 Else總是與它上面的 最近的 統(tǒng)一復合語句中的 未配對的if語句配對 例 If if 語句1elseif 語句2else語句3 例 If if 語句1 elseif 語句2else語句3 當if和else數(shù)目不同時 可以加花括號來確定配對關系 5 3if語句 續(xù) 1 x0 算法1 算法1 輸入x輸入x若x0 則y 1若x 0 則y 0輸出y若x 0 則y 1輸出y 5 3if語句 續(xù) includevoidmain intx y scanf d 5 3if語句 續(xù) 上例中的程序段有四個 請判斷哪個是正確的 程序1 程序2 If x 0 Y 1 if x 0 y 1 Elseelsey 0 If x 0 y 0 elsey 1 Elsey 1 程序3 程序4 Y 1 y 0 If x 0 if x 0 If x 0 y 1 if x 0 y 1 Elsey 0 Elsey 1 正確 正確 5 3if語句 續(xù) 三 條件運算符格式 表達式 表達式 表達式 功能 判斷表達式1的值 如果成立就執(zhí)行表達式2 否則就執(zhí)行表達式3使用場合 若在 語句中 當被判別的表達式的值為 真 或 假 時 都執(zhí)行一個賦值語句且向同一個變量賦值時 可以用一個條件運算符來處理 5 3if語句 續(xù) 例 當a b時將a的值賦給max 當a b時將b的值賦給max 可以看到無論a b是否滿足 都是向同一個變量賦值 可以用下面的條件運算符來處理 5 3if語句 續(xù) 說明 1 條件運算符的執(zhí)行順序 先求解表達式 若為非 真 則求解表達式 此時表達式 的值就作為整個條件表達式的值 若表達式 的值為 假 則求解表達式 表達式 的值就是整個條件表達式的值 2 條件運算符優(yōu)先級高于賦值運算符 低于關系運算符和算術運算符 3 條件運算符的結合方向為 自右至左 4 表達式2 和 表達式3 不僅可以是數(shù)值表達式 還可以是賦值表達式或函數(shù)表達式 5 條件表達式中 表達式 的類型可以與表達式 和表達式 的類型不同 5 3if語句 續(xù) 例5 4輸入一個字符 判別它是否大寫字母 如果是 將它轉換成小寫字母 如果不是 不轉換 然后輸出最后得到的字符 includevoidmain charch scanf c 如果字符變量ch的值為大寫字母 則條件表達式的值為 即相應的小寫字母 如果ch的值不是大寫字母 則條件表達式的值為 即不進行轉換 5 4switch語句 switch語句的格式 表達式 常量表達式 語句 常量表達式 語句 常量表達式 語句 語句 5 4switch語句 續(xù) 例 要求按照考試成績的等級輸出百分制分數(shù)段 用switch語句實現(xiàn) 5 4switch語句 續(xù) 說明 后面括弧內(nèi)的 表達式 標準允許它為任何類型 2 當表達式的值與某一個 后面的常量表達式的值相等時 就執(zhí)行此 后面的語句 若所有的 中的常量表達式的值都沒有與表達式的值匹配的 就執(zhí)行 后面的語句 3 每一個 的常量表達式的值必須互不相同 否則就會出現(xiàn)互相矛盾的現(xiàn)象 對表達式的同一個值 有兩種或多種執(zhí)行方案 5 4switch語句 續(xù) 4 各個 和 的出現(xiàn)次序不影響執(zhí)行結果 例如 可以先出現(xiàn) 再出現(xiàn) 然后是 5 執(zhí)行完一個 后面的語句后 流程控制轉移到下一個 繼續(xù)執(zhí)行 常量表達式 只是起語句標號作用 并不是在該處進行條件判斷 在執(zhí)行 語句時 根據(jù) 后面表達式的值找到匹配的入口標號 就從此標號開始執(zhí)行下去 不再進行判斷 應該在執(zhí)行一個 分支后 可以用一個 語句來終止switch語句的執(zhí)行 6 多個 可以共用一組執(zhí)行語句 5 5程序舉例 例5 5寫程序 判斷某一年是否閏年 用下圖來表示判斷閏年的算法 5 5程序舉例 續(xù) includevoidmain intyear leap scanf d 運行情況 5 5程序舉例 續(xù) 例5 6求 方程的解 基本的算法 N S圖 不是二次方程 有兩個相等實根 有兩個不等實根 有兩個共軛復根 5 5程序舉例 續(xù) include includevoidmain floata b c disc x1 x2 realpart imagpart scanf f f f 5 5程序舉例 續(xù) elseif disc 1e 6 x1 b sqrt disc 2 a x2 b sqrt disc 2 a printf hasdistinctrealroots 8 4fand 8 4f n x1 x2 else realpart b 2 a imagpart sqrt disc 2 a printf hascomplexroots n printf 8 4f 8 4fi n realpart imagpart printf 8 4f 8 4fi n realpart imagpart 5 5程序舉例 續(xù) 例5 7運輸公司對用戶計算運費 路程 越遠 每公里運費越低 標準如下 沒有折扣 折扣 折扣 折扣 折扣 折扣設每公里每噸貨物的基本運費為 貨物重為 距離為 折扣為 則總運費 的計算公式為 5 5程序舉例 續(xù) 分析折扣變化的規(guī)律性 折扣的 變化點 都是 的倍數(shù)在橫軸上加一種坐標 c的值為s 250 c代表 的倍數(shù) 無折扣 折扣 5 5程序舉例 續(xù) includevoidmain intc s floatp w d f scanf f f d- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 語言程序設計 第三 版譚浩強 第五 選擇
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://weibangfood.com.cn/p-6333910.html