常用运算符分类
运算符类型 |
作用 |
算术运算符 |
用于处理四则运算 |
赋值运算符 |
用于将表达式的值赋给变量 |
比较运算符 |
用于表达式的比较,并返回一个真值或假值 |
逻辑运算符 |
用于根据表达式的值返回真值或假值 |
位运算符 |
用于处理数据的位数运算 |
sizeof运算符 |
用于求字节长度 |
算术运算符
运算符 |
术语 |
示例 |
结果 |
+ |
正号 |
+3 |
3 |
- |
负号 |
-3 |
-3 |
+ |
加 |
10+5 |
15 |
- |
减 |
10-5 |
5 |
* |
乘 |
10*5 |
50 |
/ |
除 |
10/5 |
2 |
% |
取模(取余) |
10%3 |
1 |
++ |
前自增 |
a=2; b=++a; |
a=3; b=3; |
++ |
后自增 |
a=2; b=a++; |
a=3; b=2; |
-- |
前自减 |
a=2; b=--a; |
a=1; b=1; |
-- |
后自减 |
a=2; b=a--; |
a=1; b=2; |
赋值运算符
运算符 |
术语 |
示例 |
结果 |
= |
赋值 |
a=2; b=3; |
a=2; b=3; |
+= |
加等于 |
a=0; a+=2; |
a=2;(将a+2的值赋值给a) |
-= |
减等于 |
a=5; a-=3; |
a=2; |
*= |
乘等于 |
a=2; a*=2; |
a=4; |
/= |
除等于 |
a=4; a/=2; |
a=2; |
%= |
模等于 |
a=3; a%2; |
a=1; |
比较运算符
C语言的比较运算中,1表示真;0表示假
运算符 |
术语 |
示例 |
结果 |
== |
相等于 |
4==3 |
0 |
!= |
不等于 |
4!=3 |
1 |
< |
小于 |
4<3 |
0 |
> |
大于 |
4>3 |
1 |
<= |
小于等于 |
4<=3 |
0 |
>= |
大于等于 |
4>=3 |
1 |
逻辑运算符
运算符 |
术语 |
示例 |
结果 |
! |
非(非真为假 非假为真) |
!a |
如果a为假,则!a为真; 如果a为真,则!a为假 |
&& |
与(同真为真 其余为假) |
a&&a |
如果a和b都为真,则结果为真,否则为假 |
|| |
或(同假为假 其余为真) |
a||b |
如果a和b有一个为真,则结果为真,二者都为假时,结果为假 |
运算符优先级
优先级 |
运算符 |
名称或含义 |
使用形式 |
结合方向 |
说明 |
1 |
[] |
数组下标 |
数组名[常量表达式] |
左到右 |
|
() |
圆括号 |
(表达式)/函数名(形参表) |
|||
. |
成员选择(对象) |
对象成员名 |
|||
-> |
成员选择(指针) |
对象指针->成员名 |
|||
2 |
- |
负号运算符 |
表达式 |
右到左 |
单目运算符 |
~ |
换位取反运算符 |
表达式 |
|||
++ |
自增运算符 |
++变量名/变量名++ |
|||
-- |
自减运算符 |
--变量名/变量名-- |
|||
* |
取值运算符 |
*指针变量 |
|||
& |
取地址运算符 |
&变量名 |
|||
! |
逻辑非运算符 |
!表达式 |
|||
(类型) |
强制类型转换 |
(数据类型表达式) |
|||
sizeof |
长度运算符 |
sizeof(表达式) |
|||
3 |
/ |
除 |
表达式/表达式 |
左到右 |
双目运算符 |
* |
乘 |
表达式*表达式 |
|||
% |
余数(取模) |
整型表达式%整型表达式 |
|||
4 |
+ |
加 |
表达式+表达式 |
左到右 |
双目运算符 |
- |
减 |
表达式-表达式 |
|||
5 |
<< |
左移 |
变量<<表达式 |
左到右 |
双目运算符 |
>> |
右移 |
变量>>表达式 |
|||
6 |
> |
大于 |
表达式>表达式 |
左到右 |
双目运算符 |
>= |
大于等于 |
表达式>=表达式 |
|||
< |
小于 |
表达式<表达式 |
|||
<= |
小于等于 |
表达式<=表达式 |
|||
7 |
== |
等于 |
表达式=表达式 |
左到右 |
双目运算符 |
!= |
不等于 |
表达式!=表达式 |
|||
8 |
& |
按位与 |
表达式&表达式 |
左到右 |
双目运算符 |
9 |
^ |
按位异或 |
表达式^表达式 |
左到右 |
双目运算符 |
10 |
| |
按位或 |
表达式|表达式 |
左到右 |
双目运算符 |
11 |
&& |
逻辑与 |
表达式&&表达式 |
左到右 |
双目运算符 |
12 |
|| |
逻辑或 |
表达式||表达式 |
左到右 |
双目运算符 |
13 |
? |
条件运算符 |
表达式1? 表达式2表达式3 |
右到左 |
三目运算符 |
14 |
= |
赋值运算符 |
变量=表达式 |
右到左 |
|
/= |
除后赋值 |
变量/=表达式 |
|
||
*= |
乘后赋值 |
变量*表达式 |
|
||
%= |
取模后赋值 |
变量%=表达式 |
|
||
+= |
加后赋值 |
变量+=表达式 |
|
||
-= |
减后赋值 |
变量-=表达式 |
|
||
<<= |
左移后赋值 |
变量<<=表达式 |
|
||
>>= |
右移后赋值 |
变量>>表达式 |
|
||
&= |
换位与后赋值 |
变量&=表达式 |
|
||
^= |
按位异或后赋值 |
变量^=表达式 |
|
||
15 |
, |
逗号运算符 |
表达式,表达式 |
左到右 |
|