当前位置:编程学习 > C/C++ >>

c语言运算优先级以及逻辑运算的结果,新手

若已知,a=3,b=4,c=5,则表达式!(a>b)&&!c||1的值为_________。 并请解释一下计算过程,谢了
答案:因为a>b为假,所以!(a>b)为真;
因为c=5为真,所以!c为假;
则:!(a>b)&&!c为假。
1为真;
所以!(a>b)&&!c||1为真。也可以写为1.
其他:由于(a>b)=0,即原式为!0&&!c||1;即相当于1&&0||1;相当于0||1;即答案应该为1。应该是这样 结果:1;
先计算()里面的,在计算两个非,然后计算与,最后计算或。
有括号就先计算括号里面的,具有最高优先级,然后是!运算,同时&&优先级高于||;你可以查一下这些符号的优先级表。 值为true,根据运算符的优先级该表达式相当于是(!(a>b)&&!c) || 1,由于是或运算,不用管表达式(!(a>b)&&!c)的值,因为1是true,所以整个表达式的值即为true 我觉得最后的结构应该是1.
因为a>b为假,则!(a>b)为真,即为1.
!c为假,即为0,!(a>b)&&!c为假,为0,
则最终为1(在C语言中)。 

上一个:C语言编程:用Rnd(),做出从1到7,不规则的,循环显示
下一个:本人学习C语言,求一个中文版的codeblock!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,