項(xiàng)目3選擇結(jié)構(gòu)程序設(shè)計(jì)——讓計(jì)算機(jī)_第1頁
項(xiàng)目3選擇結(jié)構(gòu)程序設(shè)計(jì)——讓計(jì)算機(jī)_第2頁
項(xiàng)目3選擇結(jié)構(gòu)程序設(shè)計(jì)——讓計(jì)算機(jī)_第3頁
項(xiàng)目3選擇結(jié)構(gòu)程序設(shè)計(jì)——讓計(jì)算機(jī)_第4頁
項(xiàng)目3選擇結(jié)構(gòu)程序設(shè)計(jì)——讓計(jì)算機(jī)_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、項(xiàng)目項(xiàng)目3 選擇結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)程序設(shè)計(jì)讓計(jì)算讓計(jì)算機(jī)有智能判斷力機(jī)有智能判斷力Page 2項(xiàng)目項(xiàng)目3 選擇結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)程序設(shè)計(jì)讓計(jì)算機(jī)有智能判斷力讓計(jì)算機(jī)有智能判斷力【知識(shí)目標(biāo)知識(shí)目標(biāo)】l了解選擇結(jié)構(gòu)程序的概念。了解選擇結(jié)構(gòu)程序的概念。l掌握三種形式的掌握三種形式的if語句和語句和switch語句的格式及語句的格式及功能。功能。l掌握關(guān)系運(yùn)算符與關(guān)系表達(dá)式、邏輯運(yùn)算符掌握關(guān)系運(yùn)算符與關(guān)系表達(dá)式、邏輯運(yùn)算符與邏輯表達(dá)式、條件運(yùn)算符與條件表達(dá)式的使與邏輯表達(dá)式、條件運(yùn)算符與條件表達(dá)式的使用方法。用方法。Page 3項(xiàng)目項(xiàng)目3 選擇結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)程序設(shè)計(jì)讓計(jì)算機(jī)有智能判斷力讓計(jì)算

2、機(jī)有智能判斷力【能力目標(biāo)能力目標(biāo)】l理解各個(gè)任務(wù)中的實(shí)例程序。理解各個(gè)任務(wù)中的實(shí)例程序。l會(huì)正確地選用會(huì)正確地選用if語句或語句或switch語句去解決遇到語句去解決遇到的實(shí)際問題。的實(shí)際問題。l能靈活地使用各種表達(dá)式去設(shè)置條件,具有能靈活地使用各種表達(dá)式去設(shè)置條件,具有編寫簡單選擇結(jié)構(gòu)程序的能力。編寫簡單選擇結(jié)構(gòu)程序的能力。Page 4任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀任務(wù)提出任務(wù)提出通過分析智能體重測量儀程序,逐步掌握雙分支通過分析智能體重測量儀程序,逐步掌握雙分支if語句的基本格式及執(zhí)行流程,學(xué)會(huì)使用關(guān)系表語句的基本格式及執(zhí)行流程,學(xué)會(huì)使用關(guān)系表

3、達(dá)式正確地表示達(dá)式正確地表示if語句中的條件。理解任務(wù)給出語句中的條件。理解任務(wù)給出的相關(guān)實(shí)例程序,能做到舉一反三,觸類旁通。的相關(guān)實(shí)例程序,能做到舉一反三,觸類旁通。Page 5任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀工作任務(wù)工作任務(wù)編寫一個(gè)智能體重測量儀程序:要求從鍵盤輸入編寫一個(gè)智能體重測量儀程序:要求從鍵盤輸入身高和體重后,能夠計(jì)算出體重指數(shù)。體重指數(shù)身高和體重后,能夠計(jì)算出體重指數(shù)。體重指數(shù)=體重體重(kg)/(身高身高)*2,并要求實(shí)現(xiàn)這樣的判斷:,并要求實(shí)現(xiàn)這樣的判斷:如果體重指數(shù)如果體重指數(shù)25,屬于正常;否則屬于過胖。,屬于正常;否則屬于過

4、胖。Page 6任務(wù)分析任務(wù)分析本項(xiàng)任務(wù)是一個(gè)典型的雙分支選擇事件,可以先通本項(xiàng)任務(wù)是一個(gè)典型的雙分支選擇事件,可以先通過輸入輸出函數(shù)接受身高與體重的輸入及提示文字過輸入輸出函數(shù)接受身高與體重的輸入及提示文字的顯示,然后按照公式計(jì)算出體重指數(shù),最后用的顯示,然后按照公式計(jì)算出體重指數(shù),最后用if語語句實(shí)現(xiàn)條件的判斷與兩種結(jié)果的處理。句實(shí)現(xiàn)條件的判斷與兩種結(jié)果的處理。變量:身高、體重、體重指數(shù)。變量:身高、體重、體重指數(shù)。體重指數(shù)計(jì)算公式:體重指數(shù)體重指數(shù)計(jì)算公式:體重指數(shù)=體重體重(kg)/(身高身高)*2。算法實(shí)現(xiàn):用算法實(shí)現(xiàn):用if語句給出條件,判斷體重指數(shù)是否小語句給出條件,判斷體重指數(shù)

5、是否小于于25,如果條件成立顯示正常,否則顯示過胖。,如果條件成立顯示正常,否則顯示過胖。變量定義:變量定義:float weight,height,index;分別代表體重、分別代表體重、身高、體重指數(shù)。身高、體重指數(shù)。任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀Page 7任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)智能體重測量儀程序具體代碼如下所示。智能體重測量儀程序具體代碼如下所示。#include void main() float weight,height,index; printf(n 請(qǐng)輸入你的體

