C语言操作符总结
2018-02-02 18:37
447 查看
操作符分类:
1.算术操作符
2.移位操作符
3.位操作符
4.赋值操作符
5.单目操作符
6.关系操作符
7.逻辑操作符
8.条件操作符
1.算术操作符
+ - * / %
1.除了%操作符之外,其他的几个操作符都可以作用于整数和浮点数。
2.
对于/操作符如果两个操作数都为整数,执行行整数除法。而只要有浮点数,执行的就是浮点数除法。
3. %操作符的两个操作数必须为整数。返回的是整除之后的余数。
2.移位操作符
<< 左移操作符
>> 右移操作符
左移操作符
移位规则:
左边抛弃,右边补0
右移操作符
移位规则:
右移规则分两种
1. 逻辑移位 左边用0填充,右边丢弃
2. 算术移位 左边用原该值的符号位填充,右边丢弃
注意: 对于移位运算符,不不要移动负数位,这个是标准未定义的。
3.位操作符
位操作符有:
&
//按位与
|
//按位或
^
//按位异或
注:他们的操作数必须是整数。
4.赋值操作符
赋值操作符可以连续使用,比如:
int a = 10;
int x = 0;
int y = 20;
a = x = y+1;//连续赋值
复合赋值符:
+=
-=
*=
/=
%=
>>=
<<=
&=
|=
=
这些运算符都可以写成复合的效果,比如:
int x = 10;
x = x+10;
x+=10;//复合赋值,与其他运算符一样的道理,这样写更加简洁
5.单目操作符
单目操作符如下:
!
逻辑反操作
-
负值
+
正值
&
取地址
sizeof
操作数的类型⻓长度(以字节为单位)
~
对⼀一个数的⼆二进制按位取反
--
前置、后置--
++
前置、后置++
*
间接访问操作符(解引⽤用操作符) (类型)
强制类型转换
6.关系操作符
关系操作符如下:
>
>=
<
<=
!=
⽤用于测试“不不相等”
==
⽤用于测试“相等”
注意:在编程过程中一定要注意不能把==写成=而导致错误。
7.逻辑操作符
逻辑操作符如下:
&&
逻辑与
||
逻辑或
区分逻辑与和按位与
区分逻辑或和按位或
1&2----->0
1&&2---->1
1|2----->3
1||2---->1
8.条件操作符
exp1 ? exp2 : exp3 //若exp1非0,该式子的值为exp2,否则为exp3
1.算术操作符
2.移位操作符
3.位操作符
4.赋值操作符
5.单目操作符
6.关系操作符
7.逻辑操作符
8.条件操作符
1.算术操作符
+ - * / %
1.除了%操作符之外,其他的几个操作符都可以作用于整数和浮点数。
2.
对于/操作符如果两个操作数都为整数,执行行整数除法。而只要有浮点数,执行的就是浮点数除法。
3. %操作符的两个操作数必须为整数。返回的是整除之后的余数。
2.移位操作符
<< 左移操作符
>> 右移操作符
左移操作符
移位规则:
左边抛弃,右边补0
右移操作符
移位规则:
右移规则分两种
1. 逻辑移位 左边用0填充,右边丢弃
2. 算术移位 左边用原该值的符号位填充,右边丢弃
注意: 对于移位运算符,不不要移动负数位,这个是标准未定义的。
3.位操作符
位操作符有:
&
//按位与
|
//按位或
^
//按位异或
注:他们的操作数必须是整数。
4.赋值操作符
赋值操作符可以连续使用,比如:
int a = 10;
int x = 0;
int y = 20;
a = x = y+1;//连续赋值
复合赋值符:
+=
-=
*=
/=
%=
>>=
<<=
&=
|=
=
这些运算符都可以写成复合的效果,比如:
int x = 10;
x = x+10;
x+=10;//复合赋值,与其他运算符一样的道理,这样写更加简洁
5.单目操作符
单目操作符如下:
!
逻辑反操作
-
负值
+
正值
&
取地址
sizeof
操作数的类型⻓长度(以字节为单位)
~
对⼀一个数的⼆二进制按位取反
--
前置、后置--
++
前置、后置++
*
间接访问操作符(解引⽤用操作符) (类型)
强制类型转换
6.关系操作符
关系操作符如下:
>
>=
<
<=
!=
⽤用于测试“不不相等”
==
⽤用于测试“相等”
注意:在编程过程中一定要注意不能把==写成=而导致错误。
7.逻辑操作符
逻辑操作符如下:
&&
逻辑与
||
逻辑或
区分逻辑与和按位与
区分逻辑或和按位或
1&2----->0
1&&2---->1
1|2----->3
1||2---->1
8.条件操作符
exp1 ? exp2 : exp3 //若exp1非0,该式子的值为exp2,否则为exp3