C语言中&与&&的区别

如题所述

区别:

1.运算符性质不同。

&是一个位运算符。

&&是一个逻辑运算符。

2.作用不同。

&是将两个二进制的数逐位相与,结果是相与之后的结果。

&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。

3.用途限制。

&除了是一个位运算符,也是取地址符。

&&就是一个单纯的逻辑运算符,没有任何其他含义。

参考资料

&-百度百科

&&-百度百科

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-10-04

&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。

如&&例子中的i++>5被执行了,而i++<9并没有被执行,这就是他们的差别。&例子中的i++>5和i++<9都被执行了。

扩展资料:

1:&&在Java和PHP以及c#中都是逻辑操作符,也叫条件操作符。

2:&&在bat中顺序执行多条命令,执行过程中如命令出错则停止执行之后的命令。

3:c++中也会用&&来指定一个rvalue的引用类型。

4:c语言中&&是一种双目运算符,表示与运算,而当左边所给表达式或变量为0时,不再计算右    侧,整个表达式为零。

参考资料:&&百度百科

第2个回答  2010-11-12
“&&”(逻辑与)是逻辑运算符。 “逻辑与”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“逻辑与”的运算结果才为“真”。

“&”是位运算符。

与运算(&)
双目运算。二个位都置位(等于1)时,结果等于1,其它的结果都等于0。
1 & 1 == 1
1 & 0 == 0
0 & 1 == 0
0 & 0 == 0

与运算的一个用途是检查指定位是否置位(等于1)。例如一个BYTE里有标识位,要检查第4位是否置位,代码如下:

BYTE b = 50;
if ( b & 0x10 )
cout < < "Bit four is set " < < endl;
else
cout < < "Bit four is clear " < < endl;

上述代码可表示为:

00110010 - b
& 00010000 - & 0x10
----------------------------
00010000 - result

可以看到第4位是置位了
第3个回答  推荐于2017-10-13
&是一个位运算符,就是将两个二进制的数逐位相与,就是都是1才是1,只要有一个为0则为0,结果是相与之后的结果。
&&是一个逻辑运算符,就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。本回答被提问者采纳
第4个回答  2010-11-12
区别在于
A&B

按位与& 总会计算两个表达式的值

A&&B
而逻辑与&&,如果第一个表达式为假,后面一个表达式就不会计算了;

c语言中&&与&有什么区别?
c语言中&&与&区别为:性质不同、判断依据不同、结果类型不同。一、性质不同 1、&&:&&是逻辑操作符,表示为“逻辑与”。2、&:&是按位操作符,表示为“按位与”。二、判断依据不同 1、&&:&&的判断依据是x和y均为true,取值是true,否则取值是false。2、&:&的判断依据是将x和y两个数转...

C语言中&与&&的区别
在C语言中,"&"和"&&"是两个不同的运算符,它们各自具有独特的性质和用途。首先,让我们来看看它们的区别:1. 运算符性质:- "&"是一个位运算符,它的主要作用是将两个二进制数进行逐位与运算,产生一个新的数,这个结果是原始两个数对应位的逻辑与结果。- "&&"则是一个逻辑运算符,用于判...

c语言&&与&的区别
语言中&&与&有三个区别:作用不同、输出的值不同、使用方法不同。如下参考:一、作用不同 &表示按位与运算,另外也是取地址符;例如:0010&1101,结果为0000 &&表示逻辑与运算;例如:if(a==0&&b==0),意思就是ifa为0并且b为0的时候,进行下一步操作。二、输出的值不同 &&:b输出的值为2...

c语言&和&&有什么不同
区别:1.运算符性质不同。&是一个位运算符。&&是一个逻辑运算符。2.作用不同。&是将两个二进制的数逐位相与,结果是相与之后的结果。&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。3.用途限制。&除了是一个位运算符,也是取地址符。&&就是...

C语言中&与&&的区别?
&& 是逻辑运算符,最终答案只能是1或者是0, 或者说是 true 或 false. && 是逻辑与运算符,参加判断的两个条件有一个为0(就是假命题),那结果就是0;&是按位与(AND)运算符,与二进制存储和操作有关.

C语言中&与&&的区别和1、11的区别
&&和||是逻辑运算符,&和|是位运算符。&&:“与”,仅当左右为真时值为1,否则为0,如2>1&&1>0等于1;||:“或”,仅当左右为假时值为0,否则为1,如1>2||0>1等于0;&:按位与,仅当左右为1是值为1,否则为0,如1&1等于1,1&0等于0;|:按位或,仅当左右为0时值为0,...

C语言中&和&&有什区别?
C语言中&&是关系运算,是双目运算符。运算符左右两边都需要表达式,&&在关系运算中表示“与”,比如m == 1 && n == 2,m == 1和n == 2同时为真,表达式就为真,否则为假。而&即是双目又是单目。双目时表示“与”运算,0xff & 0xff将两边数值按位求与,最后得出结果单目是表示取地址。C...

c语言的&和&&有什么区别啊?
&&是关系运算,是双目运算符,就是运算符左右两边都需要表达式,&&在关系运算中表示“与”,比如 m == 1 && n == 2 m == 1和n == 2同时为真,表达式就为真,否则为假。而&即是双目又是单目。双目时表示“与”运算,比如 0xff & 0xff 将两边数值按位求与,最后得出结果 单目是表示取...

C语言里的&和&&有什么不同?
&&才是逻辑与,常用于表达式之间,比如x=x-1&&y=y+0就是真和假相与,结果为假(即0)而&是按位与,用于两个二进制数之间逐位求与,比如二进制数0110&1100的结果就是0100 。另外&可以作地址符(更常见的应用),格式:&变量名。比如int &a的意思就是地址a中存有整型变量 ...

c语言中&&与&有什么区别
在C语言中,"&&"和"&"具有不同的功能和用途。首先,"&&"是逻辑与运算符,用于判断两个条件是否同时为真。例如,表达式"1 && 6"的结果为真,因为两个数都为非零;而"0 && 2"的结果为假,因为第一个条件为0,导致整个表达式为假。这体现了逻辑与运算对整体条件的判断。相比之下,"&"符号在C...

相似回答