6、重請(qǐng)輸入你的體重(千克千克):); scanf(%f,&weight); /*輸入體重輸入體重*/ printf(n 請(qǐng)輸入你的身高請(qǐng)輸入你的身高(米米):); scanf(%f,&height); /*輸入身高輸入身高*/ index=weight/(height*height); /*計(jì)算體重指數(shù)計(jì)算體重指數(shù)*/Page 8任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)智能體重測量儀程序具體代碼如下所示。智能體重測量儀程序具體代碼如下所示。printf(n The index of your weight is: %f, ind

7、ex); if(index25) /*if條件判斷條件判斷*/ printf(n You are right!);/*分支一分支一*/ else printf (n You are fat!); /*分支二分支二*/Page 9任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)程序運(yùn)行后如圖程序運(yùn)行后如圖3-1所示。所示。圖圖3-1 智能體重測量儀程序運(yùn)行結(jié)果智能體重測量儀程序運(yùn)行結(jié)果Page 10任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀歸納總結(jié)歸納總結(jié)選擇結(jié)構(gòu)又稱為分支結(jié)構(gòu)或者選取結(jié)構(gòu),其執(zhí)選擇結(jié)構(gòu)又稱為分支結(jié)構(gòu)或

8、者選取結(jié)構(gòu),其執(zhí)行過程是依據(jù)一定的條件選擇執(zhí)行路徑,而不行過程是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語句出現(xiàn)的先后順序執(zhí)行的。所謂是嚴(yán)格按照語句出現(xiàn)的先后順序執(zhí)行的。所謂分支結(jié)構(gòu),是指程序在運(yùn)行過程中根據(jù)條件有分支結(jié)構(gòu),是指程序在運(yùn)行過程中根據(jù)條件有選擇性地執(zhí)行一些語句,故又稱為選擇結(jié)構(gòu)。選擇性地執(zhí)行一些語句,故又稱為選擇結(jié)構(gòu)。選擇結(jié)構(gòu)屬于程序的三種基本結(jié)構(gòu)之一。選擇結(jié)構(gòu)屬于程序的三種基本結(jié)構(gòu)之一。C語語言提供了言提供了“if語句語句”和和“switch語句語句”兩種分支兩種分支結(jié)構(gòu)控制語句。上述程序?qū)儆谶x擇結(jié)構(gòu)程序,結(jié)構(gòu)控制語句。上述程序?qū)儆谶x擇結(jié)構(gòu)程序,根據(jù)體重指數(shù)值進(jìn)行判斷,顯示正

9、?;蜻^胖,根據(jù)體重指數(shù)值進(jìn)行判斷,顯示正?;蜻^胖,具有兩個(gè)分支,可以用雙分支具有兩個(gè)分支,可以用雙分支If語句處理,同語句處理,同時(shí)還需注意正確地使用關(guān)系表達(dá)式表示條件。時(shí)還需注意正確地使用關(guān)系表達(dá)式表示條件。Page 11任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀3.1.1 雙分支雙分支if語句語句實(shí)現(xiàn)分支結(jié)構(gòu)最常用的方法是采用實(shí)現(xiàn)分支結(jié)構(gòu)最常用的方法是采用if語句,如智能體語句,如智能體重測量儀程序中的語句:重測量儀程序中的語句:if(index25) printf(n You are right!);else printf (n You are fat!

10、);Page 12任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀3.1.1 雙分支雙分支if語句語句if語句用于判定所給定的條件是否滿足,程序根據(jù)判定語句用于判定所給定的條件是否滿足,程序根據(jù)判定的結(jié)果決定所執(zhí)行的操作。雙分支的結(jié)果決定所執(zhí)行的操作。雙分支If語句的基本形式:語句的基本形式:if(表達(dá)式表達(dá)式) 語句語句1;else 語句語句2;Page 13任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀3.1.1 雙分支雙分支if語句語句執(zhí)行過程為:先計(jì)算執(zhí)行過程為:先計(jì)算“表達(dá)式表達(dá)式”的值,如果的值,如果“表達(dá)式表達(dá)式”的值為真

11、,則執(zhí)行語句的值為真,則執(zhí)行語句1,否則執(zhí)行語句,否則執(zhí)行語句2,其執(zhí)行過,其執(zhí)行過程如圖程如圖3-2所示。所示。圖圖3-2 雙分支雙分支if語句的執(zhí)行流程圖語句的執(zhí)行流程圖Page 14任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀3.1.2 關(guān)系運(yùn)算符關(guān)系運(yùn)算符在在C語言中有以下關(guān)系運(yùn)算符:語言中有以下關(guān)系運(yùn)算符: 小于小于 大于大于=大于或等于大于或等于= 等于等于!= 不等于不等于Page 15任務(wù)任務(wù)3.1 雙分支選擇語句:智雙分支選擇語句:智能體重測量儀能體重測量儀3.1.3 關(guān)系表達(dá)式關(guān)系表達(dá)式關(guān)系表達(dá)式的一般形式為:關(guān)系表達(dá)式的一般形式為:表達(dá)式表

12、達(dá)式 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 表達(dá)式表達(dá)式(1) 當(dāng)關(guān)系成立時(shí),表達(dá)式的值為邏輯真,用當(dāng)關(guān)系成立時(shí),表達(dá)式的值為邏輯真,用1(非非0)表示。表示。(2) 當(dāng)關(guān)系不成立時(shí),表達(dá)式的值為邏輯假,用當(dāng)關(guān)系不成立時(shí),表達(dá)式的值為邏輯假,用0來來表示。表示。這里的這里的0和和1在程序中被看作是整型量。在程序中被看作是整型量。Page 16任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測任務(wù)提出任務(wù)提出通過分析身高預(yù)測程序,逐步掌握單分支通過分析身高預(yù)測程序,逐步掌握單分支if語句語句的基本形式及執(zhí)行流程,并且學(xué)會(huì)在的基本形式及執(zhí)行流程,并且學(xué)會(huì)在if語句中靈語句中靈活地使用條件表達(dá)式。理解

