分类
算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式
下标引用、函数调用和结构成员
一、算术操作符
+ - * / %
二、移位操作符
<< 左移操作符
左边抛弃、右边补0
>> 右移操作符
首先右移运算分两种:
1. 逻辑移位 左边⽤用0填充,右边丢弃
2. 算术移位 左边⽤用原该值的符号位填充,右边丢弃
三、位操作符有:
& // 按位与
| // 按位或
^ // 按位异或
注:他们的操作数必须是整数
四、赋值操作符
赋值操作符是⼀一个很棒的操作符,他可以让你得到⼀一个你之前不不满意的值。也就是你可以给⾃自⼰己 重新赋值。
五、、复合操作符
+=
-=
*=
/=
%=
>>=
<<=
&=
|=
^=
六、单⽬目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型⻓长度(以字节为单位)-(关键字)是操作符,不是函数 (在求类型大小时要加(),sizeof(int))
~ 对⼀一个数的二进制按位取反
-- 前置、后置-
++ 前置、后置
++ * 间接访问操作符(解引用操作符)
(类型) 强制类型转换
七、关系操作符
>
>=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”
八、逻辑操作符有哪些:
&& 逻辑与
|| 逻辑或
九、条件操作符
exp1 ? exp2 : exp3
十、逗号表达式
exp1, exp2, exp3, …expN
逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后⼀一个表达式的结果
十一、下标引用、函数调用和结构成员
1.[ ]
操作数:⼀一个数组名 + ⼀一个索引值
2.( ) 函数调用操作符 接受⼀一个或者多个操作数:第⼀一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3.访问⼀一个结构的成员 . 结构体.成员名 -> 结构体指针->成员名