关系运算符和逻辑运算符

时间:2021-08-14
本文章向大家介绍关系运算符和逻辑运算符,主要包括关系运算符和逻辑运算符使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
关系运算符(双目运算符)

<(小于)

<=(小于或等于)      优先级相同(高)

>(大于)

>=(大于或等于)

==(等于)                 优先级相同(低)

!=(不等于)

关系运算符得到的值是一个逻辑值(只有真或假)

C语言用1表示真,用0表示假

用关系运算符将两边的变量,数据或表达式连接起来,称之为关系表达式

 1<2  得到的就是1

'a'+'b'<='c'(要用到十进制的ASCII码,'a'=97,'b'=98,'c'=99)

(a=3)>(b=5)  得到的值为0

#include


int main()
{
int a=5,b=3;
printf("%d\n",1<2);
printf("%d\n",a>b);
printf("%d\n",a<=b+1);
printf("%d\n",'a'+'b'<='c');
printf("%d\n",(a=3)>(b=5));

return 0;
}

结果

1
1
0
0
0

逻辑运算符

运算符

含义

优先级

举例

说明

逻辑非

!a

如果a为真,!a为假;如果a为假,!a为真。

&&

逻辑与

a&&b

只有ab同时为真,结果才为真;只要ab其中一个为假,结果为假。

||

逻辑或

a||b

只要ab其中一个为真,结果为真;

只有ab同时为假,结果才为假。

3>1 && 1<2  (11)返回1

3+1 || 2==0  (3加1为4,非零,真的,后面假的)所以返回1

#include <stdio.h>


int main()
{
int a=5,b=3;
printf("%d\n",3>1&&1<2);
printf("%d\n",3+1||2==0);
printf("%d\n",!(a+b));
printf("%d\n",!0+1<1||!(3+4));
printf("%d\n",'a'-'b'&&'c');

return 0;
}

结果

1
1
0
0
1

备注:结果不是0,就是真的

短路求值

短路求值又称最小化求值,是一种逻辑运算符的求值策略。只有当第一个运算数的值无法确定逻辑运算的结果时,才对第二个运算数进行求值。

#include <stdio.h>


int main()
{
int a=3,b=3;
(a=0)&&(b=5);
printf("a=%d,b=%d\n",a,b);
(a=1)||(b=5);
printf("a=%d,b=%d\n",a,b);


return 0;
}

结果

a=0,b=3
a=1,b=3

只要左边不成立了,右边就不会再进行计算(结合性左到右)

原文地址:https://www.cnblogs.com/dxfDXF/p/15140028.html