13、任務(wù)給出的相關(guān)實(shí)例活地使用條件表達(dá)式。理解任務(wù)給出的相關(guān)實(shí)例程序,能夠舉一反三、觸類旁通。程序,能夠舉一反三、觸類旁通。Page 17任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測工作任務(wù)工作任務(wù)編寫一個(gè)具有身高預(yù)測功能的程序,預(yù)測依據(jù):影編寫一個(gè)具有身高預(yù)測功能的程序,預(yù)測依據(jù):影響小孩成人后身高的因素有遺傳、飲食習(xí)慣和體育響小孩成人后身高的因素有遺傳、飲食習(xí)慣和體育鍛煉情況等,另外小孩成人后的身高與其父母的身鍛煉情況等,另外小孩成人后的身高與其父母的身高和自身的性別密切相關(guān)。設(shè)高和自身的性別密切相關(guān)。設(shè)faHeight為其父身高,為其父身高,moHeight為其母身高,身

14、高預(yù)測公式為:男性成為其母身高,身高預(yù)測公式為:男性成人時(shí)身高人時(shí)身高=(faHeight+moHeight)*0.54(cm);女性;女性成人時(shí)身高成人時(shí)身高=(faHeight*0.923+moHeight)/2(cm),此外,如果喜愛體育鍛煉,那么可增加身高此外,如果喜愛體育鍛煉,那么可增加身高2%;如果有良好的衛(wèi)生飲食習(xí)慣,那么可增加身高如果有良好的衛(wèi)生飲食習(xí)慣,那么可增加身高1.5%。Page 18任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測任務(wù)分析任務(wù)分析由于小孩成人后的身高除了與父母身高有關(guān)外,還由于小孩成人后的身高除了與父母身高有關(guān)外,還與其性別、是否喜愛體

15、育鍛煉、是否有良好的衛(wèi)生與其性別、是否喜愛體育鍛煉、是否有良好的衛(wèi)生飲食習(xí)慣有關(guān),性別分男女,可構(gòu)成雙分支選擇,飲食習(xí)慣有關(guān),性別分男女,可構(gòu)成雙分支選擇,而后兩項(xiàng)則屬于單分支選擇,所以此例需要綜合使而后兩項(xiàng)則屬于單分支選擇,所以此例需要綜合使用單分支與雙分支用單分支與雙分支if語句實(shí)現(xiàn)其中的選擇處理。語句實(shí)現(xiàn)其中的選擇處理。變量:父親身高、母親身高、孩子身高等。變量:父親身高、母親身高、孩子身高等。男性成人身高公式:男性成人身高公式:(faHeight+moHeight)*0.54(cm)。女性成人身高公式:女性成人身高公式:(faHeight*0.923+moHeight)/2(cm)。算

16、法實(shí)現(xiàn):用關(guān)系表達(dá)式寫出算法實(shí)現(xiàn):用關(guān)系表達(dá)式寫出if語句的條件,性別是語句的條件,性別是男否?愛好體育否?有好的飲食習(xí)慣否?根據(jù)條件男否?愛好體育否?有好的飲食習(xí)慣否?根據(jù)條件的真假分別執(zhí)行相關(guān)的分支程序。的真假分別執(zhí)行相關(guān)的分支程序。Page 19任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)身高預(yù)測程序代碼如下所示。身高預(yù)測程序代碼如下所示。#include void main() char sex; /*孩子性別孩子性別*/ char sports; /*是否喜歡體育運(yùn)動(dòng)是否喜歡體育運(yùn)動(dòng)*/ char diet; /*是否有良好的飲食習(xí)慣是否有良好的飲

17、食習(xí)慣*/ float myHeight; /*孩子身高孩子身高*/ float faHeight; /*父親身高父親身高*/ float moHeight; /*母親身高母親身高*/Page 20任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)身高預(yù)測程序代碼如下所示。身高預(yù)測程序代碼如下所示。 printf(你是男孩你是男孩(M) 還是女孩還是女孩(F)?); scanf(%1s, &sex); /*輸入父親身高輸入父親身高*/ printf(你輸入你爸爸的身高你輸入你爸爸的身高(cm):); scanf(%f, &faHeight); pr

18、intf(你輸入你媽媽的身高你輸入你媽媽的身高(cm):); scanf(%f, &moHeight); /*輸入母親身高輸入母親身高*/ printf(你是否喜歡體育鍛煉你是否喜歡體育鍛煉(Y/N)?); scanf(%1s, &sports); /*輸入是否喜歡體輸入是否喜歡體育鍛煉?育鍛煉?*/ printf(是否有良好的飲食習(xí)慣等條件是否有良好的飲食習(xí)慣等條件(Y/N)?);Page 21任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)身高預(yù)測程序代碼如下所示。身高預(yù)測程序代碼如下所示。 scanf(%1s, &diet); /*

19、輸入是否有良好輸入是否有良好的飲食習(xí)慣?的飲食習(xí)慣?*/ if(sex=M) myHeight=(faHeight+moHeight)*0.54; /*計(jì)算男性成人時(shí)的身高計(jì)算男性成人時(shí)的身高*/ else myHeight=(faHeight*0.923+moHeight)/2.0;/*計(jì)計(jì)算女性成人時(shí)的身高算女性成人時(shí)的身高*/ if(sports=Y)Page 22任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)身高預(yù)測程序代碼如下所示。身高預(yù)測程序代碼如下所示。 myHeight=myHeight*(1+0.02); /*喜歡體育鍛煉增加身高喜歡體育鍛煉

20、增加身高2%*/ if(diet=Y) myHeight=myHeight*(1+0.015);/*有良好的衛(wèi)生飲有良好的衛(wèi)生飲食習(xí)慣增加身高食習(xí)慣增加身高1.5%*/ printf(你的預(yù)測的身高是你的預(yù)測的身高是 %f(cm)n, myHeight);/*輸出預(yù)測的身高輸出預(yù)測的身高*/Page 23任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)程序運(yùn)行后按提示輸入相應(yīng)信息如圖程序運(yùn)行后按提示輸入相應(yīng)信息如圖3-5所示。所示。圖圖3-5 程序運(yùn)行結(jié)果程序運(yùn)行結(jié)果Page 24任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測3.2.1 單分支

