C语言程序设计教程第04章分支结构的程序设计.ppt

上传人:wuy****n92 文档编号:70102880 上传时间:2023-01-16 格式:PPT 页数:60 大小:222KB
返回 下载 相关 举报
C语言程序设计教程第04章分支结构的程序设计.ppt_第1页
第1页 / 共60页
C语言程序设计教程第04章分支结构的程序设计.ppt_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《C语言程序设计教程第04章分支结构的程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计教程第04章分支结构的程序设计.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第4章章 分支结构的程序设计分支结构的程序设计4.1 分支结构问题的提出分支结构问题的提出4.2 判断条件的描述方法判断条件的描述方法4.3 解决简单的分支问题解决简单的分支问题4.4 解决多重分支的问题解决多重分支的问题4.5 程序测试的问题程序测试的问题4.1 分支结构问题的提出分支结构问题的提出上上一一章章所所讲讲到到的的顺顺序序结结构构程程序序中中,各各语语句句是是按按照照语语句句的的前前后后顺顺序序依依次次执执行行,没没有有选选择择,没没有有跳跳跃跃,也也没没有有重重复复执执行行的的问问题题,但但是是我我们们在在解解决决实实际际问问题题时时,经经常常遇遇到到这这样样的的问问题题:当

2、当客客观观现现实实事事物物满满足足不不同同的条件,会有不同的结果出现。的条件,会有不同的结果出现。比比如如:某某一一门门课课程程考考试试成成绩绩大大于于等等于于60分分,该该课课程程考考核核视视为为通通过过;如如果果考考试试成成绩绩小小于于60分分,则则视视为为不不通通过过。遇遇到到类类似似这这样样的的问问题题,首首先先需需要要判判断断一一下下具具体体的的情情况况是是什什么么,然然后后决决定定选选择择什什么么样样的的处处理理方方式式。不同的情况,会有不同的处理结果。不同的情况,会有不同的处理结果。对对以以上上问问题题的的解解决决,在在程程序序设设计计中中需需要要采采用用分分支支结结构构,也也称

3、称为为选选择择结结构构。上上述述提提到到的的“条条件件”,在在C语语言言中中是是如如何何表表示示的呢?的呢?4.2 判断条件的描述方法判断条件的描述方法4.2.14.2.1用关系表达式描述用关系表达式描述判断条件判断条件4.2.24.2.2用逻辑表达式描述用逻辑表达式描述判断条件判断条件4.3 解决简单的分支问题解决简单的分支问题4.3.14.3.1ifif语句语句语句形式:语句形式:if(表达式)语句表达式)语句if语语句句的的执执行行是是:遇遇到到if关关键键字字,首首先先计计算算圆圆括括号号中中的的表表达达式式的的值值,如如果果表表达达式式的的值值为为非非0,则则执执行行圆圆括括号号其其

4、后后的的语语句句,然然后后执执行行if语语句句后后面面的的下下一一个个语语句句。如如果果表表达达式式的的值值为为0,则则跳跳过过圆圆括括号号后后面面的的语语句句,直直接接执执行行if语语句句后后面面的的下下一一个个语语句句。if语语句句执执行过程如图行过程如图4-1所示。所示。图图4-1 if语语句句的的执执行行4.3.24.3.2if-elseif-else语句语句语句形式:语句形式:if(表达式)语句表达式)语句1else语句语句2该该语语句句遇遇到到关关键键字字if,首首先先运运算算小小括括号号中中的的表表达达式式,如如表表达达式式的的值值为为非非0,则则执执行行紧紧跟跟其其后后的的语语

5、句句1,执执行行完完语语句句1后后,执执行行if-else结结构构后后面面的的语语句句;如如果果表表达达式式的的值值为为0,则则执执行行关关键键字字else后后面面的的语语句句2,接接着着执执行行if-else结结构构后后面面的的语语句句。执执行行过过程程如如图图4-2所示。所示。图图4-2 if-else语句的执行过程语句的执行过程4.3.34.3.3ifif语句的嵌套语句的嵌套在在if语语句句结结构构中中,根根据据关关键键字字if后后面面的的表表达达式式的的值值。决决定定选选择择那那一一个个分分支支,执执行行相相应应的的语语句句。这这个个对对应应的的语语句句只只要要是是合合法法的的语语句句

6、,都都可可以以执执行行。因因此此有有时时根根据据实实际际问问题题的的需需要要,我我们们可可以以在在if语语句句结结构构中中再再包包含含if语句结构,这就称为语句结构,这就称为if语句的嵌套。语句的嵌套。4.3.44.3.4条件运算符和条件表达式条件运算符和条件表达式在在C语语言言中中使使用用if语语句句,实实现现了了分分支支结结构构,同同时时系系统统还还提提供供了了条条件件运运算算符符,同同样样可以实现简单的分支结构。可以实现简单的分支结构。条件运算符为:条件运算符为:?:该运算符是由两个运算符所组成,为该运算符是由两个运算符所组成,为三目运算符。由条件运算符所构成的条件三目运算符。由条件运算

