1.算数操作符
+(加) -(减) *(乘) / (除) %(求模)
(1).对于‘/’,两个数都是整数执行整数除法,只要有一个为浮点数,就执行浮点数除法
(2).对于‘%’,两个数必须都为整数
2.移位操作符
<<(左移位操作符) >>(右移位操作符)
对于二进制位,保存的是补码 ,不要移动负数位
(1).<<
左边舍弃,右边不零
(2).>>
1>.逻辑移位:左边用零填充,右边舍弃
2>.算数移位:左边用原有的符号位填充,右边舍弃
3.位操作符
&(按位与) |(安慰或) ^(按位异或)
(1).& 两个都为1时才为1
num&1 ==1 说明num的最后一位为1
(2). | 两个都为0时才为0,只有有一个1就位1
num | 0 =num
(3).^相同为0,不同为1
a^b=c;c^b=a;c^a=b(密钥)
4.赋值操作符
=(等于)
5.符合赋值操作符
+=(加等于) -=(减等于) *= (乘等于) /= (除等于) %=(除等于)
&=(按位与等于) |=(按位或等于) ^=(按位异或等于)
<<=(左移等于) >>=(右移等于)
6.单目操作符
!(非) -(负) +(正) &(取地址) sizeof(操作位的类型长度)
~(对一个二进制数按位取反) ++(前置、后置++) -- (前置、后置--)
* (间接访问操作符) (类型)强制类型转换
sizreof(a) sizeof(int) sizeof a
siezof int 错误
siezof()地址都是4
7.关系操作符
8.逻辑操作符
&&(逻辑与) 当左边表达式为假时, 右边表达式不执行,整体为假
|| (逻辑或) 当左边表达式为真时, 右边表达式不执行,整体为真
9.条件操作符
? :
exp1?exp2:exp3(当exp1为真时,exp2执行,否则exp3执行)
10.逗号表达式
从左至右依次执行,最后一个表达式作为整个表达式的结果11.下标引用、函数调用,结构成员
[ ] 参数(一个数组名+一个索引值)
() 一个或者或者多个操作数,一个为函数名,其他的为函数所需要的参数
结构点.成员名
结构体指针->成员名
操作符的属性
优先级、结合性、是否控制求值顺序