操作符
分类:
算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式
下标引用、函数调用和结构成员
算术操作符:
+ - * / %
- 除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。
- 对于/操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就
是浮点数除法。 - %操作符的两个操作数必须为整数。返回的是整除之后的余数。
移位操作符:
<< >>
左移操作符:
左边抛弃,右边补0
右移操作符:
- 逻辑移位:
左边用0,右边抛弃- 算术移位:
符号位不变,右边抛弃
特别的:不能移负数位
位操作符:
& 按位与
| 按位或
^ 按位异或
操作数必须为整数!
复合赋值符:
+=
-=
*=
/=
%=
>>=
<<=
&=
|=
^=
单目操作符:
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
没错,sizeof也是操作符
关系操作符:
>
>=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”
逻辑操作符:
&& 逻辑与
|| 逻辑或
区分逻辑与和按位与
区分逻辑或和按位或
条件操作符:
exp1 ? exp2 : exp3
逗号表达式:
exp1, exp2, exp3, …expN
整个表达式是最后一个式子的结果
条件操作符:
exp1 ? exp2 : exp3
下标引用、函数调用和结构成员:
1. [ ]
操作数:一个数组名 + 一个索引值
int arr[10];//创建数组
arr[9] = 10;//实用下标引用操作符。
[ ]的两个操作数是arr和9。
2. ()
函数调用操作符
接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数
的参数。
比
3. 访问一个结构的成员
. 结构体.成员名
-> 结构体指针->成员名
还有一种表达式是9[arr],同样可以表达数组第九个元素