21、單分支if語句語句程序中的程序中的“if(sports=Y) myHeight=myHeight*(1+0.02);”為單分支為單分支if語句。語句。if語語句用于判定所給定的條件是否滿足,程序根據(jù)判定的句用于判定所給定的條件是否滿足,程序根據(jù)判定的結(jié)果決定是否執(zhí)行相關(guān)的操作。單分支結(jié)果決定是否執(zhí)行相關(guān)的操作。單分支If語句基本形式:語句基本形式:if(表達(dá)式表達(dá)式) 語句語句Page 25任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測3.2.1 單分支單分支if語句語句執(zhí)行過程為:首先計(jì)算執(zhí)行過程為:首先計(jì)算“表達(dá)式表達(dá)式”的值,當(dāng)?shù)闹?,?dāng)“表達(dá)式表達(dá)式”的值為真時(shí),執(zhí)行的

22、值為真時(shí),執(zhí)行“語句語句”。其執(zhí)行過程如圖。其執(zhí)行過程如圖3-6所示。所示。圖圖3-6 單分支單分支if語句的執(zhí)行流程語句的執(zhí)行流程Page 26任務(wù)任務(wù)3.2 單分支選擇語句:身單分支選擇語句:身高預(yù)測高預(yù)測3.2.2 條件運(yùn)算符與條件表達(dá)式條件運(yùn)算符與條件表達(dá)式條件運(yùn)算符為和條件運(yùn)算符為和:,它是一個(gè)三目運(yùn)算符,即有三個(gè)參,它是一個(gè)三目運(yùn)算符,即有三個(gè)參與運(yùn)算的量。與運(yùn)算的量。由條件運(yùn)算符組成條件表達(dá)式的一般形式為:由條件運(yùn)算符組成條件表達(dá)式的一般形式為:表達(dá)式表達(dá)式1?表達(dá)式表達(dá)式2:表達(dá)式表達(dá)式3Page 27任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制任務(wù)提出任務(wù)提出通過

23、分析電梯控制程序,進(jìn)一步加深對(duì)單分支通過分析電梯控制程序,進(jìn)一步加深對(duì)單分支if語句的理解,掌握邏輯運(yùn)算符及表達(dá)式在語句的理解,掌握邏輯運(yùn)算符及表達(dá)式在if語句語句中的使用。理解任務(wù)給出的相關(guān)實(shí)例程序,并能中的使用。理解任務(wù)給出的相關(guān)實(shí)例程序,并能夠舉一反三、觸類旁通。夠舉一反三、觸類旁通。Page 28任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制工作任務(wù)工作任務(wù)本項(xiàng)任務(wù)是為電梯廠商編寫一個(gè)電梯控制程序,本項(xiàng)任務(wù)是為電梯廠商編寫一個(gè)電梯控制程序,要求程序可實(shí)現(xiàn)如下功能:輸入樓層數(shù),如果樓要求程序可實(shí)現(xiàn)如下功能:輸入樓層數(shù),如果樓層是層是13,顯示提示,顯示提示“請(qǐng)走樓梯!請(qǐng)走樓梯!

24、”;如果樓;如果樓層是層是420,顯示提示,顯示提示“請(qǐng)進(jìn)電梯!請(qǐng)進(jìn)電梯!”;如果輸;如果輸入的是入的是120之外的數(shù)據(jù),顯示提示之外的數(shù)據(jù),顯示提示“本樓只有本樓只有120層,輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入!層,輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入!”。Page 29任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制任務(wù)分析任務(wù)分析電梯控制程序需要對(duì)所輸入的樓層數(shù)進(jìn)行判斷,電梯控制程序需要對(duì)所輸入的樓層數(shù)進(jìn)行判斷,然后決定顯示何種提示,它具有單分支結(jié)構(gòu)的特然后決定顯示何種提示,它具有單分支結(jié)構(gòu)的特點(diǎn),可以用點(diǎn),可以用if單分支語句來編程,其中的條件由單分支語句來編程,其中的條件由于每種條件的取值有多個(gè),

25、需要用邏輯表達(dá)式來于每種條件的取值有多個(gè),需要用邏輯表達(dá)式來設(shè)置條件。設(shè)置條件。Page 30任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)電梯控制程序具體代碼如下所示。電梯控制程序具體代碼如下所示。#include void main() int x; printf(請(qǐng)輸入你所到的樓層數(shù)請(qǐng)輸入你所到的樓層數(shù):); scanf(%d,&x); if(x20) printf(n本樓只有本樓只有120層,輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)層,輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入重新輸入!);Page 31任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)電梯控制程序具體代

26、碼如下所示。電梯控制程序具體代碼如下所示。 if(x=1&x3&x=20) printf(n請(qǐng)進(jìn)電梯請(qǐng)進(jìn)電梯!);Page 32任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)程序運(yùn)行后三種不同輸入其不同結(jié)果如圖程序運(yùn)行后三種不同輸入其不同結(jié)果如圖3-9圖圖3-11所示。所示。(1) 輸入層樓輸入層樓25:圖圖3-9 輸入輸入25程序運(yùn)行結(jié)果程序運(yùn)行結(jié)果Page 33任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)程序運(yùn)行后三種不同輸入其不同結(jié)果如圖程序運(yùn)行后三種不同輸入其不同結(jié)果如圖3-9圖圖3-11所示。所示。(2) 輸入層樓

