算术操作符;
+ - * / %
注意:“/"两边都为整数时,结果也是整数。 例:3/2=1 3.0/2=1.5
"%"是对某个数取余数, 只能是整数。
位移操作符
n<<1 : n的二进制序列向左移一位,右边丢弃,左边补零,相当于给原数乘以2。
n>>1 : n的二进制序列向右移一位,分为算数右移和逻辑右移。
算数右移:右边丢弃,左边补符号位,相当于给原数除2。
逻辑右移:右边丢弃,左边补零。
位操作符
按位与 & :用补码计算,1&1=1,1&0=0,0&1=0,0&0=0。 注意:必须用整数计算
按位或 | :用补码计算,1|1=1,1|0=1,0|1=1,0|0=0。 注意:必须用整数计算
按位异或 ^ : 得到两个数的二进制序列,按位异或,不同为1,相同为0,得到一个新的二进制序列。
赋值操作符
= 注意: 不建议连续赋值。
复合赋值符 : == += -= *= /=
== 表示判断,1==2 返回0, 1==1 返回1,
sum += 2 表示 sum = sum+2 依次类推
单目操作符
! 真假互换 !0 = 1
- + 加减操作
& 取地址操作, sizeof 计算变量的大小,一字节为单位,sizeof里不能放一个表达式,不会参与计算
~ 对二进制数按位取反
-- ++ 分为前置后后置, 前置表示先操作在使用,后置表示先使用在操作,比如 int a = 2;int b = ++a;
b就为3,
* 间接访问操作符,( ) ,强制类型转换操作符,
关系操作符
!= 和 == 都是用于判断的,7 != 6 这个表达式的值为1 7==6 表达式的值为0
逻辑操作符
&& 与运算 有假为假 表示&&符号两边如果有一个为假的话,整体为假
|| 或运算 有真为真 表示||符号两边如果有一个为真的话,整体为真
条件判断操作符
f = (a > b) ? c : d 也就是说,如果a>b的话,f=c; 否则f=d
逗号表达式
int a = 1; int b = 2;int c = (a = b +3, a = a +10 , b = a +1);
给定了a和b的值,求c,对于最后一个表达式,先从左到右计算,a=b+3 得到a=5,a=a+10,得到a=15,b=a+1,得到b等于16,c的值就是最后一个表达式整体的数值等于16
下标引用操作符
[] 这是一个组合,用于访问数值中的某一个位置的数,
函数调用操作符
() 也是一个组合,函数名后跟一对括号,是一个函数的调用方式
结构体访问操作符
-> 和 . 用于访问结构体的成员