第3章--选择结构设计.ppt

上传人:龙*** 文档编号:96970 上传时间:2018-07-06 格式:PPT 页数:24 大小:59KB
下载 相关 举报
第3章--选择结构设计.ppt_第1页
第1页 / 共24页
第3章--选择结构设计.ppt_第2页
第2页 / 共24页
第3章--选择结构设计.ppt_第3页
第3页 / 共24页
第3章--选择结构设计.ppt_第4页
第4页 / 共24页
第3章--选择结构设计.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、第3章 选择结构设计,在C语言编程中,选择结构的使用是非常普遍的。选择结构的作用是根据所制定的条件是否满足,执行相应的操作。例如:如果孩子满7岁请送去学校;如果孩子不满7岁,请送去幼儿园。选择结构的基本特点是:程序的流程由多路分支组成,在程序的一次执行过程中,根据不同的情况,只有一条支路被选中执行。本章主要介绍C语言支持的两种选择结构:if结构和switch结构。,3.1 选择结构简介,在第1章中已经简单介绍了选择结构,它是C语言中三种基本结构之一。在大多数程序中都会包含选择结构。选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。主要分为以下两种情况:(1)

2、程序的实现需要在两种选择分支中选其一。(2)程序的实现需要在多种选择分支中选其一。,3.2 使用if实现选择结构设计,在C语言中,使用if语句实现了下面的情况:如果满足给定条件时,执行特定组合语句;如果不满足给定条件时,跳过组合语句继续执行操作。,3.2.1 if结构语法,C语言提供if语句的意义是,根据对指定的表达式作判断,值是否为true,符合条件的执行一条语句或一段语句序列。if语句的常用格式为:if(),3.2.2 if结构程序举例,本小节举例说明if结构的用法。,3.3 使用ifelse实现选择结构设计,在C语言中,使用if-else语句实现了下面的情况:如果满足if给定条件时,执行

3、特定代码段;否则,执行else后面的代码段。if和else后面的代码段是互斥的,只能执行其中一个。,3.3.1 ifelse结构语法,在C语言中,当要在两个互斥的行为之间做出选择的时候,可以使用if-else格式的条件语句来实现。这种“二选一”形式的if-else语句的常用组合格式为:if()else,3.3.2 ifelse结构程序举例,本小节举例说明if-else结构的用法。【例3-3】使用一个if-else结构按照从小到大顺序输出两个整数值。实现思想为:实现一个函数order(),它将输入参数x、y按从小到大进行排序后输出,并在main函数中调用order()函数。,3.4 使用多重if

4、实现选择结构设计,在C语言中,使用多重if语句实现了下面的情况:依次判断if表达式的值,当出现某个值为真时,则执行其对应的代码段;然后跳到整个if语句之外继续执行程序。如果所有的表达式均为假,则执行最后一个else后面的代码段;然后继续执行后续程序。,3.4.1 多重if结构语法,C语言提供if-else if语句对实现多种选择逻辑特别方便,它不属于“二选一”这种情况。if-else if语句这种形式为处理多重的、互斥的选择提供了最直接、最自然的方法。if-else if的常用组合格式为:if()else if()else if()else,3.4.2 多重if结构程序举例,本小节举例说明多重

5、if结构的用法。,3.5 使用if嵌套实现选择结构设计,在if语句中又包含一个或者多个if语句称为if语句的嵌套。嵌套的if语句可以是上面几节学习的if语句结构。,3.5.1 if嵌套结构语法,在C语言中,if语句中的内部可以嵌套其他的if语句。这种结构称为if语句的嵌套。它的常用组合格式如下所示:if ()if()else if()else,3.5.2 if和else配对问题,在if嵌套结构中,应该注意if与else的配对关系。else总是与它上面的最近的if配对。,3.5.3 if嵌套结构程序举例,本小节举例说明if嵌套结构的用法。,3.6 使用switch实现选择结构设计,现实生活常常面

