Priority 1-Special symbol "" (). 2-monocular operation + +--! ~ & * (type) sizeof ()-3-Binocular operation 1) arithmetic operation +-*/% 2) shift operation 3) relational Operation 4) bitwise operation 5) Logical Operation 4-three mesh operation 5-assignment Operation 6-comma operation
Priority level |
Operator |
Name or meaning |
Use form |
Combination direction |
Description |
1 |
[] |
Array subscript |
Array name [constant expression ] |
Left to right |
|
() |
Parentheses |
(expression)/function name (formal parameter list ) |
|
. |
Member selection (object) |
Object . Member name |
|
- |
Member selection (pointer) |
Object pointers, member names |
|
2 |
- |
Minus sign operator |
-expression |
Right to Left |
Monocular operator |
(Type ) |
Forcing type conversions |
(data type ) expression |
|
++ |
Self-increment operator |
+ + variable name /variable name + + |
Monocular operator |
-- |
Self-decrement operator |
--Variable name /variable name -- |
Monocular operator |
* |
Value operator |
* Pointer variable |
Monocular operator |
& |
Fetch address operator |
& Variable Name |
Monocular operator |
! |
Logical non-operator |
! An expression |
Monocular operator |
~ |
Bitwise inverse operator |
~ Expression |
Monocular operator |
sizeof |
Length operator |
sizeof (expression ) |
|
3 |
/ |
Except |
An expression /expression |
Left to right |
Binocular operator |
* |
By |
Expression-expression * |
Binocular operator |
% |
Remainder (modulo) |
Integer expression /integer expression |
Binocular operator |
4 |
+ |
Add |
An expression + an expression |
Left to right |
Binocular operator |
- |
Reducing |
Expression -expression |
Binocular operator |
5 |
<< |
Move left |
Variables << Expressions |
Left to right |
Binocular operator |
>> |
Move right |
Variables >> Expressions |
Binocular operator |
6 |
> |
Greater than |
Expressions > Expressions |
Left to right |
Binocular operator |
>= |
Greater than or equal |
Expression- >= expression |
Binocular operator |
< |
Less than |
Expressions < Expressions |
Binocular operator |
<= |
Less than or equal |
Expression- <= expression |
Binocular operator |
7 |
== |
Equals |
Expression- = = Expression |
Left to right |
Binocular operator |
!= |
Not equal to |
Expression! = Expression |
Binocular operator |
8 |
& |
Bitwise-AND |
Expressions & Expressions |
Left to right |
Binocular operator |
9 |
^ |
Bitwise XOR OR |
An expression ^ expression |
Left to right |
Binocular operator |
10 |
| |
Bitwise OR |
Expression- expression |
Left to right |
Binocular operator |
11 |
&& |
Logic and |
Expressions && Expressions |
Left to right |
Binocular operator |
12 |
|| |
Logical OR |
An Expression | | An expression |
Left to right |
Binocular operator |
13 |
?: |
Conditional operators |
Expression 1-expression 2: Expression 3 |
Right to Left |
Trinocular operator |
14 |
= |
Assignment operators |
Variable = Expression |
Right to Left |
|
/= |
Assign value after addition |
Variable -/= expression |
|
*= |
Multiply post-Assign value |
Variable -*= expression |
|
%= |
Assign value after modulo |
Variable -%= expression |
|
+= |
Add after Assignment |
Variable + = Expression |
|
-= |
Reduced-value Assignment |
Variable -= Expression |
|
<<= |
Assign value after left shift |
Variable -<<= expression |
|
>>= |
Assign value after right shift |
Variable ->>= expression |
|
&= |
Bitwise AND post-assigned values |
Variable -&= expression |
|
^= |
Bitwise XOR or post-assignment |
Variable -^= expression |
|
|= |
Bitwise OR post-assigned value |
Variable -|= expression |
|
15 |
, |
Comma operator |
Expression , expression ,... |
Left to right |
Left-to-right sequential operation |
Embedded Basics-C language (3)-Priority