文档介绍:C++的运算符和表达式
运算符是施加在数据上的重要操作,变量、常量通过操作符组合成C++的表达式,构成了C++程序的基本要素。本节将介绍C++语言中基本运算符和表达式。
C++中的基本运算符
运算是对数据的加工过程,而标识不同运算的符号称职运算符,参与运算的数据称为操作数。++中的基本运算符、其优先级及对操作数的结合性。
优先级
运算符
运算顺序
功能
17
17
::
::
从右向左结合
从左向右结合
全局范围符(单目)
类范围符(双目)
16
16
16
16
16
→,.
[ ]
( )
( )
sizeof
从左向右结合
从左向右结合
从左向右结合
从左向右结合
从左向右结合
成员选择符
数组下标符
函数调用
类型结构
取类型存储大小
15
15
15
15
15
15
15
++,--
~
!
+,-
*,&
()
new,delete
从右向左结合
从右向左结合
从右向左结合
从右向左结合
从右向左结合
从右向左结合
从右向左结合
自增,自减
按位反
逻辑否
单目加,单目减
指针操作,取址
类型转换
动态空间管理
14
->*,.*
从左向右结合
成员指针选择
13
*,/,%
从左向右结合
乘法类运算
12
+,-
从左向右结合
加法类运算
11
<<,>>
从左向右结合
移位运算
10
<,<=>,>=
从左向右结合
关系比较
9
= =,!=
从左向右结合
等值,不等值比较
8
&
从左向右结合
按位与
7
^
从左向右结合
按位异或
6
|
从左向右结合
按位或
5
&&
从左向右结合
逻辑与
4
||
从左向右结合
逻辑或
3
?:
从左向右结合
条件操作符
2
=,*=,/=,%=,+=,—=,
<<=,>>=,&=,|=,^=
从右向左结合
从右向左结合
赋值符
1
,
从左向右结合
逗号表达式
注:优先级相同的运算符,其执行顺序由该运算符在语句中的位置先后决定。
根据参与运算的操作数的类型不同,运算符可以分为单目运算符(1个操作数)、双目运算符(2个操作数)、三目运算符(3个操作数)。有一些运算符既可以是单目的,也可以是双目的,根据赋予该运算符的操作数的不同,运算符具有不同的功能。
例如: *pFile; var1*var2;
运算符的优先级和数学运算中的优先级意义相同,它决定了一个操作符在表达式的运算顺序,优先级越高,运算次序越靠前。而结合性则决定一个操作符对其操作数的运算顺序。如果一个操作符对其操作数的操作运算是自左向右执行的,则称该操作符是右结合的;反之如果一个操作符对其操作数的操作运算是自右向左执行的,则称该操作符是左结合实际的。
根据操作符表示的运算的性质不同,可以将C++中的操作符分为算术运算、关系运算符、逻辑运算符、赋值运算符、条件运算符、自增自减运算符、位运算符和sizeof运算符等。下面分别进行讨论。
1、算术运算符
++中的算术运算符。