1.算数操作符
+ - * / %
两整数相除,结果为整数;
例:5/2=2
若有一个是浮点数,则结果为浮点数;
例:1.0/2=0.5
取余只能用在整数中,不能用在浮点数中;
2.位移操作符
<< >>
例:<<1 >>3
右移包括:
逻辑右移—右边丢弃,左边补0
算数右移—右边丢弃,左边补符号位
不能写成:<<-1或>>-2;
3.位操作符
&按位与
|按位或
^按位异或
4.复合操作符
+= -= *= /= %= >>= <<= &= |= ^=
5.单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
6.关系操作符
> >= < <= != ==
注意区分=和==
7.逻辑操作符
&& 逻辑与 || 逻辑或
8.条件操作符
exp1 ? exp2 : exp3 ;
例如:if(a>b) x=a:x=b;
9.逗号表达式
exp1,exp2,exp3, ... ,expn;
逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
10.下标引用,函数调用和结构成员
(1) []: 操作数:一个数组名 + 一个索引值
(2)(): 函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
(3)访问一个结构的成员
结构体.成员名 例如: Stu.name
结构体指针->成员名 例如: p->name