⑴ c语言逻辑与和逻辑或和逻辑非的运算
逻辑与:p且q
全真则真,有假则假
逻辑或:p或q
有真则真,全假则假
逻辑非:非p
p假,则非p真,p真,则非p假
“逻辑与”和“逻辑或”的关系:当“p且q
”真,则“p或q”真;当“p或q”假,则“p且q
”假。
⑵ C语言逻辑或与非的用法
C语言逻辑或与非用于逻辑运算,可以在一条语句中同时出现,但还有优先级的限制。
基本应用:
逻辑与,符号为“&&”,只有两个操作数都是真,结果才是真。逻辑或,是逻辑运算符,符号是“||”。表示当两个条件中有任一个条件满足,“逻辑或”的运算结果就为“真”。“!”(逻辑非)逻辑运算符。“逻辑非”就是指本来值的反值。
优先级:
C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。逻辑与运算符 13级“&&”逻辑与运算符。逻辑或运算符 14 级,“ || ”逻辑或运算符。逻辑否“!”单目/一元运算 3级。因此优先级为:逻辑非高于逻辑与高于逻辑非。
运算方向:
在C语言中,只有4个运算符规定了运算方向,它们是&&、| |、条件运算符及赋值运算符。&&、| |都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再计算右边表达式的值。如 a = 0 && b; &&运算符的左边位0,则右边表达式b就不再判断。
(2)c语言逻辑与扩展阅读:
相关规则及应用:
1、逻辑运算符:a=1,b=1;a||b-1;因为a=1为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后面的表达式就不会再计算了。
2、短路原则:
在逻辑表达式的求解过程中,任何时候只要逻辑表达式的值已经可以确定,则求解过程不再进行,求解结束。表达式中优先级最低的逻辑运算符,以这些运算符为准将整个逻辑表达式分为几个计算部分。最左边一个计算部分开始,按照算术运算、关系运算和逻辑运算的规则计算该部分的值。
每计算完一个部分就与该部分右边紧靠着的逻辑运算符根据真值表进行逻辑值判断。如果已经能够判断出整个逻辑表达式的值则停止其后的所有计算;只有当整个逻辑表达式的值还不能确定的情况下才进行下一个计算部分的计算。
⑶ c语言中逻辑与的符号是什么
&&逻辑与,||逻辑或,!逻辑非
运算举例如下:
a&&b,若a,b为真,则a&&b为真
a||b,若a、b之一为真,则a||b为真
!a,若a为真,则!a为假;若a为假,怎!a为真。
C语言编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”。即将一个非零的数值认作为“真”。
⑷ 谁给解释c语言中的 逻辑或与逻辑与
&& 运算,即左边的值如果非0,右边的值也非0,则输出 1,否则输出 0;并且当左边值为 0时,不判断右边值是否非0;
|| 运算,即左边值若为 0,右边值也为 0 ,则输出 0,否则输出 1;若左边值为 1 ,则不再判断右边值是否非 0
⑸ C语言中 & 和 && 的区别
区别:
1.运算符性质不同。
&是一个位运算符。
&&是一个逻辑运算符。
2.作用不同。
&是将两个二进制的数逐位相与,结果是相与之后的结果。
&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。
3.用途限制。
&除了是一个位运算符,也是取地址符。
&&就是一个单纯的逻辑运算符,没有任何其他含义。
参考资料
&-网络
&&-网络
⑹ C语言中的 与或非运算
C语言中的与、或、非是C语言的逻辑运算符。
1、逻辑与
在C语言中逻辑与用&&表示。
举例:a&&b(其中a、b都代表一个条件)
如果a和b都为真,则结果为真,如果a和b中有一个条件为假,则结果为假。
2、逻辑或
在C语言中逻辑或用||表示。
举例:a||b(其中a、b都代表一个条件)
如果a和b有一个或以上为真,则结果为真,二者都为假时,结果为假。
3、逻辑非
在C语言中逻辑非用!表示。
举例:!a(a代表一个条件)
如果a为假,则!a为真,如果a为真,则!a为假。
(6)c语言逻辑与扩展阅读
在C 语言中的逻辑运算符及优先级:
一元:!(逻辑非)。
二元:&&(逻辑与)、||(逻辑或)。
以上三种逻辑运算符中,逻辑非 ! 的优先级最高,逻辑与 && 次之,逻辑或 || 优先级最低。即算术、逻辑、赋值运算符的优先级顺序为:
逻辑非 ! >算术 > 逻辑与 &&、逻辑或 || > 赋值=
⑺ c语言中逻辑与 逻辑或的问题
不执行,这一特性称为短路运算。
⑻ 关于C语言中 || 和 &&的用法
“||”“&&”表示逻辑运算,“||”表示或者的意思,“&&”表示并且的意思。
&&运算符需要两个表达式作为操作数,并创建一个表达式,只有当两个子表达式都为true时,该表达式才为true。
||运算符需要两个表达式作为操作数,并创建一个表达式,当任何一个子表达式为true时,该表达式为true。只要其中一个子表达式为true,则整体表达式为true,此时另外一个子表达式无论是false还是true都无关紧要。
运算符的优先级
优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
基本的优先级需要记住:
指针最优,单目运算优于双目运算,如正负号。先算术运算,后移位运算,最后位运算。请特别注意:逻辑运算最后结合。
⑼ C语言逻辑与
此乃条件与非逻辑与,逻辑与只有一个&,条件与是短路原则,m=0第一个条件就已经是假了
⑽ c语言&&(逻辑与)和&(按位与)的问题
'a' 等于 0x61
'b' 等于 0x62
'a' && 'b' 等于 1
'a' & 'b' 等于 0x60, 即96