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语言关系运算和逻辑运算的主要内容,如果未能解决你的问题,请参考以下文章

C语言关系运算和逻辑运算

什么是算术运算?什么是关系运算?什么是逻辑运算?

C语言关系运算和逻辑运算练习题

C语言关系运算和逻辑运算练习题

C语言基础:运算符(算术 / 关系 / 逻辑 / 位 / 赋值 / 杂项运算符)运算符的优先级

c语言中,三木运算符和if语句哪个效率更高一些?