資源描述:
《c語言 選擇控制結(jié)構(gòu)課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第5章選擇控制結(jié)構(gòu)本章學習內(nèi)容?算法的描述方法?用于單分支控制的if語句?用于雙分支控制的if-else語句?用于多路選擇的switch語句?break語句在switch語句中的作用?關(guān)系運算符?條件運算符?邏輯運算符?程序測試5.1算法的概念及其描述方法一個程序應(yīng)包括兩個方面的內(nèi)容:對數(shù)據(jù)的描述:數(shù)據(jù)結(jié)構(gòu)(datastructure)對操作的描述:算法(algorithm)著名計算機科學家沃思提出一個公式:數(shù)據(jù)結(jié)構(gòu)+算法=程序計算機中的算法(Algorithm)為解決一個具體問題而采取的確定的有限的操作步驟,
2、僅指計算機能執(zhí)行的算法5.1算法的概念及其描述方法算法的特性有窮性在合理的時間內(nèi)完成確定性,無歧義如果x≥0,則輸出Yes;如果x≤0,則輸出No有效性能有效執(zhí)行負數(shù)開平方?jīng)]有輸入或有多個輸入有一個或多個輸出5.1算法的概念及其描述方法算法的描述方法自然語言描述傳統(tǒng)流程圖(Flowchart)在1966年,Bohra與Jacopini提出N-S結(jié)構(gòu)化流程圖1973年,美國學者I.Nassi和B.Shneiderman提出偽碼(Pseudocode)表示流程圖(Flowchart)Flowchartreprese
3、ntsalgorithmgraphically.Start/EndSymbolSemanticProcessInput/OutputTestConnectorFlowofactivitiesN-S流程圖去掉流程線,使圖緊湊易畫計算機中的問題求解過程Example:買蘋果,計算價錢Calculateanddisplaythepriceofanumberofapplesifthequantityinkgandpriceperkgaregiven.quantitypricePerkgpriceprice=quanti
4、ty*pricePerkgInputProcessOutputFirstidentifytheinputandoutputoftheproblem.順序結(jié)構(gòu)(SequenceStructure)給變量賦值賦值表達式語句賦值表達式;price=quantity*pricePerkg;輸入輸出數(shù)據(jù)標準庫函數(shù)調(diào)用語句scanf("%d",&pricePerkg);printf("%d",price);ABC【例5.1】計算兩整數(shù)的最大值num1num2max????InputProcessOutputSingleSe
5、lectionDoubleSelection選擇結(jié)構(gòu)(分支結(jié)構(gòu))(SelectionStructure)MultipleSelection5.2關(guān)系運算符與關(guān)系表達式RelationalOperationDescriptionExamplesofExpressionValueGreaterthan2>60(false)>=Greaterthanorequalto9>=51(true)==Equalto7==50(
6、false)!=Notequalto6!=51(true)5.3用于單分支控制的條件語句(SingleSelection)StepaconditionStepmStepnStepxtruefalsestepaconditionstepmstepnstepbtruefalsePseudocodeStructurestepaifstartstepmstepnend_ifstepbifStatementThestructureissimilartosingleselection(fl
7、owchart)Syntax:if(expression)statement;orif(expression){statement1;statement2;}復合語句compoundstatement被當作一條語句看待表達式非0為真ifStatementThestructureissimilartosingleselection(flowchart)Syntax:if(expression)statement;orif(expression){statement1;statement2;}Don’tforget
8、thebraces!!Don’tforgettheparentheses!!#includevoidmain(){inta,b,max;printf(“Inputa,b:“);scanf(“%d,%d”,&a,&b);if(a>b)max=a;if(a<=b)max=b;printf(“max=%d”,max);}Inputa,b:_Inputa,b:2015_I