c提供了一组逻辑运算符:or (||),and(& &),非(!),分别对应命题逻辑中的OR、AND和NOT运算。
逻辑运算符:或 ||。在命题逻辑中,当P=1或Q=1时,P||Q等于1。逻辑运算符:且 &&。在命题逻辑中,当P=1且Q=1时,P&&Q才等于1。逻辑运算符:非 !。在命题逻辑中,当P等于0时,!P等于1,反之亦然。
逻辑假设所有非零参数为真,而参数0为假,它们返回1(真)或0(假)。
逻辑运算符&And ||和对应的比特级运算& and |的一个重要区别是,如果对第一个参数的求值可以决定表达式的结果,那么逻辑运算符就不会对第二个参数求值。
对于 x && y:当逻辑与左边x为FALSE时,则不再进行右边y的判断,结果为FALSE。因此,若a=0,表达式 a && 5/a 将不会造成除零。对于 x || y:当逻辑或左边x为FALSE,继续右边y的判断,如果为TRUE,则逻辑或结果为TRUE;当逻辑或左边x为TRUE,则不再进行右边y的判断,即逻辑或结果为TRUE。
逻辑运算符和其他运算符的优先级从低到高依次为:
逻辑不是!& gt算术运算符>:关系运算符>:And逻辑& amp,逻辑or || >:赋值=
更详细的运算符优先级请参考之前发表的文章《C运算符的优先级和组合》。
本文来自热恋少女投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/551861.html