目录
前言
我们知道C语言有很多操作符,操作符的应用很多小伙伴觉得很简单,但是出现这个东西一定有其中的奥妙,现在跟随小编一起来看看吧!
1,算术操作符
+ - * / %
加减乘除想必大家都不陌生,那小编就在这里讲一下/和%这两个操作符吧,‘/’在C语言中其实就是取商的意思,商是多少就是多少;‘%’在C语言中就是取余的意思,就是每次的余数,很好理解吧,但是我们还是在代码中来看看吧。
int main ()
{
int a =10;
int b = a/3; //取商-这里的结果就是3
int c = a%3; //取余-这里的结果就是1
return 0;
}
注意:
1.
除了
%
操作符之外,其他的几个操作符可以作用于整数和浮点数。
2.
对于
/
操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。
3.
%
操作符的两个操作数必须为整数。返回的是整除之后的余数。
2,移位操作符
>> 右移操作符
<< 左移操作符
注意:这里有一个前提条件,移位操作符的操作数只能是整数
左移操作符
移位规则:左边抛弃,右边补0
想必聪明的你已经理解了,但是这里我们还是画个图给大家具体看一下吧。
右移操作符
移位规则:
首先右移运算分为两种:
1,逻辑移位
左边用0填充,右边丢弃
2,算术移位
左边用原该值的符号位填充,右边丢弃
注意:对于移位运算符,不要移动负数位,这个是标准未定义的。
例如:
int main ()
{
int num =10;
num>>-1;//报错
return 0;
}
3,位操作符
& = 按位与
| = 按位或
^ = 按位异或
int main ()
{
int i=5;
int j=7;
int k;
k =i&j;
printf("%d",k)//结果=5
return 0
}
5的二进制 = 0101
7的二进制 = 0111
按位与过后的二进制 = 0101
因为:
真和真即为真
真和假即为假
假和假即为假
int main ()
{
int i =3;
int j =5;
int k;
k = i| j;
printf("%d",k);//结果=7
return 0;
}
3的二进制 = 0011
5的二进制 = 0101
按位或的二进制 = 0111
因为:
真和真即为真
真和假即为真
假和假即为假
int main ()
{
int i =5;
int j =7;
int k;
k = i^j;
printf("%d",k)//结果=2
renturn 0;
}
5的二进制 = 0101
7的二进制 = 0111
按位异或的二进制 = 0010
因为:
相同为0,不同为1