操作符 & , | , ^, &&, || 用法总结

本文深入解析了位操作符(&,|,^)及逻辑操作符(&&,||)的工作原理与应用。通过示例代码展示了按位与、按位或、按位异或、逻辑与和逻辑或的运算过程,揭示了这些操作符在二进制位层面的计算规则及其在编程中的实际作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作符 & , | , ^, &&, ||

1.位操作符:& , |, ^

(1).& —————— /* 按bit位与*/
  • 运算方式:按照所给数二进制位进行计算。既对应位进行与运算,然后将结果转换成十进制结果输出

例如:int a=1; int b=2;求a&b的值
a=1 既//0000 0001
b=2 既 //0000 0010
结果为 //0000 0000
则 a & b 的结果为0

特点 :对应比特位均为1结果才为1

#include<stdio.h>
 int main()
 {
	 int a=5;      //0101
	 int b=6;      //0110
	 int c=a & b;  //0100---> 4
	 printf("%d\n",c);
     return 0;
 }
(2). | —————— /* 按位或*/

运算方式:按照所给数二进制位进行计算。既用对应位进行或运算,然后将结果转换成十进制结果输出

特点:一真则真

#include<stdio.h>
 int main()
 {
	 int a=5;      //0101
	 int b=6;      //0110
	 int c=a | b;  //0111---> 7
	 printf("%d\n",c);
     return 0;
 }
(3). ^ —————— /* 按位异或*/

特点:相同为0,相异为1

#include<stdio.h>
 int main()
 {
	 int a=5;      //0101
	 int b=6;      //0110
	 int c=a ^ b;  //0011---> 3
	 printf("%d\n",c);
     return 0;
 }

2.逻辑操作符:&& ,||

(1)&& —————— /* 逻辑与*/

特点:两个操作数同时为真才为真。

#include<stdio.h>
 int main()
 {
     int a=0;
	 int b=1;      
	 int c=2;      
	 int d=a && b&&c;  //结果为假 
	 /* 此时a为假,不用再计算后面的表达式,此表达式逻辑为假*/ 
	 int e=b&&c;//为真
	 printf("%d\n",d);
	 printf("%d\n",e);
     return 0;
 }
(2) || —————— /* 逻辑或*/

特点:一真则真,两个操作数同时为假才为假

#include<stdio.h>
 int main()
 {
	 int a=1;      
	 int b=2;      
	 int c=a || b;   //结果为真
	  /* 此时a为真,所以不会再计算 || 后面的语句,此表达式逻辑为真*/ 
	 printf("%d\n",c);
     return 0;
 }

360笔试题

第一题:

#include<stdio.h>
int main()
{
	int  i=0,a=0,b=2,c=3,d=4;
	i=a++ && ++b && d++;   //此处的a还是0,原因是++为后置++,既该语句结束后才++;
	  /* 此时a为假,所以不会再计算 &&后面的语句,此表达式逻辑为假*/ 
	printf(" a=%d\n b=%d\n c=%d\n d=%d\n i=%d\n",a,b,c,d,i);
	return 0;
}

思考:答案是什么?

第二题:

#include<stdio.h>


int main()
{
	int  i=0,a=0,b=2,c=3,d=4;
	i=a++ || ++b || d++;
	 /* 此时b为真,所以不会再计算 || 后面的语句,此表达式逻辑为真*/ 
	printf(" a=%d\n b=%d\n c=%d\n d=%d\n i=%d\n",a,b,c,d,i);
	return 0;
}

思考:答案是什么?

在这里插入图片描述
第一题答案:

在这里插入图片描述
第二题答案:

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值