初识c语言02(操作符)

 移位操作符

<<左移

>>右移

#include<stdio.h>
int main(){
	int a=5/2;
	int b=5%2;//取模 
	printf("%d\n%d",a,b);// 2  1
	return 0;
}
#include<stdio.h>
int main(){
	//(2进制)移位操作符
	//  <<左移
	//  >>右移
	 
	int a=1;
	//整型 1 占4个字节-  32bit 位 
	//00000 00000 00000 00000 00000 00000 01
	int b=a<<2;
	printf("%d\n",b);//4
	printf("%d\n",a);//1 不变 
	
	return 0;
}

按位操作符

(2进制) 位操作
 &  按位与
#include<stdio.h>
int main(){
	//(2进制) 位操作
	// &  按位与
	
	int a=3;
	int b=5;
	int c=a&b;
	//011
	//101
	//001 
	printf("%d\n",c);//1
	return 0;
}
|   按位或
#include<stdio.h>
int main(){
int a=3;
	int b=5;
	int c=a|b;
	//011
	//101
	//111
	printf("%d\n",c);//7
return 0;
}
^ 按位异或
#include<stdio.h>
int main(){
int a=3;
	int b=5;
	int c=a^b;// ^ 是异或 对应的二进制位 相同则为0,相异为1 
	//011
	//101
	//110
	printf("%d\n",c);//6
return 0;
}

运算符简写 

 

 单目运算符

//单目运算符
#include<stdio.h>
int main(){
	int a=10;
	int b=20;
	printf("%d\n",a);// 10
	printf("%d\n",!a); // 0 // ! 逻辑反操作 

	return 0;
} 

 sizeof  操作数的类型长度

#include<stdio.h>
int main(){
	
	int b=10;
	//sizeof 计算的是变量/类型所占空间的大小,单位是字节
	printf("%d\n",sizeof(b));//4
	printf("%d\n",sizeof(int));//4
	printf("%d\n",sizeof b);//4
	//printf("%d\n",sizeof int); err //必须添加() 
	
	
	int arr[10]={0};
	//10*sizeof(int)=40
	printf("%d\n",sizeof(arr)); //40
	//计算数组的元素个数
	//个数=数组总大小/单个元素的大小
	int sz=0;
	sz=sizeof(arr)/sizeof(arr[0]);
	printf("sz=%d\n",sz);//10
	return 0;
} 

~——按(2进制)位取反

 

#include<stdio.h>
int main(){
	int a=0;
	int b=~a;//b是有符号的整型 
	//~——按(2进制)位取反
	//00000000000000000000000000000000
	//11111111111111111111111111111111
	//原码、反码、补码 
	//负数在内存中存储的时候,存储的是二进制的补码
	//11111111111111111111111111111111
	//11111111111111111111111111111110
	//10000000000000000000000000000001
	
	printf("%d\n",b);// -1 //使用的,打印的是这个数的原码 
	return 0;
}

原码 、反码、 补码 的计算规则 

 ++,--运算符
a++,后置++,先使用,再++
++a,前置++,先++,再使用 

强制类型转换

#include<stdio.h>
int main(){
	int a=(int)3.14;//double—>int 
	printf("%d\n",a);//3
	return 0;
} 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值