C语言关系运算和逻辑运算
Posted 张夷陵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言关系运算和逻辑运算相关的知识,希望对你有一定的参考价值。
一、关系运算
1.关系运算符
每个关系运算符对它左侧值和右侧值进行比较大小的运算
2.关系表达式
用关系运算符连接起来的式子。
若关系为真,关系表达式的值为1;
若关系为假,关系表达式的值为0;
3.优先级
关系运算符优先级低于算术运算符,高于赋值运算符。例如x>(y+3)与x>y+3相同。
[例]:
执行a=-2; b=3; x=a+b>2; 后,x=?
4.结合性
从左到右
[例]:设 a=3, b=2, c=1,求下列表达式的值?
c>b
(a-b)==1
(b+c)<a
a=5>3>4
二、逻辑运算
1.逻辑运算符
逻辑运算符的运算对象通常是关系表达式。
C语言提供三种逻辑运算符:
&& 逻辑与 两边运算量都为非0时,结果为真
|| 逻辑或 两边运算量都为0时,结果为假,否则为真
! 逻辑非 使操作数的值0变1,1变0
说明:
&& 和||是‚双目运算符,要求有两个操作数,左侧一个,右侧一个。
! 是单目运算符,只要求有一个操作数。
2.逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接起来的式子。
a&&b a、b均为真, 则a&&b为1(真)
a||b a、b之一为真,则a||b为1(真)
!a 若a为真,则!a为假
3.优先级
!运算符优先级高于算术运算符,与自增自减运算符同级。
&&运算符优先级高于||,两者的优先级都低于关系运算符,高于赋值运算符。
4.结合性
逻辑非——右结合
逻辑与、逻辑或——左结合
5.求值原则
在逻辑表达式的求解过程中,只要能确定表达式的值,立即停止求值。
[例1]:a&&b 如果a为假,就不再判断b
若a=7,b=1,c=6,d=5,n=8,
求表达式中(m=a<b)&&(n=c+d)的值
表达式的值为?m的值为?n的值为?
[例2]:a||b 如果a为真,就不再判断b
若y=5,执行6>1||++y后,y的值为?
以上是关于C语言关系运算和逻辑运算的主要内容,如果未能解决你的问题,请参考以下文章