欢迎来到天天文库
浏览记录
ID:58701897
大小:391.00 KB
页数:71页
时间:2020-10-04
《第3章控制语句-选择结构(定稿)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、if语句switch语句3.3-3.4选择结构程序设计选择结构(分支结构)◆“选择结构”也叫做“分支结构”。它总是先进行某个条件的判断,然后根据判断的结果选择执行预先设定的操作。AB?YesNoab◆要想实现“选择结构”,需要2个条件:①能表达条件判断的运算符;②能实现判断并选择的控制语句。3.3if语句if语句的三种形式if语句的嵌套if语句if语句是一种选择控制语句,即总是先进行一个条件的判断,然后根据判断的结果(成立或不成立)选择执行预先设定的操作。if语句中的条件判断用一个表达式来表示,在执行if
2、语句时,会求解这个表达式的逻辑值,这个逻辑值代表了判断的结果:值为1,判断成立,值为0,判断不成立。因此,if语句根据判断的结果(成立或不成立)选择执行预先设定的操作,实际上是根据条件判断表达式的逻辑值是1是0来选择的。if语句if语句的三种形式1.if(表达式)语句;如:if(x>0)sign=1;语句表达式TFif语句的三种形式2.if(表达式)语句1;else语句2;如:if(x>0)sign=1;elsesign=-1;语句1表达式TF语句2if语句的三种形式3.if(表达式1)语句1;el
3、seif(表达式2)语句2;elseif(表达式3)语句3;……else语句n;如:if(score>89)putchar(‘A’);elseif(score>79)putchar(‘B’);elseif(score>69)putchar(‘C’);elseif(score>59)putchar(‘D’);elseputchar(‘E’);if语句的三种形式3.if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;……else语句n;实际上,第3种形式是
4、属于第2种形式的一种特殊情况,是if嵌套语句的一种形式。2.if(表达式)语句1;else语句2;等价于:if(score>89)putchar(‘A’);elseif(score>79)putchar(‘B’);elseif(score>69)putchar(‘C’);elseif(score>59)putchar(‘D’);elseputchar(‘E’);if语句的三种形式如:if(score>89)putchar(‘A’);elseif(score>79)putchar(‘B’);e
5、lseif(score>69)putchar(‘C’);elseif(score>59)putchar(‘D’);elseputchar(‘E’);if语句的三种形式语句1表达式1TF表达式2……语句2……F语句n表达式n语句n+1FFTTTif语句第3种形式的执行流程图:if语句的说明if语句中,if后面的表达式可以是任何类型的合法表达式,甚至可以是常量或变量。不管它是什么形式的数据,程序在执行if语句时,首先求解该表达式的“逻辑值”,得到整数1或整数0,然后再选择执行相应的操作。如:if(x>0)
6、sign=1;关系表达式如:if(x)sign=1;变量如:if(x+y)sign=1;算术表达式如:if(1)sign=1;常量if语句的说明再来看看误用=和==运算符的结果:if(score==100)printf(“Highestscore!”);if(score=100)printf(“Highestscore!”);结果:只有score的值等于100时,才会执行printf语句。结果:不管score原先的值等于多少,都会执行printf语句。if语句的说明if语句的第2、3种形式中,el
7、se关键字不能单独使用。一个else必须有一个if和它对应配对。同时,要理解在什么条件下才执行else的内嵌语句。if语句的说明if(num>0)sign=1;elsesign=-1;等价if(!(num>0))sign=-1;elsesign=1;等价if(num<=0)sign=-1;elsesign=1;可见,同样的问题可以用不同的判断表达式,相应分支流程的操作也不同,但结果却是一样的。if语句的说明当满足条件时要执行的操作不只一个语句时(即if或else的内嵌语句多于一个时),必须用{}把它们括起
8、来形成一个复合语句才能保证流程的正确执行。if(num>0)printf(“是正数。”);sign=1;if语句的说明此处不管num>0是否成立,都会执行sign=1;语句,因为这一句不属于if的内嵌语句,显然流程出现了错误。原因在于if语句或else语句的内嵌语句只能包括一个语句。if语句的说明正确的做法是:当if或else的内嵌语句多于一个时,用{}把它们括起来形成一个复合语句。if(num>0){printf(“是正
此文档下载收益归作者所有