完全自学C(干货) —— 操作符(一)

本文详细介绍了C/C++编程中的基本操作符、移位与位操作、赋值与单目操作,以及关系、逻辑和条件表达式等内容,帮助理解并掌握核心编程概念。

目录

一,基本操作符

二,移位操作符(二进制位)

三,位操作符(二进制位)

四,赋值操作符

五,单目操作符

六,关系操作符

七,逻辑操作符

八,条件操作符

九,逗号表达式

十,下标引用操作符

十一,函数调用操作符

十二,结构成员


一,基本操作符

加 、减 、乘 、除 、求余 %

注:

  • 除了 % 操作符之外,其他的操作符都可以作用于整数和浮点数;
  • 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除 法。
  • % 操作符的两个操作数必须为整数。返回的是整除之后的余数。
int main()
{
	int a = 1;
	int b = 2;
	a + b; 
	a - b;
	a * b;
	a / b; //结果为0,两整数相除结果仍为整数,只要其中有浮点数即可得出小数
	a % b; //左右边操作数需均为整数
	return 0; 
}

二,移位操作符(二进制位)

右移 >> ,左移 <<

1,>>,右移操作符(除2效果),右移有两种情况:

  • 算数右移,右边丢弃,左边补原符号位(可能是0,也可能是1);
  • 逻辑右移,右边丢弃,左边补0;
int main()
{
	int a = 3;
	printf("%d\n", a >> 1);
	//0000 0000 0000 0000 0000 0000 0000 0011 - 3的内存二进制形式(正整数原反补相同)
	//0000 0000 0000 0000 0000 0000 0000 0001 - 向右移一位,最左边补零
	//结果为:1
	return 0;
}

2,<<,左移操作符(乘2效果)

  • 左边丢弃,右边补0;
//正整数
int main()
{
	int a = 3;
	printf("%d\n", a << 1);
	//0000 0000 0000 0000 0000 0000 0000 0011 - 3的内存二进制形式(正整数原反补相同)
	//0000 0000 0000 0000 0000 0000 0000 0110 - 向左移一位,最右边补零
	return 0;
}
//结果为:6


//负整数
int main()
{
	int a = -3;
	printf("%d\n", a << 1);
	//1000 0000 0000 0000 0000 0000 0000 0011 - 原码
	//1111 1111 1111 1111 1111 1111 1111 1100 - 反码(符号位不变,其余取反)
	//1111 1111 1111 1111 1111 1111 1111 1101 - 补码(反码+1),即内存中的二进制形式  
	//1111 1111 1111 1111 1111 1111 1111 1010 - 向左移一位,最右边补零
	//1111 1111 1111 1111 1111 1111 1111 1001 - -1得到补码 
	//1000 0000 0000 0000 0000 0000 0000 0110 - 符号位不变,其余取反,得到原码
	return 0;
}
//结果为:-6

注:

  • 不要移负位数;
  • 整数的二进制表示由原码、反码、补码;(-1的补码全为1);

三,位操作符(二进制位)

按位与 &,按位或 |,按位异或^

  • & 按位与,有0即为0,都为1才为1;
  • | 按位或,有1即为1,都为0才为0;
  • ^ 按位异或,相同为0,相异为1;

注:操作数必须为整数;

int main()
{
	int a = 0; //0000 0000 0000 0000 0000 0000 0000 0000
	int b = 1; //1000 0000 0000 0000 0000 0000 0000 0001
	printf("%d %d %d\n", a & a, b & b, a & b); //结果:0 1 0
	printf("%d %d %d\n", a | a, b | 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值