C语言操作符分类
- 算术操作符
- 移位操作符
- 位操作符
- 赋值操作符
- 单目操作符
- 关系操作符
- 逻辑操作符
- 条件操作符
- 逗号操作符
- 下标引用、函数调用和结构成员
算术操作符
+ , - , * ,/ ,%
注意:%操作符的操作数必须为整数
移位操作符
对二进制形式使用
<< 左移操作符 将原数乘二
>>右移操作符 将原数除二
位操作符
& 按位与 , | 按位或 ,^按位异或
1.按位与运算规则(&)
0 & 0 = 0;0 & 1 = 0;1 & 0 = 0;1 & 1 = 1;
例如:
3 & 5
0011 & 0101 = 0001
因此 3 & 5 = 1
2.按位或运算规则(|)
0 | 0 = 0;0 | 1 = 1;1 | 0 = 1;1 | 1 = 1;
例如:
3 | 5
0011 & 0101 = 0111
因此 3 | 5 = 7
3.按位异或运算规则(^)
0 ^ 0 = 0;0 ^ 1 = 1;1 ^ 0 = 1;1 ^ 1 = 0;
例如:
3 ^ 5
0011 ^ 0101 = 0110
因此 3 ^ 5 = 6
赋值操作符
=,-=,+=,*=,/=等等
单目操作符
含义:运算时仅需要一个变量的操作符
!逻辑非
& 取地址
~ 对二进制去反
* 解引用操作符
- 负值
+ 正值
- - 自减
++ 自加
sizeof 求类型长度(字节)
(类型) 强制类型转换
关系操作符
> , >= , < , <= , != , ==
逻辑操作符
&&逻辑与
| | 逻辑或
注意:与按位与,按位或的区分
1 & 2 ——0
1&&2——1
1 | 2 —— 3
1 | | 2——1
条件操作符
exp1 ? exp2 : exp3
含义:如果满足exp1,执行exp2,否则执行exp3
逗号操作符
exp1,exp2,exp3, … exp N
从左到右依次执行,最终结果为最后一个表达式的结果
下标引用、函数调用和结构成员
[ ] 下标引用 :需要一个数组名和一个索引值即可
() 函数调用:可以是多个操作数,第一个是函数名
. 访问结构体成员
->访问结构体成员
下面链接给出了更详细的例子
PS:都是自己总结的,可能存在错误或不足之处,欢迎大家指正。