7、符所构成的条件表达式为:表达式表达式为:表达式1?表达式?表达式2:表达式表达式3它的运算功能是:当表达式它的运算功能是:当表达式1的值为非的值为非0时,运算表达式时,运算表达式2,此时表达式,此时表达式2的值就作的值就作为整个条件表达式的值;当表达式为整个条件表达式的值;当表达式1的值为的值为0时,运算表达式时,运算表达式3,此时表达式,此时表达式3的值就作的值就作为整个条件表达式的值。为整个条件表达式的值。条件运算符的优先级高于赋值运算符,条件运算符的优先级高于赋值运算符,但低于逻辑运算、关系运算和算术运算符。但低于逻辑运算、关系运算和算术运算符。例如:例如:y=x 9?100 200,由

8、于赋值由于赋值号的优先级低于条件运算符,因此先求条号的优先级低于条件运算符,因此先求条件表达式的值,如件表达式的值,如x9关系表达式成立,则关系表达式成立,则条件表达式的值为条件表达式的值为100;如;如x9 不成立,则不成立,则条件表达式的值为条件表达式的值为200,然后将条件表达式,然后将条件表达式的值赋给变量的值赋给变量y。4.4 解决多重分支的问题解决多重分支的问题4.4.14.4.1利用利用ifif语句的嵌套功能语句的嵌套功能请看以下语句结构:请看以下语句结构:if(表达式表达式1)if(表达式表达式1)语句语句1 语句语句1else if(表达式表达式2)else if(表达式表达

9、式2)语句语句2 语句语句2 else if(表达式表达式3)else if(表达式表达式3)语句语句3 整理后整理后 语句语句3 .else else 语句语句n+1 语句语句n+1以上语句结构,除最后一个以上语句结构,除最后一个else子句子句中,均嵌入了中,均嵌入了if-else语句,此语句结构执行语句,此语句结构执行过程是:从上到下逐一对过程是:从上到下逐一对if后面的表达式进后面的表达式进行运算。当某一个表达式的值为非行运算。当某一个表达式的值为非0时,就时,就执行紧跟其后的相关子句中的语句,而后执行紧跟其后的相关子句中的语句,而后面的其余部分均被跳过。因此有面的其余部分均被跳过。因

10、此有n个个if语句,语句,就有就有n+1个分支。个分支。4.4.24.4.2 使使用用switchswitch语语句句实实现现多重分支多重分支除除了了使使用用嵌嵌套套的的if语语句句,实实现现多多重重分分支支选选择择之之外外,C语语言言系系统统还还专专门门提提供供了了一一种多重分支选择语句种多重分支选择语句switch语句。语句。switch语句的一般形式为:语句的一般形式为:switch(表达式)表达式)case 常量表达式常量表达式1:语句语句1 case 常量表达式常量表达式2:语句语句2 .case 常量表达式常量表达式n:语句语句n default:语句语句n+1说明说明(1)swi

11、tch关键字后面的表达式,可关键字后面的表达式,可以是任意合法的表达式。每个以是任意合法的表达式。每个case关键字关键字后面的常量表达式的类型,必须与后面的常量表达式的类型,必须与switch关键字后面的表达式类型一致。关键字后面的表达式类型一致。(2)执执行行switch语语句句,首首先先计计算算其其后后的的表表达达式式的的值值,然然后后自自上上而而下下顺顺序序寻寻找找一一个个case后后面面的的常常量量与与该该值值相相匹匹配配,找找到到后后按按顺顺序序执执行行此此case后后面面的的所所有有语语句句,包包括括后后续续的的case子子句句,而而不不再再进进行行判判断断。如如果果所所有有ca

12、se中中的的常常量量值值都都不不能能与与switch后后面面的的表表达达式式的的值值相相等等,就就执执行行default关关键键字字后后面面的的语语句句;若若既既没没有有相相匹匹配配的的case,也也没没有有default关键字,则直接跳过关键字,则直接跳过switch语句。语句。4.5 程序测试的问题程序测试的问题1结构测试法结构测试法这这种种测测试试方方法法的的特特点点是是:让让测测试试用用例例尽可能地覆盖程序结构中的每一部分。尽可能地覆盖程序结构中的每一部分。2功能测试法功能测试法功功能能测测试试法法的的特特点点是是:从从程程序序需需实实现现的功能出发来选取测试用例。的功能出发来选取测试用例。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