1. 操作符的介绍

1.1 算术操作符

  1. 除号

要想打印浮点型,需要符号一侧为浮点型,且数据类型为double或者float类型

int main()
{
	//int i = 7 / 3;
	//printf("%d", i); // 2

	double i = 7.0 / 3;
	printf("%lf", i); // 2.3333
	return 0;
}
  1. 取模

//取模操作符 的两端必须都为整数

int main()
{
	int a = 7 % 3;
	printf("%d", a);
	return 0;
}

1.2 移位操作符

  1. 左移/右移操作符

二进制位左移/右移动 n位 右移补位:算术右移补原符号位;逻辑右移补0

int main()
{   
	//左移操作符
	int a = -2;
	int b =  a << 1;
	printf("%d\n", a); //a并没有改变 
	printf("%d\n", b); // -4
	//右移操作符
	int c = a >> 1;
	printf("%d\n", c); // -1
	return 0;
}

原码 ----(符号位不变,其他位按位取反)----> 反码 ----(反码+1)---->补码

1.3 位操作符

& 按位与:同1则1,其余为0 | 按位或 :有1则1 ,无1则0 ^ 按位异或 :相同为0, 相异为1 ==备注:他们的操作数必须都是整数!==

  1. 实例1.交换两个数
int main()
{
	int a = 3;
	int b = 5;
	a = a ^ b;
	b = a ^ b;
	a = a ^ b;
	printf("%d, %d", a, b);
	return 0;
} 

总结:

a ^ a = 0 a ^ b ^ b = a