一.算术操作符:+ - * / %
1. 除了 %操作符之外,其他的 几个操作符可以作 用于整数和浮点数。
2. 对于“/”操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。
3.“%”操作符的两个操作数必须为整数。返回的是整除之后的余数。
二.移位操作符:
“<< ”左移操作符 :
移位规则:左边抛弃、右边补0
“>> ”右移操作符:
移位规则:首先右移运算分两种: 1. 逻辑移位左边 用0填充,右边丢弃 2. 算术移位左边 用原该值的符号位填充,
右边丢弃。
对于移位运算符,不 要移动负数位,这个是标准未定义的。例 如int num = 10; num>>-1;//error
三.位操作符
位操作符有:
& //按位与
| //按位或
^//按位异或
注:他们的操作数必须是整数。
四.赋值操作符
复合赋值符:
+= -= *= /= >>= <<= &= |=
例如:int a=0;
int b=0
a=a+10;
b+= 10;
计算出的结果a=b=10;
五.单目操作符:
! 逻辑非操作符
- 负值
+ 正值
& 取地址
sizeof 操作符的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
++ 前置、后置++
-- 前置、后置--
* 间接访问操作符
(类型) 强制类型转换
六.关系操作符:
> < >= <= == !=
七.逻辑操作符:
&& 逻辑与
|| 逻辑或
七.条件操作符:
exp1?exp2:exp3
判断exp1是否为真,若为真,则执行exp2,否则执行exp3;
八.逗号表达式:
exp1,exp2,exp3,···,expN
表达式依次从左向右执行,表达式的值取决于最后一个表达式的值。
九.下标引用、函数调用和结构成员:
1.[]
操作数:一个数组名+一个索引值
2.()
函数调用操作符,接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3.访问一个结构的成员
结构体.成员名
结构体指针->成员名