C语言中,&和&&有什么区别,|和||有什么区别?

 我来答
my缪宇
推荐于2019-08-22 · TA获得超过8144个赞
知道小有建树答主
回答量:92
采纳率:70%
帮助的人:16.9万
展开全部

&:是与的意思
&&:是且的意思
|:是或的意思
||:也叫或

&: 两个数字位操作 AND。或者取某个变量的地址,或声明引用。
对 bit:(0 & x ) = 0; ( 1 & x ) = x;
&&:两个 bool 值的“并且”。( false && x ) = false; (true && x)= x;

|:两个数字 位操作 OR。对 bit: ( 0 | x ) = x; ( 1 | x ) = 1;
||:两个bool 值的“或”。( true || x ) = true; ( false || x ) = x;

逻辑运算与按位运算,不一样的两种运算。
按位运算是把整数的每个二进制位与另一个整数对应的每个二进制位进行运算,是整数到整数的运算。逻辑运算其实是布尔值到布尔值的运算,只不过在C当中,所有非零整数都理解true,所有0都理解为false。所以4 && 2 == 1,其实是4是true,2也是true,与的结果是true,所以是1。而按位操作,4是0b0100, 2是0b0010,它们没有重叠的二进制位,所以结果是4 & 2 == 0



二十伊8794
2020-11-10 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:186
采纳率:16%
帮助的人:6.9万
展开全部
这是java的面试题中重要的一题,以下的回答希望对你有用,学习java的小白或者初学者不知道怎么学?一定要看视频 看视频 看视频 视频不会那么枯燥不会击退学习自信心,推荐在b站上看看高淇讲的 挺不错的,有兴趣看看。
&和&&的联系(共同点):
&和&&都可以用作逻辑与运算符,但是要看使用时的具体条件来决定。
操作数1&操作数2,操作数1&&操作数2,
表达式1&表达式2,表达式1&&表达式2,
情况1:当上述的操作数是boolean类型变量时,&和&&都可以用作逻辑与运算符。
情况2:当上述的表达式结果是boolean类型变量时,&和&&都可以用作逻辑与运算符。
表示逻辑与(and),当运算符两边的表达式的结果或操作数都为true时,整个运算结果才为true,否则,只要有一方为false,结果都为false。
&和&&的区别(不同点):
(1)、&逻辑运算符称为逻辑与运算符,&&逻辑运算符称为短路与运算符,也可叫逻辑与运算符。
对于&:无论任何情况,&两边的操作数或表达式都会参与计算。
对于&&:当&&左边的操作数为false或左边表达式结果为false时,&&右边的操作数或表达式将不参与计算,此时最终结果都为false。
综上所述,如果逻辑与运算的第一个操作数是false或第一个表达式的结果为false时,对于第二个操作数或表达式是否进行运算,对最终的结果没有影响,结果肯定是false。推介平时多使用&&,因为它效率更高些。
、&还可以用作位运算符。当&两边操作数或两边表达式的结果不是boolean类型时,&用于按位与运算符的操作。
|和||的区别和联系与&和&&的区别和联系类似
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式