讨论逻辑运算符

c语言中“1”代表真,“0”代表假

逻辑运算符可以将两个或多个关系表达式连接成一个或使表达式的逻辑反转。本节将介绍如何使用逻辑运算符将两个或多个关系表达式组合成一个。表 1 列出了 C++ 的逻辑运算符。
 

表 1 逻辑运算符
运算符含义效 果
&&将两个表达式连接成一个。两个表达式必须都为 true,整个表达式才为 true
||将两个表达式连接成一个。必须有一个或两个表达式为 true,才能使整个表达式为 true。只要其中有一个为 true,那么另外一个就变得无关紧要
反转一个表达式的“真相”。它使一个表达式从 true 变成了 false,或者从 false 变成了 true

与运算符&&

&& 运算符被称为逻辑与运算符。它需要两个表达式作为操作数,并创建一个表达式,只有当两个子表达式都为 true 时,该表达式才为 true。

1 && 1==1

1 && 0==0

0 && 0==0

或运算符||

|| 运算符被称为逻辑或运算符。它需要两个表达式作为操作数,并创建一个表达式,当任何一个子表达式为 true 时,该表达式为 true。

1 || 1==1

1 || 0==1

0 || 0==0

非运算符!

! 运算符被称为逻辑非运算符,执行逻辑 NOT 操作。它可以反转一个操作数的真值或假值。换句话说,如果表达式为 true,那么 ! 运算符将返回 false,如果表达式为 false,则返回 true。
 

!1==0

!0==1

接下来,让我们看看360的面试题

 其实不难看出题中有两处问题

i= a++ && ++b && d++;

a=0,显然后面的运算并不会执行,便可以知道a=1,b=2,c=3,d=4

如果int i=0,a=1,b=2,c=3,d=4;

i便会执行,a=2,b=3,c=3,d=5

接下来,我们更改题目

i= a++ || ++b || d++;

a=0,会执行哦,运行到第二个便结束了,a=1,b=3,c=3,d=4

如果int i=0,a=1,b=2,c=3,d=4;

a=1便开始执行,运行到第一个便结束了,a=2,b=2,c=3,d=4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值