算术操作符
“+”、"-"、"*"、"/"、"%"
移位操作符
左移操作符:<< 右移操作符:>>
移位操作只是简单的把一个值的位向左或右移动。
在左移位中,值最左边的几位被丢弃,右边多出来的几个空位由0补齐。
在右移位中,存在左移位操作不曾面临的问题:从左边移入新位时,可以选择两种方案。
1.逻辑移位:左边移入的位用0填充
2.算术移位:左边移入的位有原先该值的符号位决定,符号位为1,则移入的位均为1;符号位为0,则移入的位均为0,这样能够保持原数的正负形式不变
位操作符
AND、OR、XOR : &、|、^
1.AND:当两个位都是1,结果为1,否则为0
2.OR:当两个位都为0,结果为0,否则为1
3.XOR:如果两个位不同结果为1,否则位0
赋值符
这里只讨论复合赋值:+=、-=、*=等
a += expression 它读作"把expression加到a",相当于a = a+expression
单目操作符
!、++、-、&、~、sizeof、(类型)
1."!":对它的操作数执行逻辑反操作
2."~":对整型类型的操作数进行求补操作,操作数中所有原先为1的位变为0,原先为0的位变为1
3."&":产生它的操作数的地址
4."*":间接访问操作符,与指针一起用,用于访问指针所指向的值。
5.sizeof:判断他的操作数的类型长度,以字节为单位
6.(类型):被称为强制类型转换,用于显示地把表达式的值转换为另外的类型
关系操作符
<、<=、>、>=、!=、==
逻辑操作符
&&、||
&&:如果左右两边都是真的,那么整个表达式的值就是真的;如果左右两边任何一个为佳,那么整个表达式就为假
条件操作符
expression1 ? expression2 : expression3
等价于
if(expression1){
expression2
}else{
expression3
}
逗号操作符
逗号操作符将两个或多个表达式分隔开来,这些表达式自左向右逐个求值,整个逗号表达式的值就是最后那个表达式的值