27、輸入層樓2:圖圖3-10 輸入輸入2程序運(yùn)行結(jié)果程序運(yùn)行結(jié)果Page 34任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)程序運(yùn)行后三種不同輸入其不同結(jié)果如圖程序運(yùn)行后三種不同輸入其不同結(jié)果如圖3-9圖圖3-11所示。所示。(3) 輸入層樓輸入層樓5:圖圖3-11 輸入輸入5程序運(yùn)行結(jié)果程序運(yùn)行結(jié)果Page 35任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制3.3.1 邏輯運(yùn)算符邏輯運(yùn)算符!(邏輯非邏輯非)|(邏輯或邏輯或)&(邏輯與邏輯與)Page 36任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制3.3.1 邏輯運(yùn)算符邏輯運(yùn)算符圖圖3-1

28、2 邏輯運(yùn)算符在所有運(yùn)算符中的優(yōu)先級(jí)邏輯運(yùn)算符在所有運(yùn)算符中的優(yōu)先級(jí)Page 37任務(wù)任務(wù)3.3 邏輯運(yùn)算符:電梯控制邏輯運(yùn)算符:電梯控制3.3.2 邏輯表達(dá)式邏輯表達(dá)式表表3-1 邏輯運(yùn)算法則邏輯運(yùn)算法則ab!aa&ba|b非非0非非0011非非000010非非010100100說明說明0變變1,非,非0變變0只有兩者均為非只有兩者均為非0時(shí)才時(shí)才為為1只有兩者均為只有兩者均為0時(shí)才時(shí)才為為0Page 38任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀任務(wù)提出任務(wù)提出通過分析智能體重測量儀程序,逐步掌握多分支通過分析智能體重測量儀程序,逐步掌握

29、多分支if語句的基本形式及執(zhí)行流程,理解任務(wù)給出的語句的基本形式及執(zhí)行流程,理解任務(wù)給出的相關(guān)實(shí)例程序,學(xué)會(huì)使用相關(guān)實(shí)例程序,學(xué)會(huì)使用if 語句嵌套去解決常見語句嵌套去解決常見的問題。的問題。Page 39任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀工作任務(wù)工作任務(wù)編寫一個(gè)體重測量儀程序:要求從鍵盤輸入身高編寫一個(gè)體重測量儀程序:要求從鍵盤輸入身高和體重后,計(jì)算出體重指數(shù)并根據(jù)體重指數(shù)顯示和體重后,計(jì)算出體重指數(shù)并根據(jù)體重指數(shù)顯示此人體重狀態(tài)。此人體重狀態(tài)。體重指數(shù)體重指數(shù)=體重體重(kg)/(身高身高)2。要求實(shí)現(xiàn)如下的判斷。要求實(shí)現(xiàn)如下的判斷。偏瘦

30、:體重指數(shù)偏瘦:體重指數(shù)18。正常:正常:18體重指數(shù)體重指數(shù)25。微胖:微胖:25體重指數(shù)體重指數(shù)30。較胖:較胖:30體重指數(shù)體重指數(shù)35。肥胖:肥胖:35體重指數(shù)體重指數(shù)40。很胖:體重指數(shù)很胖:體重指數(shù)40。Page 40任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀任務(wù)分析任務(wù)分析由于智能體重測量儀需要將計(jì)算出的可能體重指由于智能體重測量儀需要將計(jì)算出的可能體重指數(shù)劃分為六個(gè)等級(jí),這六個(gè)等級(jí)對(duì)應(yīng)有六個(gè)條件,數(shù)劃分為六個(gè)等級(jí),這六個(gè)等級(jí)對(duì)應(yīng)有六個(gè)條件,且相鄰條件間又有一定的聯(lián)系,可以使用具有多且相鄰條件間又有一定的聯(lián)系,可以使用具有多分支選擇特點(diǎn)

31、的分支選擇特點(diǎn)的if語句來編寫此程序。語句來編寫此程序。Page 41任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)智能體重測量儀程序具體代碼如下。智能體重測量儀程序具體代碼如下。#include void main() float weight,height,index; printf(n 請(qǐng)輸入你的體重請(qǐng)輸入你的體重(kg):); scanf(%f, &weight); /*輸入體重值輸入體重值*/ printf(n 請(qǐng)輸入你的身高請(qǐng)輸入你的身高(m):); scanf(%f, &height); /*輸入身高值輸入身

32、高值*/ index=weight/(height*height); /*計(jì)算體重指數(shù)計(jì)算體重指數(shù)*/Page 42任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)智能體重測量儀程序具體代碼如下。智能體重測量儀程序具體代碼如下。printf(你的體重系數(shù)是你的體重系數(shù)是: %f, index); /*輸出體重輸出體重指數(shù)值指數(shù)值*/ if(index18) printf(偏瘦偏瘦!n); else if(index25)printf(標(biāo)準(zhǔn)標(biāo)準(zhǔn)!n); else if(index30) printf(微胖微胖!n); /*體體重指數(shù)介于重指數(shù)

33、介于25與與30之間之間*/ else if(index35) printf(較胖較胖!n); else if(index40) printf(肥胖肥胖!n); else printf(很胖很胖!n);Page 43任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)程序運(yùn)行后如圖程序運(yùn)行后如圖3-14所示。所示。圖圖3-14 智能體重測量儀程序運(yùn)行結(jié)果智能體重測量儀程序運(yùn)行結(jié)果Page 44任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀3.4.1 多分支多分支if 語句語句智能體重測量儀程序中使用了下列

