C语言操作符总结
一、分类
1.算数操作符
2.移位操作符
3.位操作符
4.赋值操作符
5.单目操作符
6.关系操作符
7.逻辑操作符
8.条件操作符
9.逗号表达式
10.下标引用操作符
11.函数调用操作符
12.访问一个结构的成员
二、详细
1.算数操作符:
-
-
- /(有浮点数则为浮点除法) %(必须全为整形)
-
2.移位操作符:
所有的移位操作符都是二进制移位
左移<<
效果:左边抛弃右边补0. 相当于*2
右移>>
效果:
<1>:算术移位:左用原该值的符号位填充 右丢弃
<2>:逻辑移位:左边用0填充 右边丢弃
警告:不要移动负数位
3.位操作符:
& 按位与
| 按位或
^ 按位异或
注意:全都为二进制位操作,操作数必须都为整数,负数为补码进行运算
4.赋值操作符:=
复合赋值操作符:+=,-=,*=,/=,%=,>>=,<<=,&=,|=,^=
5.单目操作符
! 逻辑取反
- 负值
+正值
&取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制数按位取反
++ 前置、后置
– 前置、后置
- 间接访问(解引用)
(类型)强制类型转换
6.关系操作符
<
>
<=
!=
==
7.逻辑操作符
&&逻辑与
||逻辑或
8.条件操作符
exp1?exp2:exp2
例
a>b?a:b
若a>b则取a否则取b.
9.逗号表达式
从左向右依次执行,整个表达式的结果是最后一个表达式的结果
10.下标引用操作符
[ ]:数组名+索引值
注意:arr[4]
*(arr+4)
*(4+arr)
4[arr]
全部等价
11.调用函数操作符
()接受操作数一个或多个,外面是函数名,里面是传递给函数的参数
12.访问一个结构的成员
. :结构体.成员名
->:结构体指针->成员名