Sheet3
Sheet2
Sheet1
Precedence
Operator
Description
Example
Associativity
()
[]
->
.
::
++
--
Groupingoperator
Arrayaccess
Memberaccessfromapointer
Memberaccessfromanobject
Scopingoperator
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--)...
lefttoright
!
~
-
+
&
(type)
sizeof
Logicalnegation
Bitwisecomplement
Pre-increment
Pre-decrement
Unaryminus
Unaryplus
Dereference
Addressof
Casttoagiventype
Returnsizeinbytes
if(!done)...
flags=~flags;
for(i=0;i<10;++i)...
for(i=10;i>0;--i)...
inti=-1;
inti=+1;
data=ptr;
address=&obj;
inti=(int)floatNum;
intsize=sizeof(floatNum);
righttoleft
->
.
Memberpointerselector
ptr->var=24;
obj.var=24;
/
%
Multiplication
Division
Modulus
inti=24;
floatf=10/3;
intrem=4%3;
Addition
Subtraction
inti=2+3;
inti=5-1;
<<
>>
Bitwiseshiftleft
Bitwiseshiftright
intflags=33<<1;
intflags=33>>1;
<
<=
>
>=
Comparisonless-than
Comparisonless-than-or-equal-to
Comparisongreater-than
Comparisongeater-than-or-equal-to
if(i<42)...
if(i<=42)...
if(i>42)...
if(i>=42)...
==
!=
Comparisonequal-to
Comparisonnot-equal-to
if(i==42)...
if(i!=42)...
BitwiseAND
flags=flags&42;
^
BitwiseexclusiveOR
flags=flags^42;
|
Bitwiseinclusive(normal)OR
flags=flags|42;
&&
LogicalAND
if(conditionA&&conditionB)...
||
LogicalOR
if(conditionA||conditionB)...
?:
Ternaryconditional(if-then-else)
inti=(a>b)?a:b;
=
+=
-=
=
/=
%=
&=
^=
|=
<<=
>>=
Assignmentoperator
Incrementandassign
Decrementandassign
Multiplyandassign
Divideandassign
Moduloandassign
BitwiseANDandassign
BitwiseexclusiveORandassign
Bitwiseinclusive(normal)ORandassign
Bitwiseshiftleftandassign
Bitwiseshiftrightandassign
inta=b;
a+=3;
b-=4;
a=5;
a/=2;
a%=3;
flags&=new_flags;
flags^=new_flags;
flags|=new_flags;
flags<<=2;
flags>>=2;
,
Sequentialevaluationoperator
for(i=0,j=0;i<10;i++,j++)...
.00
.00
.00
.00
.00
.00
.00
.00
.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
|
|