运算符
1.算术运算符
+、-、*、/(求商)例:5/2=2、%(取模/求余数)例:5%2=1
2.移位操作符
>>、<< 移动二进制位
例:
...
int a = 1;//a转换成二进制为00000000000000000000000000000001
int b = a <<1;//b为a的二进制位左移一位即00000000000000000000000000000010,多则丢弃沙则补0
...
3.位操作符 &(按位与)、|(按位或)、^(按位异或)
例:
...
int a = 3; //00000000000000000000000000000011
int b = 5; //00000000000000000000000000000101
int c = a & b;//00000000000000000000000000000001 对应的二进制位都为1则为1,否则为0
int d = a | b;//00000000000000000000000000000111 对应的二进制其中一个为1则为1,否则为0
int e = a ^ b;//00000000000000000000000000000110 对应的二进制位相同位0,不同为1
...
4.赋值操作符
=、+=、-=、*=、/=、%=、&=、|=、^=、>>=、<<=
5.单目操作符
操作符 | 名称/解释 |
! | 逻辑反操作(C语言规定0为假,非零为真) |
- | 负值 |
+ | 正值 |
& | 取地址 |
sizeof | 计算操作数的大小(单位字节) |
~ | 对一个数的二进制按位取反 |
-- | 前置、后置-- |
++ | 前置、后置++ |
* | 间接访问操作符(解引用操作符) |
(类型) | 强制类型转换 |
6.关系操作符
>、>=、<、<= 、!=(判断是否是不相等)、==(判断是否是相等)
7.逻辑操作符
&&(逻辑与)、||(逻辑或)
&&当操作符两边都为真则为真,其中一个为假则为假
||当操作符两边一个为真则为真,两个为假则为假
例:
...
int a = 0;
int b = 20;
int c = a && b;// 0
int d = a || b;// 1
...
8.条件操作符 (0为假,非零为真)
表达式1 ?表达式2 :表达式3
当表达式1的结果为真执行表达式2,若表达式1的结果为假则执行表达式3
...
int a = 12;
int b = 15;
int c = a > b ? a : b;//c为15 代码意思:a>b吗?大于则c = a,不大于则执行c = b
...
9.逗号表达式表达式1,表达式2,表达式3,...表达式n。
逗号表达式以最后一个表达式的结果为结果。
10.下标引用、函数调用和结构体成员
"[ ]"、 "( )"、 "." "->"