版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程名稱(chēng):程序邏輯和C語(yǔ)言實(shí)現(xiàn)北大青鳥(niǎo)Aptech學(xué)術(shù)部C語(yǔ)言教案第四章 條件結(jié)構(gòu)授課教師:陳錫偉課時(shí):2小時(shí)l 本章主要目的n 1)C語(yǔ)言中的多重IFn 2)嵌套IFn 3)switch條件結(jié)構(gòu)l 本章重點(diǎn)n 多重IF、嵌套IF、switch條件結(jié)構(gòu)l 本章難點(diǎn)n 多重結(jié)構(gòu)的語(yǔ)法,并使用多重條件結(jié)構(gòu)解決實(shí)際問(wèn)題一回顧上一章:1) 表達(dá)式是操作數(shù)和運(yùn)算符的集合。運(yùn)算符包括了符值運(yùn)算符、邏輯運(yùn)算符、關(guān)系運(yùn)算符、算術(shù)運(yùn)算符。邏輯運(yùn)算符是測(cè)試兩個(gè)操作數(shù)之間的關(guān)系。回顧&/|/!的用法。2) 條件結(jié)構(gòu)解決了程序的判斷分支情況。回顧其結(jié)構(gòu)。3) Sizeof()運(yùn)算符用于測(cè)試一種數(shù)據(jù)類(lèi)型在內(nèi)存所占的空間
2、。單位是:字節(jié)4) 在各種運(yùn)算符中進(jìn)行運(yùn)算時(shí),各種操作數(shù)具有優(yōu)先級(jí)別。5) 回顧作業(yè):講解用戶(hù)輸入三個(gè)數(shù),找出最大值,并輸出的例子。并提示思路:驗(yàn)證用戶(hù)輸入的字符是否為大寫(xiě)字母。提示:運(yùn)用輸入字符的ASCII碼值來(lái)判斷輸入的字符是否在大寫(xiě)字母的范圍之內(nèi)。二目標(biāo):1)多重if結(jié)構(gòu)2)嵌套if結(jié)構(gòu)3)使用switch結(jié)構(gòu)4)理解條件運(yùn)算符的用法三知識(shí)點(diǎn)講解以生活中的例子,如等車(chē)、PPT里制作黃瓜沙拉為例講解可能在程序中會(huì)出現(xiàn)多重的條件判斷,用簡(jiǎn)潔的if-else不太方便。所以當(dāng)我們遇到多重條件判斷,就需要多重結(jié)構(gòu)的判斷。在C語(yǔ)言中提供了多重IF,嵌套IF及switch結(jié)構(gòu)這三種結(jié)構(gòu)。(一).多重I
3、F結(jié)構(gòu):1.引入:是在涉及多分支判斷時(shí)組織IF語(yǔ)句的一種形式。是if-else語(yǔ)句的另一種形式。稱(chēng)為階梯IF。結(jié)構(gòu)如下:2.語(yǔ)法:If (條件)語(yǔ)句1Else if (條件)語(yǔ)句2Else語(yǔ)句33.案例: 案例講解:輸入一個(gè)成績(jī),判斷屬于哪個(gè)級(jí)別。如60分的不及格,80分的一般,100良好,=100優(yōu)秀。 案例講解:西瓜的價(jià)格如下:低于5公斤的西瓜每斤a元。低于10公斤的每斤b 元,10公斤以上的每公斤c元。編程計(jì)算重量為X斤的西瓜應(yīng)付多少錢(qián)。#includevoid main()double a,b,c,x,p;printf(輸入重量x,以及價(jià)錢(qián)a,b,c:);scanf(%lf%lf%lf
4、%lf,&x,&a,&b,&c);if(x5 & x 0) if (y 1) z = 1;else /*這個(gè) else 部分屬于哪個(gè) if?*/ z = 2; 問(wèn)題描述:這個(gè)題目有兩種解釋?zhuān)篘O.1處在外層是一個(gè)沒(méi)有else部分的的條件語(yǔ)句。最后的else部分屬于內(nèi)層。No.2內(nèi)層是一個(gè)不帶else部分的條件語(yǔ)句,最后一行的else屬于外層條件語(yǔ)句。 C語(yǔ)言規(guī)定:在每個(gè)else匹配if都有就近原則。和臨近最近的那個(gè)if進(jìn)行匹配。 解決問(wèn)題:提倡在使用if語(yǔ)句時(shí)使用大括號(hào),使結(jié)構(gòu)清楚,來(lái)避免這種二義性的存在。2應(yīng)用:案例講解1:輸入兩個(gè)數(shù)字,判斷這個(gè)數(shù)的大小,首選比較兩個(gè)數(shù)是否相等的情況。如果不
5、相等時(shí),再判斷是哪個(gè)數(shù)更大些。如下。#includevoid main()int a,b;printf(n 請(qǐng)輸入 A 和 B 的值: );scanf(%d%d,&a,&b);if(a!=b) if(ab)printf(n ABn);elseprintf(n ABn);elseprintf(n A=Bn); 案例講解2:在上個(gè)例子的基礎(chǔ)上進(jìn)行改進(jìn)。如果輸入三個(gè)數(shù),進(jìn)行判斷。使用三層if嵌套。(是否有更好的案例?)(講解如果三個(gè)條件都滿(mǎn)足的情況,滿(mǎn)足兩個(gè)條件的情況,滿(mǎn)足一個(gè)條件的情況,一個(gè)條件都不滿(mǎn)足的情況。)#include void main()int x,y,z;printf(n 請(qǐng)輸入第
6、一個(gè)數(shù): );scanf(%d, &x);printf(n 請(qǐng)輸入第二個(gè)數(shù): );scanf(%d, &y);printf(n 請(qǐng)輸入第三個(gè)數(shù): );scanf(%d, &z);if(x30)if(y30)if(z=40)/* 如果所有三個(gè)條件均為真,則顯示消息 */printf(n 滿(mǎn)足全部三個(gè)條件。 n );else/* 如果前兩個(gè)條件均為真,則顯示消息 */printf(n 滿(mǎn)足前兩個(gè)條件。 n );else/* 如果第一個(gè)條件為真,則顯示消息 */printf(n 僅滿(mǎn)足第一個(gè)條件。 n );else printf(n 一個(gè)條件也不滿(mǎn)足。 n );(三)switch語(yǔ)句1、引入:在前面
7、已經(jīng)判斷過(guò)嵌套if語(yǔ)句和多重if語(yǔ)句的情形,但是在判斷中還有一種情形。根據(jù)多種選項(xiàng)進(jìn)行判斷。也就是講在條件中需要檢查同一個(gè)變量的取值是否等于特定的值。而且這些這些值是羅列出來(lái)的。在這種情況下就用switch語(yǔ)句來(lái)替代if語(yǔ)句。PPT11Switch語(yǔ)句是多路判斷語(yǔ)句。用來(lái)計(jì)算條件表達(dá)式,并對(duì)照多個(gè)常數(shù)值進(jìn)行檢查。2、語(yǔ)法:Switch(表達(dá)式)Case 常量1:語(yǔ)句;Break;Case 常量1:語(yǔ)句;Break;Default:語(yǔ)句;switch關(guān)鍵字是switch結(jié)構(gòu)的開(kāi)始。計(jì)算此關(guān)鍵字中圓括號(hào)內(nèi)的表達(dá)式,并將表達(dá)式的結(jié)果與case后的值進(jìn)行比較。如果相等的話(huà),就執(zhí)行case后的語(yǔ)句。用大
8、括號(hào)來(lái)表示開(kāi)始和結(jié)束。其中default語(yǔ)句是可選項(xiàng)。注意:1).switch語(yǔ)句中,變量的類(lèi)型只能是整型或者是字符類(lèi)型。如int和char型(unsigned int 、short、unsigned char),但不能是浮點(diǎn)型?;蛘咭膊荒転閷?shí)型 。2). case語(yǔ)句之后可以直接是常量數(shù)值,如1、2、3也可以是一個(gè)常量的計(jì)算式,如2+2但是不能包含變量或帶有變量的表達(dá)式。如2*a或者2.0/2這樣的表達(dá)式。3).case語(yǔ)句之后要一個(gè)冒號(hào)。4).break語(yǔ)句:是使得程序在執(zhí)行完選中的分支后,可以跳出整個(gè)switch語(yǔ)句。如果沒(méi)有這個(gè)語(yǔ)句,程序?qū)?huì)進(jìn)行到下一個(gè)分支,直到遇到bareak或都s
9、witch語(yǔ)句結(jié)束。所以每個(gè)Case后必須有break語(yǔ)句。5).default是可選項(xiàng),如果沒(méi)有default,程序在找不到default的時(shí)候,程序?qū)⒉蛔鋈魏尾僮鳎苯油顺鰏witch語(yǔ)句。各個(gè)case和default語(yǔ)句順序可以變動(dòng)。6)在case后的各常量值不能相同。允許有多個(gè)語(yǔ)句,但可以不用3、示例:案例講解1:輸入一個(gè)字符,判斷是否是元音。案例講解2:輸入一個(gè)月份,判斷一個(gè)月的天數(shù)。#include void main()int month;printf(n 請(qǐng)輸入月份數(shù): );scanf(%d, &month);switch(month) /* switch 語(yǔ)句開(kāi)始*/ cas
10、e 4 : case 6 : case 9 : case 11 : printf(n最大天數(shù)為 30。n);break; case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 :printf(n最大天數(shù)為 31。n);break; case 2 :printf(n最大天數(shù)為 28 或 29。n);break; default : printf(n錯(cuò)誤輸入n); /*switch 語(yǔ)句結(jié)束*/(四)switch語(yǔ)句和if-else-if的比較1)比較:1、switch語(yǔ)句和if-else-if都是用于實(shí)現(xiàn)多路分支,if-el
11、se-if語(yǔ)句用來(lái)實(shí)現(xiàn)兩路、三路分支比較方便,而switch結(jié)構(gòu)實(shí)現(xiàn)三路以上的分支比較方便。2、在使用switch結(jié)構(gòu)時(shí),注意分支條件表達(dá)式都是整型表達(dá)式,或者是用case語(yǔ)句后必須是常量表達(dá)式。另外switch語(yǔ)句中,只能做值是否相等的判斷。不能在case語(yǔ)句后進(jìn)行是否處于某個(gè)范圍之內(nèi)的判斷。2)案例:案例講解1:輸入一個(gè)字符。要求判別是字符、數(shù)字還是其它的控制字符。案例講解2:輸入兩個(gè)操作數(shù)和一個(gè)個(gè)運(yùn)算符。判斷是運(yùn)算符。進(jìn)行不同的運(yùn)算并輸出。(五)條件運(yùn)算符條件運(yùn)算符用于替代if-else語(yǔ)句,條件運(yùn)算符有三個(gè)操作數(shù),所以稱(chēng)為三元運(yùn)算符。1、語(yǔ)法:(條件表達(dá)式)?為真時(shí)返回的值:為假時(shí)返回
12、的值2、案例:案例講解1:輸入兩個(gè)數(shù),比較大小。并輸出結(jié)果。#include void main()int num1,num2;printf(n 請(qǐng)輸入第一個(gè)數(shù): );scanf(%d, &num1);printf(n 請(qǐng)輸入第二個(gè)數(shù): );scanf(%d, &num2); /* 使用含有三元運(yùn)算符的代碼檢查 num1 是否大于 num2 */ (num1 num2 ? printf(n第一個(gè)數(shù)大于第二個(gè)數(shù)n) : printf(n第二個(gè)數(shù)大于第一個(gè)數(shù)n);案例講解2:收取個(gè)人所得稅,工資大于1600扣除4%,小于1600不計(jì)個(gè)個(gè)所得稅。要求輸入工資后計(jì)算實(shí)發(fā)工資。補(bǔ)充:逗號(hào)運(yùn)算符a=10,2010 a=(10,20)20四??偨Y(jié):q 1. 多重if結(jié)構(gòu)就是在主if塊的else部分中還
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 質(zhì)量管理體系實(shí)施指導(dǎo)手冊(cè)
- 財(cái)稅籌劃與風(fēng)險(xiǎn)管理手冊(cè)(標(biāo)準(zhǔn)版)
- 辦公室員工培訓(xùn)效果跟蹤報(bào)告制度
- 辦公室內(nèi)部溝通與協(xié)作制度
- 養(yǎng)老院老人休閑娛樂(lè)設(shè)施維護(hù)制度
- 2026年遂寧市中心醫(yī)院醫(yī)療衛(wèi)生輔助崗項(xiàng)目人員補(bǔ)招募備考題庫(kù)及參考答案詳解
- 養(yǎng)老院興趣小組制度
- 2026年猴嘴街道殘疾人專(zhuān)職委員招聘?jìng)淇碱}庫(kù)含答案詳解
- 2026年閩侯縣振興一鄉(xiāng)村集團(tuán)有限公司第二次公開(kāi)招聘6人備考題庫(kù)及1套參考答案詳解
- 中國(guó)信達(dá)山東分公司2026年校園招聘?jìng)淇碱}庫(kù)完整參考答案詳解
- 2026四川廣安安農(nóng)發(fā)展集團(tuán)有限公司第一批次招聘勞務(wù)派遣制人員15人筆試備考試題及答案解析
- 肯尼亞介紹全套課件
- 押題專(zhuān)輯十五:14道押題+精準(zhǔn)解題+14篇范文+點(diǎn)評(píng)遷移七年級(jí)語(yǔ)文上學(xué)期期末作文押題(新教材統(tǒng)編版)
- 2025年高職(中醫(yī)康復(fù)技術(shù))運(yùn)動(dòng)康復(fù)綜合測(cè)試題及答案
- 2025年重癥三基考試試題及答案
- 2025年青島衛(wèi)生局事業(yè)單位考試及答案
- 紀(jì)委檔案規(guī)范制度
- 杭州錢(qián)塘新區(qū)建設(shè)投資集團(tuán)有限公司2025年度第三次公開(kāi)招聘工作人員備考題庫(kù)及完整答案詳解
- 金太陽(yáng)云南省2025-2026學(xué)年高一上學(xué)期12月聯(lián)考英語(yǔ)試卷
- 圍墻檢驗(yàn)批質(zhì)量驗(yàn)收記錄表
- 機(jī)器視覺(jué)技術(shù)及應(yīng)用全套課件完整版電子教案最新板
評(píng)論
0/150
提交評(píng)論