C、C++运算符优先级列表
来源:互联网 发布:java reference 编辑:程序博客网 时间:2024/06/15 14:28
http://blog.sina.com.cn/s/blog_428ee6c10100ewps.html
C、C++运算符优先级列表
1.C语言运算符优先级
运算符按照优先级大小由上向下排列,在同一行的运算符具有相同优先级。第二行是所有的一元运算符。
* & (类型) sizeof
否定,按位否定,增量,减量,正负号,间接,取地址,类型转换,求大小
&= ^= |=<<=>>=
各种赋值
2.C++运算符优先级
[]
->
.
::
++
--Grouping operator
Array access
Member access from a pointer
Member access from an object
Scoping operator
Post-increment
Post-decrement(a + b) / 4;
array[4] = 2;
ptr->age = 34;
obj.age = 34;
Class::age = 2;
for( i = 0; i < 10; i++ ) ...
for( i = 10; i > 0; i-- ) ...left to right2!
~
++
--
-
+
*
&
(type)
sizeofLogical negation
Bitwise complement
Pre-increment
Pre-decrement
Unary minus
Unary plus
Dereference
Address of
Cast to a given type
Return size in bytesif( !done ) ...
flags = ~flags;
for( i = 0; i < 10; ++i ) ...
for( i = 10; i > 0; --i ) ...
int i = -1;
int i = +1;
data = *ptr;
address = &obj;
int i = (int) floatNum;
int size = sizeof(floatNum);right to left3->*
.*Member pointer selector
Member pointer selectorptr->*var = 24;
obj.*var = 24;left to right4*
/
%Multiplication
Division
Modulusint i = 2 * 4;
float f = 10 / 3;
int rem = 4 % 3;left to right5+
-Addition
Subtractionint i = 2 + 3;
int i = 5 - 1;left to right6<<
>>Bitwise shift left
Bitwise shift rightint flags = 33<< 1;
int flags = 33 >> 1;left to right7<
<=
>
>=Comparison less-than
Comparison less-than-or-equal-to
Comparison greater-than
Comparison geater-than-or-equal-toif( i < 42 ) ...
if( i <= 42 ) ...
if( i > 42 ) ...
if( i >= 42 ) ...left to right8==
!=Comparison equal-to
Comparison not-equal-toif( i == 42 ) ...
if( i != 42 ) ...left to right9&Bitwise ANDflags = flags & 42;left to right10^Bitwise exclusive ORflags = flags ^ 42;left to right11|Bitwise inclusive (normal) ORflags = flags | 42;left to right12&&Logical ANDif( conditionA&& conditionB ) ...left to right13||Logical ORif( conditionA || conditionB ) ...left to right14? :Ternary conditional (if-then-else)int i = (a > b) ? a :b;right to left15=
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=Assignment operator
Increment and assign
Decrement and assign
Multiply and assign
Divide and assign
Modulo and assign
Bitwise AND and assign
Bitwise exclusive OR and assign
Bitwise inclusive (normal) OR and assign
Bitwise shift left and assign
Bitwise shift right and assignint a = b;
a += 3;
b -= 4;
a *= 5;
a /= 2;
a %= 3;
flags &= new_flags;
flags ^= new_flags;
flags |= new_flags;
flags <<= 2;
flags >>= 2;right to left16,Sequential uation operatorfor( i = 0, j = 0; i < 10;i++, j++ ) ...left to right
posted on 2006-06-08 09:33 brent 阅读(26675) 评论(1)
0 0
- C++:运算符优先级列表
- C运算符优先级列表
- c运算符优先级列表
- C/C++运算符优先级列表
- C语言运算符优先级列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级详细列表
- C语言运算符优先级 详细列表
- c语言运算符优先级列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- inmod
- css IE8兼容问题
- Android基础--使用AIDL实现进程间的通信之复杂类型传递
- Xcode运行选项中没有出现Device
- 约瑟夫环 HOJ 1016
- C、C++运算符优先级列表
- HTML位置感知
- Multiply Strings
- oj抽象类
- C++阳历转阴历算法及实现
- atof实现(c++)
- SD卡驱动-源代码树分析
- 最大公约数(递归与非递归实现),最小公倍数
- 在 CodeIgniter 2中集成 Smarty 3 模板引擎