34、語句:智能體重測量儀程序中使用了下列語句:if(index18) printf(偏瘦偏瘦!n);else if(index25) printf(標(biāo)準(zhǔn)標(biāo)準(zhǔn)!n);else if(index30) printf(微胖微胖!n);else if(index35) printf(較胖較胖!n);else if(index40) printf(肥胖肥胖!n);else printf(很胖很胖!n);Page 45任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀3.4.1 多分支多分支if 語句語句多分支多分支if語句的基本形式為:語句的基本形式為:if(表達(dá)式表達(dá)式

35、1) 語句語句1;else if(表達(dá)式表達(dá)式2) 語句語句2;else if(表達(dá)式表達(dá)式3) 語句語句3;else if(表達(dá)式表達(dá)式m) 語句語句m;else 語句語句n;Page 46任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀3.4.1 多分支多分支if 語句語句圖圖3-15 多分支多分支if語句執(zhí)行流程語句執(zhí)行流程Page 47任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀3.4.2 if語句的嵌套語句的嵌套在在C語言中,除了使用上述多分支語言中,除了使用上述多分支if語句外,還可以采用語句外,還可以

36、采用if語句的嵌套來處理多分支情況。語句的嵌套來處理多分支情況。(1) if(表達(dá)式表達(dá)式) if(表達(dá)式表達(dá)式) 語句語句1; else 語句語句2; else if(表達(dá)式表達(dá)式) 語句語句3; else 語句語句4;Page 48任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀3.4.2 if語句的嵌套語句的嵌套在在C語言中,除了使用上述多分支語言中,除了使用上述多分支if語句外,還可以采用語句外,還可以采用if語句的嵌套來處理多分支情況。語句的嵌套來處理多分支情況。(2) if(表達(dá)式表達(dá)式)if(表達(dá)式表達(dá)式) 語句語句1; else 語句語句2

37、; else 語句語句3;Page 49任務(wù)任務(wù)3.4 多分支選擇語句多分支選擇語句ifelse:智能體重測量儀智能體重測量儀3.4.2 if語句的嵌套語句的嵌套在在C語言中,除了使用上述多分支語言中,除了使用上述多分支if語句外,還可以采用語句外,還可以采用if語句的嵌套來處理多分支情況。語句的嵌套來處理多分支情況。(3) if(表達(dá)式表達(dá)式)語句語句1;else if(表達(dá)式表達(dá)式) 語句語句2; else 語句語句3;Page 50任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)任務(wù)提出任務(wù)提出通過分析模擬自動(dòng)飲料機(jī)程序,逐步掌握通過分析模擬自動(dòng)飲料機(jī)程序,逐步掌握s

38、witch語句基本形式及執(zhí)行過程。當(dāng)語句基本形式及執(zhí)行過程。當(dāng)switch語語句中存在若干分支需要執(zhí)行相同操作時(shí),會(huì)使多句中存在若干分支需要執(zhí)行相同操作時(shí),會(huì)使多個(gè)個(gè)case分支共用一組語句,簡化程序的內(nèi)容,分支共用一組語句,簡化程序的內(nèi)容,提高編程效率。理解任務(wù)給出的相關(guān)實(shí)例程序,提高編程效率。理解任務(wù)給出的相關(guān)實(shí)例程序,能夠舉一反三、觸類旁通。能夠舉一反三、觸類旁通。Page 51任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)工作任務(wù)工作任務(wù)編寫一個(gè)程序用于模擬自動(dòng)飲料機(jī),先在屏幕中編寫一個(gè)程序用于模擬自動(dòng)飲料機(jī),先在屏幕中顯示以下提示信息:顯示以下提示信息:=自動(dòng)飲

39、料機(jī)自動(dòng)飲料機(jī) =1可口可樂可口可樂2雪碧雪碧3芬達(dá)芬達(dá)4百事可樂百事可樂5非常可樂非??蓸樊?dāng)輸入可供選擇的合法數(shù)字后,即可輸出可獲得當(dāng)輸入可供選擇的合法數(shù)字后,即可輸出可獲得的相應(yīng)飲料名稱。的相應(yīng)飲料名稱。Page 52任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)任務(wù)分析任務(wù)分析前面介紹的前面介紹的if語句當(dāng)要表示兩種以上條件的選擇語句當(dāng)要表示兩種以上條件的選擇時(shí),則要用時(shí),則要用if語句的第三種形式或者語句的第三種形式或者if語句的嵌語句的嵌套形式,當(dāng)嵌套的套形式,當(dāng)嵌套的if語句比較多時(shí),程序冗長且語句比較多時(shí),程序冗長且可讀性降低。在可讀性降低。在C語言中,可直

40、接用語言中,可直接用switch語句語句來實(shí)現(xiàn)多種情況的選擇結(jié)構(gòu)。模擬自動(dòng)飲料機(jī)程來實(shí)現(xiàn)多種情況的選擇結(jié)構(gòu)。模擬自動(dòng)飲料機(jī)程序可能的輸入情況有序可能的輸入情況有6種,用種,用switch語句處理起語句處理起來非常方便。來非常方便。Page 53任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)模擬自動(dòng)飲料機(jī)程序代碼如下所示。模擬自動(dòng)飲料機(jī)程序代碼如下所示。#include stdio.hvoid main() int button; printf(=自動(dòng)飲料機(jī)自動(dòng)飲料機(jī) =n); printf(1.可口可樂可口可樂n); printf(2.雪碧雪碧n); pr

