在C语言中,逻辑运算符是,||,意思是“和”,表达式两端的值需要为真才为真。|||的意思是“或者”。只要表达式的一端为真,表达式两端的值都为真。它的意思是“不是”,这个公式的真值被相反的真值代替,即假与真互换。
目录
一、用分析。三。分析和总结
一、 与 II 分析
下面的程序运行后,I,J,K的值分别是多少?
#包含stdio.h
int main()
{
int I=0;
int j=0;
int k=0;
I | | j k;
printf('i=%d\n ',I);
printf('j=%d\n ',j);
printf('k=%d\n ',k);
返回0;
}
以下是输出结果:
为什么i=1,j=0,k=0?看看下面分析。
程序短路
|||从左到右计数:
遇到真条件时停止计算,整个表达式为真。只有当所有条件都为假时,表达式才为假。
从左至右:
遇到false条件时停止计算,整个表达式为false。只有当所有条件都为真时,表达式才为真。
在逻辑表达式中,具有比||更高的优先级。
在与||的混合运算中,将整个表达式视为||表达式,编译器从左到右开始计算表达式。当一个表达式的值为真时,停止计算,整个表达式为真。
这样就可以解释上面的代码了。因为I=0;所以I是1,真I是1。根据短路定律,||计算从左到右开始,满足真条件时停止。整个表情都是真的。所以J和K都没有运行过,所以自然是0。
让我们看看另一个程序中的短路规则:
#包含stdio.h
int g=0;
int f()
{
printf('In f().\ n’);
返回g;
}
int main()
{
if( g || f() f())
{
printf('In if语句:%d\n ',g);
}
printf('In main(): %d\n ',g);
返回0;
}
知道了短路规则和||和混合算法,下面的输出结果就很容易理解了:
二、!分析
C中的逻辑不是“!”只认0,只知道看到0就返回1。因此,当它遇到0以外的值时,结果为0。(注意不仅1为真,其他非零值也为真)
看看逻辑NOT运算符使用的以下代码:
#包含stdio.h
int main()
{
printf('%d\n ',0);
printf('%d\n ',1);
printf('%d\n ',100);
printf('%d\n ',-1000);
返回0;
}
以下是输出结果:
三、小结
程序中的逻辑表达式遵循短路规则。
当与||:
整个表达式被视为||表达式。从左到右,首先计算表达式,最后计算表达式||。
逻辑不是!运算符只识别0。
如果0满足,则返回1,否则全部返回0。
注意:只有0代表假,其他值都代表真。
这就是这篇关于C语言的文章,详细解释了逻辑运算符的用法。有关C语言中逻辑运算符的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。