1. 算术操作符
操作符 | 作用 |
---|---|
+ | 加法(或取正) |
- | 减法(或取负) |
* | 乘法 |
/ | 除法 |
% | 求余运算 |
- 对于/操作符,当进行除法运算的两个操作数都为整型,则结果也为整型.如果运算量中有一个操作数为浮点数,则结果为浮点数;
- %操作符要求两个操作数均为整型,结果为两数相除后的余数;
2.移位操作符
- 左移操作符:<<是双目运算符,规则为高位丢弃,低位补0;
- 右移操作符: >>是双目运算符.
1> 逻辑移位:高位补0,低位丢弃.
2> 算术移位:高位用原值的符号位填充,低位丢弃;
3.位操作符
- & 按位与:对应的两个二进制位数均为1时,结果为1,否则为0.参与运算的数以补码形式出现.按位与运算通常用来对某些位清零或保留某些位;
- | 按位或:对应的两个二进制数均为0时,结果为0,否则为1.参与运算的数以补码形式出现;
- ^ 按位异或:当两个对应的二进制数相异时,结果为1,否则为0;
- ~ 按位取反:单目操作符.对参与运算的二进制数按位求反;
以上操作数必须为整数;
4.赋值操作符
- 简单赋值操作符
a=3;
r=x/y; - 复合赋值运算符
a += 3;
x %= 3; - 赋值表达式
a=b=c=5;
5.单目操作符
操作符 | 作用 |
---|---|
! | 逻辑反操作 |
- | 负值 |
+ | 正值 |
& | 取地址 |
sizeof | 操作数的类型长度(以字节为单位) |
~ | 对一个数的二进制按位取反 |
- - | 前置,后置- - |
++ | 前置,后置++ |
* | 间接访问操作符(解引用操作符) |
(类型) | 强制转换类型 |
- 对于~ 按位取反来说,所有的二进制位由1变为0,0变为1;
- 对于 ! 逻辑取反来说,原来的值为真,就变成假.原来的值为假,就变成真;
6.关系操作符
- 关系运算符是双目运算符,分别为: > , >= , < , <= , == , != ;
7.逻辑操作符
- && 逻辑与
- | | 逻辑或
- ! 逻辑取反
8.条件操作符
- C语言提供的唯一的三目操作符;
- 表达式1 ? 表达式2 : 表达式3
- 当’‘表达式1’‘的值为非零时,求出’‘表达式2’‘的值,此时’‘表达式2’‘的值就是整个条件表达式的值;当’‘表达式1’‘的值为零时,求出’‘表达式3’‘的值,此时’‘表达式3’'的值就是整个条件表达式的值;
9.逗号表达式
- exp1 , exp2 , exp3 , …expN
- 用逗号隔开的多个表达式,从左向右依次执行,整个表达式的结果是最后一个表达式的结果;