第5章_选择第五章
选择结构程序设计
主要内容
○表达式
△关系表达式
△逻辑表达式
△条件表达式
○语句
△if语句
△多分支语句( switch )
关系运算符和关系表达式
< (小于)
<= (小于或等于)
> (大于)
>= (大于或等于)
== (等于)
!= (不等于)
优先级相同(高)
优先级相同(低)
说明:
关系运算符的优先级低于算术运算符
关系运算符的优先级高于赋值运算符
用关系运算符将两个表达式(可以是算术表达式或
关系表达式,逻辑表达式,赋值表达式,字符表达式)
接起来的式子,称关系表达式
例:a>b,a+b>b+c,(a=3)>(b=5),’a’<‘b’,(a>b)>(b<c)
C语言中没有专用的逻辑值,1代表真,0代表假
关系表达式的值是一个逻辑值,即“真”或“假”。
例:关系表达式”a>b”的值为“真”,表达式的值为1。
逻辑运算符和逻辑表达式
(1)&& (逻辑与) 相当于其他语言中的AND
(2)|| (逻辑或) 相当于其他语言中的OR
(3)! (逻辑非) 相当于其他语言中的NOT
例:a&&b 若a,b为真,则a&&b为真。
a||b 若a,b之一为真,则a||b为真。
!a 若a为真,则!a为假。
优先次序:
!(非)->&&()->||()
逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算
术运算符
用逻辑运算符将关系表达式或逻辑量连接起来的式子就
是逻辑表达式。
逻辑表达式的值应该是一个逻辑量“真”或“假”。
例:设a=4,b=5:
!a的值为0 a&&b的值为1
a||b的值为1 !a||b的值为1
4&&0||2的值为1
任何非零的数值被认作“真”
在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。
(1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和b都为真时,
才需要判断c的值。
(2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才
判断b。a和b都为假才判断c
例:(m=a>b)&&(n=c>d)
a=1,b=2,c=3,d=4,m和n的原值为1,问m和n的值为多少,
整个表达式的值为多少
由于“a>b”的值为0,因此m=0,而“n=c>d”不被执行,
因此n的值不是0而仍保持原值1。
用逻辑表达式来表示闰年的条件
能被4整除,但不能被100整除。
能被4整除,又能被400整除。
?
答(year%4==0&&year%100!=0)||year%400==0
案值为真(1)是闰年,否则为非闰年。
if语句
(1)if (表达式) 语句
例:
if(x>y) printf(“%d”,x);
表达式
语句
真(非0)
假
(0)
(2)if(表达式) 语句1
else 语句2
例:
if (x>y) printf(“%d”,x);
else printf(“%d”,y);
条件
语句1
语句2
Y
N
第5章 选择 来自淘豆网www.taodocs.com转载请标明出处.