41、intf(3.芬達(dá)芬達(dá)n); printf(4.百事可樂百事可樂n); printf(5.非常可樂非??蓸穘);Page 54任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)模擬自動(dòng)飲料機(jī)程序代碼如下所示。模擬自動(dòng)飲料機(jī)程序代碼如下所示。 printf(請(qǐng)按請(qǐng)按1-5鍵選擇飲料鍵選擇飲料:n); scanf(%d,&button); /*輸入選擇輸入選擇*/ switch(button) /*對(duì)輸入進(jìn)行判斷對(duì)輸入進(jìn)行判斷*/ case 1:printf(n你獲得一聽可口可樂你獲得一聽可口可樂n);break; case 2:printf(n你獲得一聽

42、雪碧你獲得一聽雪碧n);break; case 3:printf(n你獲得一聽芬達(dá)你獲得一聽芬達(dá)n);break; case 4:printf(n你獲得一聽百事可樂你獲得一聽百事可樂n);break;Page 55任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)模擬自動(dòng)飲料機(jī)程序代碼如下所示。模擬自動(dòng)飲料機(jī)程序代碼如下所示。 case 5:printf(n你獲得一聽非??蓸纺惬@得一聽非??蓸穘);break; default:printf(n非法操作非法操作!n);break; Page 56任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料

43、機(jī)任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)程序運(yùn)行后如圖程序運(yùn)行后如圖3-18所示。所示。圖圖3-18 自動(dòng)飲料機(jī)程序運(yùn)行結(jié)果自動(dòng)飲料機(jī)程序運(yùn)行結(jié)果Page 57任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)3.5.1 switch開關(guān)語句開關(guān)語句自動(dòng)飲料機(jī)程序中片段自動(dòng)飲料機(jī)程序中片段switch(button) case 1:printf(n你獲得一聽可口可樂你獲得一聽可口可樂n);break; case 2:printf(n你獲得一聽雪碧你獲得一聽雪碧n);break; case 3:printf(n你獲得一聽芬達(dá)你獲得一聽芬達(dá)n);break; case 4:printf(n你獲得一聽百

44、事可樂你獲得一聽百事可樂n);break; case 5:printf(n你獲得一聽非??蓸纺惬@得一聽非??蓸穘);break; default:printf(n非法操作非法操作!n);break;Page 58任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)3.5.1 switch開關(guān)語句開關(guān)語句switch語句的一般形式為:語句的一般形式為:switch(表達(dá)式表達(dá)式) case常量表達(dá)式常量表達(dá)式1: 語句語句1; case常量表達(dá)式常量表達(dá)式2: 語句語句2; case常量表達(dá)式常量表達(dá)式n: 語句語句n; default : 語句語句n+1;Page 59任務(wù)任務(wù)

45、3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)3.5.2 處理多個(gè)不同分支相同操作的處理多個(gè)不同分支相同操作的switch語句語句【練習(xí)練習(xí)3-9】從鍵盤上輸入一個(gè)百分制成績從鍵盤上輸入一個(gè)百分制成績score,按,按下列原則輸出其等級(jí):下列原則輸出其等級(jí):score90,等級(jí)為,等級(jí)為A;80score90,等級(jí)為,等級(jí)為B;70score80,等級(jí)為,等級(jí)為C;60score70,等級(jí)為,等級(jí)為D;score60,等級(jí)為,等級(jí)為E。程序具體代碼如下所示。程序具體代碼如下所示。#includemain() int score, grade; printf(“Input a sc

46、ore(0100): ”); scanf(“%d”, &score);Page 60任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)3.5.2 處理多個(gè)不同分支相同操作的處理多個(gè)不同分支相同操作的switch語句語句grade = score/10; /*將成績整除將成績整除10,轉(zhuǎn)化成,轉(zhuǎn)化成switch語句中的語句中的case標(biāo)號(hào)標(biāo)號(hào)*/ switch (grade) case 10: case 9: printf(“grade=An”); break; case 8: printf(grade=Bn); break; case 7: printf(grade=

47、Cn); break; case 6: printf(grade=Dn); break; case 5: case 4: case 3: case 2:Page 61任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)3.5.2 處理多個(gè)不同分支相同操作的處理多個(gè)不同分支相同操作的switch語句語句 case 1: case 0: printf(“grade=En”); break; default: printf(“The score is out of range!n”); Page 62任務(wù)任務(wù)3.5 switch語句:模擬自動(dòng)語句:模擬自動(dòng)飲料機(jī)飲料機(jī)3.5.2 處理

48、多個(gè)不同分支相同操作的處理多個(gè)不同分支相同操作的switch語句語句程序運(yùn)行后如圖程序運(yùn)行后如圖3-21所示。所示。圖圖3-21 練習(xí)練習(xí)3-9程序運(yùn)行結(jié)果程序運(yùn)行結(jié)果Page 63任務(wù)任務(wù)3.6 實(shí)例分析:簡單的計(jì)算實(shí)例分析:簡單的計(jì)算器程序器程序任務(wù)提出任務(wù)提出通過分析簡單的計(jì)算器程序,進(jìn)一步掌握通過分析簡單的計(jì)算器程序,進(jìn)一步掌握switch語句的格式及執(zhí)行流程,領(lǐng)會(huì)語句的格式及執(zhí)行流程,領(lǐng)會(huì)break語句語句跳出跳出switch語句的方法,理解任務(wù)給出的相關(guān)語句的方法,理解任務(wù)給出的相關(guān)實(shí)例程序,初步樹立選擇結(jié)構(gòu)程序設(shè)計(jì)的基本思實(shí)例程序,初步樹立選擇結(jié)構(gòu)程序設(shè)計(jì)的基本思路,能獨(dú)立地編寫

