栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【C语言的逻辑运算符&&、||、&、|】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C语言的逻辑运算符&&、||、&、|】

C语言的逻辑运算符

针对C语言系列–004章的&&运算符的超链接

文章目录
  • C语言的逻辑运算符
      • 一、逻辑运算符
      • 二、&与&&,| 与 || 的区别

一、逻辑运算符

&& 逻辑与(并且),连接两个表达式,运算结果为bool类型
|| 逻辑或(或者),连接两个表达式,运算结果为bool类型
! 逻辑非 (取反),一元表达式,如果布尔型表达式为True,再+!整个式子结果为False,如果为False,再+!则为True

此时你是不是想起了位运算符的按位与 & 和按位或 | 了

先给大家回忆一下单目、双目、三目运算符:

单目运算符:(一元运算符)指运算所需变量为一个,运算过程中只有一个操作数。(例如:!、~、++,- -、&(取地址符))
双目运算符:运算所需变量为两个,运算过程中需要两个操作数。(例如:+、-、*、/、=、==、&、|、&&、||…)
三目运算符:C语言只有一个 ? : 需要三个操作数。

不要惊讶&为什么还有个单目运算符,&在C语言中有两种意思,一种是单目运算符,取地址;一种是位运算符——按位与,双目运算符。

好咱继续>>>

按位与&:(与)二进制的按位操作符,都为1(真)时,结果为1(真),否则为0(假)
按位或 |:(或)二进制的按位操作符,有1(真)时,结果为1(真),都是0(假)时,结果为0(假)

二、&与&&,| 与 || 的区别

通过一、的介绍,我们不难得出结论一
结论一:
&既是逻辑运算符也是位运算符,作为取地址符时还是单目运算符;&&只是逻辑运算符和双目运算符。

| 既是逻辑运算符也是位运算符;||只是逻辑运算符和双目运算符。
结论二(补充):
&不具有短路效果,即左边Flase,右边还会执行;&&具有短路效果,左边为Flase,右边则不执行。

|不具有短路效果,即左边True,右边还会执行;||具有短路效果,左边为True,右边则不执行

平常实际运用中,用&&和 || 作逻辑运算符多一些,因为具有短路效果,提升了程序的运行效率,起到程序优化作用。


本文仅对C语言系列–004章的&&补充说明,其他具体介绍并未详解,仅供参考。(求生欲:小白专属)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1036756.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号