(精品)第五章选择控制结构.ppt
《(精品)第五章选择控制结构.ppt》由会员分享,可在线阅读,更多相关《(精品)第五章选择控制结构.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第5 5 5 5章章章章 选择控制结构选择控制结构选择控制结构选择控制结构2023/4/62/56本章学习内容本章学习内容本章学习内容本章学习内容 算法的描述方法算法的描述方法算法的描述方法算法的描述方法 用于单分支控制的用于单分支控制的用于单分支控制的用于单分支控制的ifif语句语句语句语句 用于双分支控制的用于双分支控制的用于双分支控制的用于双分支控制的if-elseif-else语句语句语句语句 用于多路选择的用于多路选择的用于多路选择的用于多路选择的switchswitch语句语句语句语句 breakbreak语句在语句在语句在语句在switchswitch语句中的作用语句中的作
2、用语句中的作用语句中的作用 关系运算符关系运算符关系运算符关系运算符 条件运算符条件运算符条件运算符条件运算符 逻辑运算符逻辑运算符逻辑运算符逻辑运算符2023/4/63/56分治策略分治策略分治策略分治策略(Divide and Conquer Strategy Divide and Conquer Strategy)Problem:Problem:准备早餐(准备早餐(准备早餐(准备早餐(Prepare a BreakfastPrepare a Breakfast)1.Start2.准备早餐准备早餐3.End5.15.1生活中与计算机中的问题求解生活中与计算机中的问题求解生活中与计算机中的问
3、题求解生活中与计算机中的问题求解 (Problem Solving ProcessProblem Solving Process)2023/4/64/561.Start1.Start2.2.准备早餐准备早餐准备早餐准备早餐 2.1 2.1 准备一个金枪鱼三明治准备一个金枪鱼三明治准备一个金枪鱼三明治准备一个金枪鱼三明治 2.2 2.2 准备一些薯条准备一些薯条准备一些薯条准备一些薯条 2.3 2.3 冲一杯咖啡冲一杯咖啡冲一杯咖啡冲一杯咖啡3.End3.End分治策略分治策略分治策略分治策略(Divide and Conquer Strategy Divide and Conquer Stra
4、tegy)2023/4/65/561.Start1.Start2.2.准备早餐准备早餐准备早餐准备早餐 2.1 2.1 准备一个金枪鱼三明治准备一个金枪鱼三明治准备一个金枪鱼三明治准备一个金枪鱼三明治 2.1.1 2.1.1 拿来两片面包拿来两片面包拿来两片面包拿来两片面包 2.1.2 2.1.2 准备一些金枪鱼酱准备一些金枪鱼酱准备一些金枪鱼酱准备一些金枪鱼酱 2.2 2.2 准备一些薯条准备一些薯条准备一些薯条准备一些薯条 2.3 2.3 冲一杯咖啡冲一杯咖啡冲一杯咖啡冲一杯咖啡3.End3.End分治策略分治策略分治策略分治策略(Divide and Conquer Strategy D
5、ivide and Conquer Strategy)2023/4/66/561.Start1.Start2.2.准备早餐准备早餐准备早餐准备早餐 2.1 2.1 准备一个金枪鱼三明治准备一个金枪鱼三明治准备一个金枪鱼三明治准备一个金枪鱼三明治 2.1.1 2.1.1 拿来两片面包拿来两片面包拿来两片面包拿来两片面包 2.1.2 2.1.2 准备一些金枪鱼酱准备一些金枪鱼酱准备一些金枪鱼酱准备一些金枪鱼酱 2.2 2.2 准备一些薯条准备一些薯条准备一些薯条准备一些薯条 2.2.1 2.2.1 将土豆切成条将土豆切成条将土豆切成条将土豆切成条 2.2.2 2.2.2 油炸这些土豆条油炸这些土豆
6、条油炸这些土豆条油炸这些土豆条 2.3 2.3 冲一杯咖啡冲一杯咖啡冲一杯咖啡冲一杯咖啡3.End3.End分治策略分治策略分治策略分治策略(Divide and Divide and Conquer Strategy Conquer Strategy)2023/4/67/56分治分治分治分治策略策略策略策略(Divide and Conquer Strategy Divide and Conquer Strategy)1.Start1.Start2.2.准备早餐准备早餐准备早餐准备早餐 2.1 2.1 准备一个金枪鱼三明治准备一个金枪鱼三明治准备一个金枪鱼三明治准备一个金枪鱼三明治 2.1.
7、1 2.1.1 拿来两片面包拿来两片面包拿来两片面包拿来两片面包 2.1.2 2.1.2 准备一些金枪鱼酱准备一些金枪鱼酱准备一些金枪鱼酱准备一些金枪鱼酱 2.2 2.2 准备一些薯条准备一些薯条准备一些薯条准备一些薯条 2.2.1 2.2.1 将土豆切成条将土豆切成条将土豆切成条将土豆切成条 2.2.2 2.2.2 油炸这些土豆条油炸这些土豆条油炸这些土豆条油炸这些土豆条 2.3 2.3 冲一杯咖啡冲一杯咖啡冲一杯咖啡冲一杯咖啡 2.3.1 2.3.1 烧些开水放入杯中烧些开水放入杯中烧些开水放入杯中烧些开水放入杯中 2.3.2 2.3.2 在水杯中加入一些咖啡和糖在水杯中加入一些咖啡和糖在
8、水杯中加入一些咖啡和糖在水杯中加入一些咖啡和糖3.End3.End2023/4/68/565.25.2算法的概念算法的概念算法的概念算法的概念及其描述方法及其描述方法及其描述方法及其描述方法面向对象程序面向对象程序 =对象对象 +消息消息面向过程的程序面向过程的程序 =数据结构数据结构 +算法算法计算机中的算法计算机中的算法(Algorithm)为解决一个具体问题而采取的、确定的、有限的操为解决一个具体问题而采取的、确定的、有限的操为解决一个具体问题而采取的、确定的、有限的操为解决一个具体问题而采取的、确定的、有限的操作步骤,仅指计算机能执行的算法作步骤,仅指计算机能执行的算法作步骤,仅指计算
9、机能执行的算法作步骤,仅指计算机能执行的算法A specific and step-by-step set of instructions for A specific and step-by-step set of instructions for carrying out a procedure or solving a problem,usually carrying out a procedure or solving a problem,usually with the requirement that the procedure terminate at with the requ
10、irement that the procedure terminate at some pointsome point2023/4/69/565.25.2算法的概念算法的概念算法的概念算法的概念及其描述方法及其描述方法及其描述方法及其描述方法算法的特性算法的特性有穷性有穷性有穷性有穷性在合理的时间内完成在合理的时间内完成在合理的时间内完成在合理的时间内完成确定性,无歧义确定性,无歧义确定性,无歧义确定性,无歧义 如果如果如果如果x x0000,则输出,则输出,则输出,则输出YesYesYesYes;如果如果如果如果x x0000,则输出,则输出,则输出,则输出NoNoNoNo有效性有效性有效
11、性有效性 能有效执行能有效执行能有效执行能有效执行负数开平方负数开平方负数开平方负数开平方没有输入或有多个输入没有输入或有多个输入没有输入或有多个输入没有输入或有多个输入 有一个或多个输出有一个或多个输出有一个或多个输出有一个或多个输出 2023/4/610/565.25.2算法的概念算法的概念算法的概念算法的概念及其描述方法及其描述方法及其描述方法及其描述方法算法的描述方法算法的描述方法自然语言描述自然语言描述自然语言描述自然语言描述传统流程图(传统流程图(传统流程图(传统流程图(FlowchartFlowchart)在在在在19661966年,年,年,年,BohraBohra 与与与与 J
12、acopiniJacopini 提出提出提出提出N-SN-S结构化流程图结构化流程图结构化流程图结构化流程图19731973年,美国学者年,美国学者年,美国学者年,美国学者I.NassiI.Nassi 和和和和 B.ShneidermanB.Shneiderman 提出提出提出提出伪码(伪码(伪码(伪码(PseudocodePseudocode)表示)表示)表示)表示2023/4/611/56流程图流程图流程图流程图(FlowchartFlowchart)Flowchart represents algorithm graphically.Start/EndSymbolSymbolSemant
13、icSemanticProcessInput/OutputTestConnectorFlow of activities2023/4/612/56计算机中的问题求解过程计算机中的问题求解过程Example Example:买苹果,计算价钱:买苹果,计算价钱:买苹果,计算价钱:买苹果,计算价钱Calculate and display the price of a number of apples Calculate and display the price of a number of apples if the quantity in kg and price per kg are giv
14、en.if the quantity in kg and price per kg are given.quantityquantity pricePerkg pricePerkgpricepriceprice=quantity*pricePerkgprice=quantity*pricePerkgInputInputProcessOutputOutputFirst identify the input and output of the problem.First identify the input and output of the problem.2023/4/613/56顺序结构(顺
15、序结构(Sequence Structure)给变量赋值给变量赋值给变量赋值给变量赋值赋值表达式语句赋值表达式语句赋值表达式语句赋值表达式语句 赋值表达式赋值表达式赋值表达式赋值表达式 ;price=quantity*pricePerkg;输入输出数据输入输出数据输入输出数据输入输出数据标准库函数标准库函数标准库函数标准库函数调用语句调用语句调用语句调用语句 scanf(%d,&quantity);scanf(%d,&pricePerkg);printf(%d,price);ABC2023/4/614/56【例例5.1】计算两整数的最大值计算两整数的最大值 num1num1 num2 num2
16、maxmax?InputInputProcessOutputOutput2023/4/615/56if-elseSingle SelectionDouble SelectionMultiple Selectionifif-else-if选择结构(分支结构)选择结构(分支结构)选择结构(分支结构)选择结构(分支结构)(Selection StructureSelection Structure)2023/4/616/565.35.3关系运算符与关系表达式关系运算符与关系表达式关系运算符与关系表达式关系运算符与关系表达式Relational OperationDescriptionExamples
17、 of ExpressionValueLess than6 91(true)=Less than or equal to5 Greater than2 60(false)=Greater than or equal to9=51(true)=Equal to7=50(false)!=Not equal to6!=51(true)2023/4/617/565.45.4用于用于用于用于单分支单分支单分支单分支控制的条件语句控制的条件语句控制的条件语句控制的条件语句(SingleSingle Selection Selection)Step aStep aconditionconditionStep
18、 mStep mStep nStep nStep xStep xtruetruefalsefalsestep astep aconditionconditionstep mstep mstep nstep nstep bstep btruetruefalsefalsePseudocode StructurePseudocode Structurestep aif startstep mstep nend_ifstep b2023/4/618/56if if StatementStatementThe structure is similar to single selection(flowch
19、art)The structure is similar to single selection(flowchart)Syntax:ifif (expression)(expression)statement;statement;ororifif (expression)(expression)statement1;statement1;statement2;statement2;复合语句复合语句compound statement被当作一条语句看待被当作一条语句看待表达式非表达式非表达式非表达式非0 0为真为真为真为真2023/4/619/56if if StatementStatement
20、The structure is similar to single selection(flowchart)The structure is similar to single selection(flowchart)Syntax:ifif (expression)(expression)statement;statement;ororifif (expression)(expression)statement1;statement1;statement2;statement2;Dont forget the Dont forget the bracesbraces!Dont forget
21、the Dont forget the parenthesesparentheses!2023/4/620/56#include main()int a,b,max;printf(Input a,b:);scanf(%d,%d,&a,&b);if(a b)max=a;if(a=b)max=b;printf(max=%dn,max);Input a,b:_Input a,b:20 15_Input a,b:20 15max=20_【例例例例5.15.1】计算两整数的最大值计算两整数的最大值计算两整数的最大值计算两整数的最大值 2023/4/621/56Pseudocode StructurePs
22、eudocode StructureStep aif startStep mStep nend_ifelse startStep xStep yend_elseStep zStep aStep aconditionconditionStep mStep mStep nStep nStep zStep ztruetruefalsefalseStep xStep xStep yStep yStep aStep aconditionconditionStep mStep mStep nStep nStep zStep ztruetruefalsefalseStep xStep xStep yStep
23、 y5.55.5用于用于用于用于双分支双分支双分支双分支控制的条件语句控制的条件语句控制的条件语句控制的条件语句(DoubleDouble SelectionSelection)2023/4/622/56if-elseif-else StatementStatementThe structure is similar to double selection(flowchart)The structure is similar to double selection(flowchart)Syntax:ifif (expression)(expression)statement1;statemen
24、t1;elseelse statement2;statement2;or ifif (expression)(expression)statement1;statement1;statement3;statement3;elseelse statement2;statement2;statement4;statement4;2023/4/623/56NoNoYesYesFlowchart:Calculate the MaximumFlowchart:Calculate the MaximumFlowchart:Calculate the MaximumInput Input a and ba
25、and bOutput maxOutput maxa b?a b?max max b bmax max a aStartStartEndEnd【例例例例5.25.2】计算两整数的最大值计算两整数的最大值计算两整数的最大值计算两整数的最大值 2023/4/624/56scanf(%d,%d,&a,&b);scanf(%d,%d,&a,&b);if(a b)if(a b)max=a;max=a;elseelse max=b;max=b;Turn Flowchart to C ProgramTurn Flowchart to C ProgramTurn Flowchart to C ProgramN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 第五 选择 控制 结构
限制150内