資源描述:
《《選擇控制結(jié)構(gòu)》ppt課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第5章選擇控制結(jié)構(gòu)C語言程序設(shè)計(jì)本章學(xué)習(xí)內(nèi)容?算法的描述方法?用于單分支控制的if語句?用于雙分支控制的if-else語句?用于多路選擇的switch語句?break語句在switch語句中的作用?關(guān)系運(yùn)算符?條件運(yùn)算符?邏輯運(yùn)算符?程序測(cè)試生活中的問題求解:Problem:烤蛋糕(BakingaCake)Howtosolve:Start將烤箱預(yù)熱準(zhǔn)備一個(gè)盤子在盤子上抹上一些黃油將面粉、雞蛋、糖和香精混合在一起攪拌均勻?qū)嚢韬玫拿娣蹐F(tuán)放在盤子上將盤子放到烤箱內(nèi)End5.1生活中與計(jì)算機(jī)中的問題求解(ProblemSolvingProcess)分治策略("D
2、ivideandConquer"Strategy)Problem:準(zhǔn)備早餐(PrepareaBreakfast)1.Start2.準(zhǔn)備早餐3.End1.Start2.準(zhǔn)備早餐2.1準(zhǔn)備一個(gè)金槍魚三明治2.2準(zhǔn)備一些薯?xiàng)l2.3沖一杯咖啡3.End分治策略("DivideandConquer"Strategy)1.Start2.準(zhǔn)備早餐2.1準(zhǔn)備一個(gè)金槍魚三明治2.1.1拿來兩片面包2.1.2準(zhǔn)備一些金槍魚醬2.2準(zhǔn)備一些薯片2.3沖一杯咖啡3.End分治策略("DivideandConquer"Strategy)1.Start2.準(zhǔn)備早餐2.1準(zhǔn)備一個(gè)金槍魚三
3、明治2.1.1拿來兩片面包2.1.2準(zhǔn)備一些金槍魚醬2.2準(zhǔn)備一些薯片2.2.1將土豆切成片2.2.2油炸這些土豆片2.3沖一杯咖啡3.End分治策略("DivideandConquer"Strategy)分治策略("DivideandConquer"Strategy)1.Start2.準(zhǔn)備早餐2.1準(zhǔn)備一個(gè)金槍魚三明治2.1.1拿來兩片面包2.1.2準(zhǔn)備一些金槍魚醬2.2準(zhǔn)備一些薯片2.2.1將土豆切成片2.2.2油炸這些土豆片2.3沖一杯咖啡2.3.1燒些開水放入杯中2.3.2在水杯中加入一些咖啡和糖3.End5.2算法的概念及其描述方法面向?qū)ο蟪绦?對(duì)
4、象+消息面向過程的程序=數(shù)據(jù)結(jié)構(gòu)+算法計(jì)算機(jī)中的算法(Algorithm)為解決一個(gè)具體問題而采取的、確定的、有限的操作步驟,僅指計(jì)算機(jī)能執(zhí)行的算法Aspecificandstep-by-stepsetofinstructionsforcarryingoutaprocedureorsolvingaproblem,usuallywiththerequirementthattheprocedureterminateatsomepoint5.2算法的概念及其描述方法算法的特性有窮性在合理的時(shí)間內(nèi)完成確定性,無歧義如果x≥0,則輸出Yes;如果x≤0,則輸出No有效
5、性能有效執(zhí)行負(fù)數(shù)開平方?jīng)]有輸入或有多個(gè)輸入有一個(gè)或多個(gè)輸出5.2算法的概念及其描述方法算法的描述方法自然語言描述傳統(tǒng)流程圖(Flowchart)在1966年,Bohra與Jacopini提出N-S結(jié)構(gòu)化流程圖1973年,美國(guó)學(xué)者I.Nassi和B.Shneiderman提出偽碼(Pseudocode)表示流程圖(Flowchart)Flowchartrepresentsalgorithmgraphically.Start/EndSymbolSemanticProcessInput/OutputTestConnectorFlowofactivities計(jì)算機(jī)中
6、的問題求解過程Example:買蘋果,計(jì)算價(jià)錢Calculateanddisplaythepriceofanumberofapplesifthequantityinkgandpriceperkgaregiven.quantitypricePerkgpriceprice=quantity*pricePerkgInputProcessOutputFirstidentifytheinputandoutputoftheproblem.順序結(jié)構(gòu)(SequenceStructure)給變量賦值賦值表達(dá)式語句賦值表達(dá)式;price=quantity*pricePerkg;
7、輸入輸出數(shù)據(jù)標(biāo)準(zhǔn)庫(kù)函數(shù)調(diào)用語句scanf("%d",&pricePerkg);printf("%d",price);ABC【例5.1】計(jì)算兩整數(shù)的最大值num1num2max????InputProcessOutputif-elseSingleSelectionDoubleSelectionMultipleSelectionifif-else-if選擇結(jié)構(gòu)(分支結(jié)構(gòu))(SelectionStructure)5.3關(guān)系運(yùn)算符與關(guān)系表達(dá)式RelationalOperationDescriptionExamplesofExpressionValue8、n6<91(true)<=Lessthanorequ