操作符的使用
分类:
一、算术操作符
二、移位操作符
三、位操作符
四、赋值操作符
五、单目操作符
六、关系操作符
七、逻辑操作符
八、条件操作符
九、逗号表达式
一、.算数操作符
+ — * / %
1.除了%以外其他几个操作符可以作用于整数和浮点数。
2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除
法。// 4.0/2=4/2.0=2.0000
3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数
二、移位操作符
<< 左移操作符;
:>> 右移操作符
左移操作符 移位规则:
左边抛弃、右边补0
右移操作符 移位规则:
首先右移运算
分两种:
逻辑移位 左边用0填充,右边丢弃
算术移位 左边用原该值的符号位填充,右边丢弃
三、位操作符有:
& … //按位与
| … //按位或
^ … //按位异或
## 注:他们的操作数必须是整数。
& //按位与
特点:都为真才为真,否则为假
#include<stdio.h>
int main()
{
int a=5; //0101
int b=6; //0110
int c=a & b; //0100---> 4
printf("%d\n",c);
return 0;
}
| //按位或
特点:有一个为真就为真,都为假才是假
#include<stdio.h>
int main()
{
int a=5; //0101
int b=6; //0110
int c=a | b; //0111---> 7
printf("%d\n",c);
return 0;
}
^ //按位异或
特点:相同为0,不相同为1. 一假一真为真,都真都假为假
#include<stdio.h>
int main()
{
int a=5; //0101
int b=6; //0110
int c=a ^ b; //0011---> 3
printf("%d\n",c);
return 0;
}
## 注:他们的操作数必须是整数
四、复合赋值符
+=
-=
*=
/=
%=
.>>=
<<=
&=
|=
^=
这些运算符都可以写成复合的效果
五、单目操作符
!//--------逻辑反操作
-//**--------负值
+//----------正值
&//--------取地址
sizeof//--------操作符的类型长度(以字节为单位)
~//--------对与一个二进制取反
–//--------前置、后置–
++//--------前置、后置++
六、 关系操作符
:>
:>=
:<
:<=
:!=// …用于计算条件
:==//…用于条件表示式
七、逻辑操作符
&&… 逻辑与
||… 逻辑或
&& …逻辑与
||… 逻辑或
八、条件操作符
exp1 ? exp2 : exp3;
//?表示exp是否为真,为真输出exp2,否则输出exp3.
八、逗号表达式
,
逗号表达式,就是用逗号隔开的多个表达式。从左到右执行,结果为最后一个表达式。