C, C++优先级表
来源:互联网 发布:能美图的拍照软件 编辑:程序博客网 时间:2024/06/05 23:51
C优先级表
PrecedenceOperatorDescriptionExampleAssociativity1
()
[]
->
.
::
++
--
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 right
2!
~
++
--
-
+
*
&
(type)
sizeof
Logical negation
Bitwise complement
Pre-increment
Pre-decrement
Unary minus
Unary plus
Dereference
Address of
Cast to a given type
Return size in bytes
if( !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 left
3->*
.*
Member pointer selector
Member pointer selector
ptr->*var = 24;
obj.*var = 24;
left to right4
*
/
%
Multiplication
Division
Modulus
int i = 2 * 4;
float f = 10 / 3;
int rem = 4 % 3;
left to right
5+
-
Addition
Subtraction
int i = 2 + 3;
int i = 5 - 1;
left to right
6<<
>>
Bitwise shift left
Bitwise shift right
int flags = 33 << 1;
int flags = 33 >> 1;
left to right
7<
<=
>
>=
Comparison less-than
Comparison less-than-or-equal-to
Comparison greater-than
Comparison geater-than-or-equal-to
if( i < 42 ) ...
if( i <= 42 ) ...
if( i > 42 ) ...
if( i >= 42 ) ...
left to right
8==
!=
Comparison equal-to
Comparison not-equal-to
if( i == 42 ) ...
if( i != 42 ) ...
left to right
9&
Bitwise AND
flags = flags & 42;
left to right
10^
Bitwise exclusive OR
flags = flags ^ 42;
left to right
11|
Bitwise inclusive (normal) OR
flags = flags | 42;
left to right
12&&
Logical AND
if( conditionA && conditionB ) ...
left to right
13||
Logical OR
if( conditionA || conditionB ) ...
left to right
14? :
Ternary conditional (if-then-else)
int i = (a > b) ? a : b;
right to left
15=
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
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 assign
int 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 left
16,
Sequential evaluation operator
for( i = 0, j = 0; i < 10; i++, j++ ) ...
left to right
C++优先级表
PrecedenceOperatorDescriptionExampleAssociativity1
()
[]
->
.
::
++
--
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)
sizeof
Logical negation
Bitwise complement
Pre-increment
Pre-decrement
Unary minus
Unary plus
Dereference
Address of
Cast to a given type
Return size in bytes
if( !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 selector
ptr->*var = 24;
obj.*var = 24;
*
/
%
Multiplication
Division
Modulus
int i = 2 * 4;
float f = 10 / 3;
int rem = 4 % 3;
+
-
Addition
Subtraction
int i = 2 + 3;
int i = 5 - 1;
<<
>>
Bitwise shift left
Bitwise shift right
int flags = 33 << 1;
int flags = 33 >> 1;
<
<=
>
>=
Comparison less-than
Comparison less-than-or-equal-to
Comparison greater-than
Comparison geater-than-or-equal-to
if( i < 42 ) ...
if( i <= 42 ) ...
if( i > 42 ) ...
if( i >= 42 ) ...
left to right8
==
!=
Comparison equal-to
Comparison not-equal-to
if( i == 42 ) ...
if( i != 42 ) ...
=
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
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 assign
int 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 evaluation operatorfor( i = 0, j = 0; i < 10; i++, j++ ) ...left to right
- C, C++优先级表
- C/C++优先级表
- c语言优先级表
- C优先级
- C优先级
- C优先级
- C优先级
- C优先级
- C优先级
- c优先级
- C 运算符优先级表
- C操作符优先级表
- C运算符优先级表
- C语言 符号优先级表
- c符号优先级表备份
- 【c/c++】运算符优先级
- c运算符优先级参考表
- C语言运算符的优先级表
- java中 Date 转 String 其他方法
- CXO
- 用javascript实现子页刷新父页的控件
- ORACLE物化视图-Query Rewrite的一般理解之一
- 利用SVNListParentPath增加http浏览仓库根目录的功能
- C, C++优先级表
- 数据结构与算法(C#):Collections和泛型
- SQL Server导入数据之"对于所指定的缓冲区来讲太大
- Flex Deep Link(深链接)应用
- to_Char,to_number,to_date用法
- 读书.作文.做人——读《曾国藩教子书》
- 【转】VBNET-运行时处理对象事件(AddHandler和RemoveHandler)
- Linux中的工作队列
- 网路游侠:关于几个免费在线挂马检测网站