49、出一些簡單的選擇結(jié)構(gòu)程序。路,能獨(dú)立地編寫出一些簡單的選擇結(jié)構(gòu)程序。Page 64任務(wù)任務(wù)3.6 實(shí)例分析:簡單的計(jì)算實(shí)例分析:簡單的計(jì)算器程序器程序工作任務(wù)工作任務(wù)編寫一個(gè)簡單的計(jì)算器程序,當(dāng)用戶通過鍵盤輸編寫一個(gè)簡單的計(jì)算器程序,當(dāng)用戶通過鍵盤輸入兩個(gè)操作數(shù)和一個(gè)四則運(yùn)算符后,程序會(huì)輸出入兩個(gè)操作數(shù)和一個(gè)四則運(yùn)算符后,程序會(huì)輸出計(jì)算的結(jié)果。計(jì)算的結(jié)果。Page 65任務(wù)任務(wù)3.6 實(shí)例分析:簡單的計(jì)算實(shí)例分析:簡單的計(jì)算器程序器程序任務(wù)分析任務(wù)分析本例程序可以使用本例程序可以使用switch語句對(duì)運(yùn)算符進(jìn)行判語句對(duì)運(yùn)算符進(jìn)行判斷,根據(jù)不同運(yùn)算符輸出不同的運(yùn)算值。同時(shí)還斷,根據(jù)不同運(yùn)算符輸出

50、不同的運(yùn)算值。同時(shí)還要考慮到:如果輸入的運(yùn)算符是除法,則除數(shù)不要考慮到:如果輸入的運(yùn)算符是除法,則除數(shù)不能為零。所以在此能為零。所以在此switch分支語句中需要使用分支語句中需要使用雙分支雙分支if語句進(jìn)行選擇控制,綜合運(yùn)用多種分支語句進(jìn)行選擇控制,綜合運(yùn)用多種分支語句才能順利解決這一問題。語句才能順利解決這一問題。Page 66任務(wù)任務(wù)3.6 實(shí)例分析:簡單的計(jì)算實(shí)例分析:簡單的計(jì)算器程序器程序任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)簡單的計(jì)算器程序具體代碼如下所示。簡單的計(jì)算器程序具體代碼如下所示。#include #include void main() float data1, data2; /*定義兩個(gè)操

51、作符定義兩個(gè)操作符*/ char op; /*定義運(yùn)算符定義運(yùn)算符*/ printf(Please enter the expression:n); scanf(%f%1s%f, &data1, &op, &data2); /*輸入運(yùn)算表達(dá)式輸入運(yùn)算表達(dá)式*/Page 67任務(wù)任務(wù)3.6 實(shí)例分析:簡單的計(jì)算實(shí)例分析:簡單的計(jì)算器程序器程序任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)簡單的計(jì)算器程序具體代碼如下所示。簡單的計(jì)算器程序具體代碼如下所示。switch (op) /*根據(jù)輸入的運(yùn)算符確定要根據(jù)輸入的運(yùn)算符確定要執(zhí)行的運(yùn)算執(zhí)行的運(yùn)算*/ case +:printf(%f+%f=%fn, d

52、ata1, data2, data1+data2); break; case -:printf(%f-%f=%fn, data1, data2, data1-data2); break; case *:printf(%f*%f=%fn, data1, data2, data1*data2); break;Page 68任務(wù)任務(wù)3.6 實(shí)例分析:簡單的計(jì)算實(shí)例分析:簡單的計(jì)算器程序器程序任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)簡單的計(jì)算器程序具體代碼如下所示。簡單的計(jì)算器程序具體代碼如下所示。 case /:if (fabs(data2) = 1e-7)/*與實(shí)數(shù)與實(shí)數(shù)0比較比較*/ printf(Division b

53、y zero!n); else printf(%f/%f=%fn, data1, data2, data1/data2); break; default:printf(Unknown operator!n); Page 69任務(wù)任務(wù)3.6 實(shí)例分析:簡單的計(jì)算實(shí)例分析:簡單的計(jì)算器程序器程序任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)程序運(yùn)行后如圖程序運(yùn)行后如圖3-22所示。所示。圖圖3-22 簡單計(jì)算器程序運(yùn)行結(jié)果簡單計(jì)算器程序運(yùn)行結(jié)果Page 70任務(wù)任務(wù)3.6 實(shí)例分析:簡單的計(jì)算實(shí)例分析:簡單的計(jì)算器程序器程序3.6.1 程序中分支語句應(yīng)用程序中分支語句應(yīng)用簡單計(jì)算器程序中片段簡單計(jì)算器程序中片段case /:i

54、f (fabs(data2) =5 or a=5|a=5 &a=5|ay|xz); printf(%dn,t);習(xí)習(xí) 題題一、選擇題一、選擇題3下列程序執(zhí)行后的輸出結(jié)果是下列程序執(zhí)行后的輸出結(jié)果是( )。AG BH CE DJmain() int x=d; printf(%cn,A+(x-a+1); 習(xí)習(xí) 題題一、選擇題一、選擇題4有如下程序段有如下程序段執(zhí)行該程序段后,執(zhí)行該程序段后,x的值為的值為( )。AtureBfalse C0 D1int a=14,b=15,x;char c=A;x=(a&b)&(cB);習(xí)習(xí) 題題一、選擇題一、選擇題5若變量若變量c為為char類型,能正確判斷出類型,能正確判斷出c為大寫字母的表達(dá)式是為大寫字母的表達(dá)式是( )。AA=c=A)|(c=Z)C(A=c)D(c=A)&(c=Z)6運(yùn)行程序:運(yùn)行程序:則輸出結(jié)果是則輸出結(jié)果是( )。A0 B1 C1.5D結(jié)果不確定結(jié)果不確定main) int x=1.5; char z=a; printf(%dn,(x2)&(zz);習(xí)習(xí) 題題一、選擇題一、選擇題7若若a為為int類型,且其值為類型,且其值為5,則執(zhí)行表達(dá)式,則執(zhí)行表達(dá)式a+=a-=a*a后,后,a的值是的值是( )。A-5 B-40 C-15D不確定不確定8設(shè)設(shè)x、y、t均為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論