一、分类
算术操作符
移位操作符
位运算符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号操作符
下标引用、函数调用和结构成员
二、注意事项
各操作符的作用就不在此赘述,但一些很小的点需要多加注意。
1.%操作两边的操作数必须为整数。
2./操作中若为浮点数除法则两操作数中至少有一个为浮点数。
3.>>操作可分为算术右移和逻辑右移两种。
以-1为例。
算术右移左边补符号位
逻辑右移左边补0
4.位运算
位运算有很多灵活的方式
获取二进制中的某一位、保留某几位则可以用&。如(1&(b>>3))获取b的第三位。
将某几位变为1则可以用|。
两个相同亦或为0,不同亦或为1。可用这个特点判断两数是否相同
等等。
5.单目操作符
&取地址操作
对数组进行取地址时需要特别注意。
虽然结果都相同但&arr为数组的地址,arr为元素首元素地址。
sizeof计算变量大小
数组名单独放在sizeof内部数组名表示整个数组,故为40.
不是单独放在sizeof内部,代表首元素地址,首元素地址+0还是首元素,故为4。
sizeof内部的表达式不参与运算。
sizeof 不是函数所以使用时可以为sizeof()也可以为sizeof(或sizeof。
6.逻辑操作符
注意区分按位与&和逻辑与&&、按位或|和逻辑或||。
7.逗号表达式
从左到右依次执行,整个表达式的结果为最后一个表达式的结果。
8.结构体成员
.结构体.成员名
->结构体指针->成员名都可访问一个结构体的成员。
以上是自己在学习中的一些不熟练的点。