6、临多分支选择的情形,在这种情况下,需要根据整数变量或表达式的值,从许多选项(多于两个)中确定执行哪个组合语句。例如抽奖,顾客购买了一张彩票,根据彩票的号码,可能可以赢得大奖。如果彩票的号码是147,就会赢得头等奖;如果彩票的号码是387,就会赢得二等奖;如果彩票的号码是29,就会赢得三等奖;其他号码则不能获奖。处理这类多分支选择情形的语句应该使用switch语句,使编程更加简便精炼。,3.6.1 switch结构语法,在C语言中,if语句只能处理从两者间选择之一,当要实现几种可能之一时,就要用if-else if甚至多重的嵌套if来实现,这时的程序常常在语法上是正确的,但是逻辑上却没有正确的表

7、达程序员的意图。因此C语言提供了switch语句,作为一种“在一组互斥的条件种做选择”的替代方法,使程序变得简洁。switch语句的一般格式为:switch()case :break;case :break; case 常量表示-n:break; default:,3.6.2 switch语句的注意事项,在C语言编程中使用switch语句要注意以下几个方面:表达式必须是“( )”括起来,不能为空;switch语句中的变量以及case后的常量表达式都必须是整型或字符型。实型和字符串都是不允许的;switch语句中的所有case后的常量表达式的值都必须互不相同;每个case和default后可以有

8、多个语句组成,并且可以包括条件分支语句和循环语句;标号后的“:”不能省略,语句后的“;”分号也不能省略;由于在执行一个case语句之后,控制将自动转移到语句后的下一个语句,因此在多种选择分支中只选其一的情况下,一个case结束,下一个case开始之前,用一个break语句退出switch语句是必要的。,3.6.3 switch的执行过程,switch表达式顺序与每一个case标签相关的值作比较,直到某个匹配成功或全部标签比较完毕。如果匹配到了某个标签,则程序从其后的语句继续执行,否则程序从switch语句后面的第一条语句执行(1)计算表达式的值;(2)将表达式的值依次与每一个case后的常量标

9、号进行比较。(3)如果表达式的值与所有的case标号比较后没有找到与之匹配的标号,则做如下处理:若有default语句则在执行default语句后的语句后结束多分支结构。若没有default语句,则不执行switch语句的任何语句,直接结束switch语句的执行。,3.6.4 switch结构程序举例,本小节通过【例3-7】和【例3-8】说明switch结构的用法。,3.7 switch和多重if的比较,switch和多重if都可以实现多分支的选择,但是它们在执行方式和执行效率等方面都存在着区别:(1)多重if结构用来实现两路、三路分支比较方便,而switch结构实现三路以上分支比较方便。(2

10、)在使用switch结构时,应注意分支条件要求是整型表达式,而且case语句后面必须是常量表达式。而if语句后面是关系表达式或者逻辑表达式,值为true或者false。(3)有些问题只能使用多重if结构来实现,例如要判断一个值是否处在某个区间的情况。,3.8 选择结构程序设计举例,本节举例说明选择结构程序设计的思想和实现方法。希望通过这些代码实例可以深入的了解和掌握选择结构程序设计的方法。,3.9 本章常见面试题,1请写出代码运行后的输出结果01main()0203 int a=1,b=0,c=0;2请写出代码运行后变量x、y的值01int x=1,y=1;02int n,m;03n=m=1 ;3给以下程序改错。01#include “stdio.h”02void main()03,3.10 小结,选择结构是在C语言程序设计中一种非常普遍非常中要的编程结构,主要包括if结构和switch结构,if结构还被扩展为多重if结构和嵌套if结构。本章主要讲述了这几种选择结构的语法和使用,并对这if结构和switch结构进行了对比。if结构主要实现两种分支选其一的情形,switch结构主要实现多种分支选其一的情形。虽然多重if结构也可以达到switch结构实现的效果,但是在分支选择比较多的情况下,多重if结构没有switch结构简单清晰,执行效率高。,

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

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。