逻辑运算符的运算问题

如题所述

逻辑运算符是根据表达式的值来返回真值或是假值。其实在c语言中没有所谓的
真值和假值,只是认为非0为真值,0为假值。
符号
功能
&&
逻辑与
||
逻辑或
!
逻辑非
例如:
5!3;
0||-2&&5;
!4;
当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都
为真时,总的式子才为真。当表达式进行||运算时,只要有一个为真,总的值
就为真,只有当所有的都为假时,总的式子才为假。逻辑非(!)运算是把相应的
变量数据转换为相应的真/假值。若原先为假,则逻辑非以后为真,若原先为真
,则逻辑非以后为假。
还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的
值时,后一部分就不会进行运算了。例如:
a=2,b=1;
a||b-1;
因为a=2,为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后
面的表达式就不会再计算了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-07
#include
//希望对您有用
using
namespace
std;//
int
main()
{
int
a
=
1,
b
=
2,
x
=
0,
i
=
3,
k,
num;
k=(a++<=0)&&!(b--<=0);
//逻辑运算,假时值为0,真时值为1
//a++表示先使用值后a自加1,所以此时a=1不小于或等于0,所以前面括号内容为假,值为0
//同理此时b=2,所以后面括号内容为假,但是前面有一个非号,所以整个为真,值为1
//所以k值为假且真,即为假,所以k值为0
cout
<<
k
<<
endl;
//LZ试试,把a改为0,k就等于1了,原理同上
num
=
!x
&&
i
<=
5;
//!x表示如果x值为0,!x为真;x值不为0,!x为假
//i
<=
5表示当i值小于或等于5时,此语句为真
//所以在这里两者皆为真,即值为1,所以num值等于1
cout
<<
num
<<
endl;
system("pause");
return
0;
}
#include
//C语言
#include

int
main()
{
int
a
=
1,
b
=
2,
x
=
0,
i
=
3,
k,
num;
k=(a++<=0)&&!(b--<=0);
printf(
"%d\n",
k
);
num
=
!x
&&
i
<=
5;
printf(
"%d\n",
num
);
system("pause");
return
0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网