资源描述:
《选择结构程序设计1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章选择结构程序设计本章要点:4.1关系运算符和关系表达式4.2逻辑运算符和逻辑表达式4.3条件运算符和条件表达式4.4if语句4.5switch语句4.1关系运算符和关系表达式运算符名称优先次序<小于优先级相同(高)<=小于或等于>大于>=大于或等于==(连续两个=)等于优先级相同(低)!=不等于表4-1C语言中的6种关系运算符优先级关系:算术运算符(高)→关系运算符(中)→赋值运算符(低)4.1.1关系运算符4.1.2关系表达式关系表达式:由关系运算符构成的表达式,主要用于选择结构中的条件判断。例如,a>=b,a>==
2、c等。在C语言中,当关系表达式成立时,其结果值为真(1),否则,其值为假(0)。若a=3,b=2,表达式“a>b”为真,表达式值为1。若a=3,b=2,c=1;表达式b+c5>4的值。分析:x=6>5>4相当于:x=(6>5)>4=1>4=0。注:注意区别表示“等于”关系的运算符“==”和表示“赋值运算”的“=”。4.2逻辑运算符和逻辑表达式4.2.1逻辑运算符1.C语言包括三种逻辑运算符:逻辑与&&:a&&b;逻辑或
3、
4、:a
5、
6、b;逻辑非!:!a关于逻辑运算符的说明:(1)逻辑运算符
7、的优先次序如下:!(高)→&&(中)→
8、
9、(低)(2)逻辑运算符具有自左向右的结合性(3)优先级次序:(由高到低)!(逻辑非)→算术运算→关系运算→&&(逻辑与)→
10、
11、(逻辑或)→赋值运算4.2.2逻辑运算符逻辑表达式的值应该是一个逻辑值“真”或“假”,即为“1”或“0”。表4-3逻辑运算的真值表xyx&&yx
12、
13、y!x!y非0非01100非0001010非00110000011例4-1(P59)有整型变量a=3,b=4,c=5,计算表达式!(x=a)&&(y=b)
14、
15、0。关于逻辑运算的几点说明:(1)逻辑运算用0和非0判定
16、它们的“真”或“假”。(2)在逻辑表达式求解中,并不是所有逻辑运算符都需执行,有时只需执行一部分就可得出逻辑表达式的最后结果。例如x&&y&&z,若x为假,则立即得出整个表达式为假,跳过后面的运算;再如a
17、
18、b
19、
20、c,若a为真,则整个表达式的值为真,跳过后面的运算。(3)逻辑表达式的运用场合与关系表达式完全相同,也是用于流程控制语句中的条件描述。例:求下列表达式的值:8>=5&&2
21、
22、6<5-!0优先级:非(!)>算术运算符>关系运算符>逻辑运算符(&&、
23、
24、)>赋值运算符4.3条件表达式构成的选择结构1.条件运算符的构成:
25、由两个符号“?”和“:”组成,要求有3个操作对象,称三目(元)运算符,它是C语言中唯一的三目运算符。2.一般形式:表达式1?表达式2:表达式33.执行过程:先求解表达式1,若值为非0,表示条件为真,则求解表达式2,此时表达式2的值就作为整个条件表达式的值;若表达式1的值为0,表示条件为假,则求解表达式3,表达式3的值就是整个条件表达式的值。说明:(1)条件表达式不能取代一般的if语句,仅当if语句中内嵌的语句为赋值语句(且两个分支都给同一变量赋值)时才能代替if语句。(2)条件表达式的优先级别仅高于赋值运算符,而低于前面介绍
26、过的所有运算符。(3)条件运算符的结合方向为“自右至左”。注意优先级顺序:()高于!++--高于算术运算符高于关系运算符(<<=>>===!=)高于逻辑运算符高于条件运算符高于赋值运算符高于逗号运算符4.4if语句4.4.1if语句的基本形式1.if单分支选择语句(1)语句形式:if(表达式)语句体(2)执行过程:首先计算if后面圆括号中的表达式的值,若为非0值(条件成立),则执行语句1;否则不执行语句1。例4-4(P61)根据键盘输入的x的值计算y的值,计算规则为,如果x=0,则y=0,否则y=1/x。#include
27、tdio.h>voidmain(){floatx,y;scanf("%f",&x);if(x==0)y=0;if(x!=0)y=1/x;printf("y=%f",y);}2.If双分支选择语句(if-else语句)(1)语法形式:if(表达式)语句体1;else语句体2;(2)执行过程:首先计算圆括号内的表达式值,若为非0值,则执行语句体1,;否则执行语句体2。例4-5(P62)根据键盘输入x的值计算y的值,计算要满足以下规则:如果x=0,则y=0,否则y=1/x。#includevoidmain()
28、{floatx,y;scanf("%f",&x);if(x!=0)y=1/x;elsey=0;printf("y=%f",y);}图4-4if语句程序流程图图4-5if-else语句执行过程4.4.2if语句的嵌套在if语句中又包含一个或多个if语句称为if语句的嵌套。以下if-els