The priority of operators in C language has the following rules: for operators of the same priority, the order of operations is determined by the direction of combination. That is, logical non-greater than arithmetic operator greater than relational operator greater than logical AND greater than logical or greater than assignment operator
This article mainly provides a detailed analysis and introduction to the priority of operators in C language. It has It has certain reference value and I hope it will be helpful to everyone.
【Recommended course:C Language Tutorial】
Priority |
Operator |
Name or meaning |
Use form |
Combined direction |
Instructions |
1 |
[] |
Array subscript |
Array name[ Constant expression] |
left to right |
-- |
() |
##Parentheses | (expression)/function name(parameter list) | -- | ||
. | Member selection (object) | Object.Member name | -- | ||
Member selection (pointer) | Object pointer->Member name | -- | |||
- | Negative Sign Operator | -expression | right to left | Unary operator | |
Bitwise negation operator | ~Expression | ||||
Increment operator | Variable name/Variable name | ||||
Decrement operator | --Variable name/Variable name-- | ||||
Value operator | *Pointer variable | ||||
##& | Get address operator | &Variable name | |||
! | Logical NOT operator | !Expression | |||
(Type) | Forced type conversion | (Data type)Expression Formula | -- | ||
length operator | sizeof(expression) | -- | |||
##/ | except | Expression/expression | Left to right | Binary operator | |
Multiply | expression*expression | ||||
Remainder (modulo) | ##Integer expression% Integer expression |
4 | |||
Add |
Expression expression |
Left to right |
Binary operator |
- | |
minus |
expression-expression |
5 | |||
<< |
Shift left |
Variable< ;
|
Left to right |
Binary operator |
##>> |
Shift right | Variable>>Expression | ||||
##6 |
|||||
Greater than | expression>expression | left to right | Binary Operator |
||
>= |
Greater than or equal to |
expression>=expression |
|||
##< | is less than | expression
|
|||
Less than or equal to | expression<=expression | ||||
== | is equal to | expression==expression | Left to Right | binary operator | |
is not equal to | expression! = expression | ||||
& | bitwise AND | Expression & expression | Left to right | Binary operator | |
^ | Bitwise XOR | expression^expression | left to right | binary operator | |
| | bitwise or | Expression|Expression | Left to right | Binary operator | |
&& | logical AND | expression&&expression | Left to right | Binary operator | |
|| | logical OR | expression||expression | Left to right | Binary operator | |
?: | Conditional operator |
Expression 1? Expression 2: Expression 3 |
Right to left |
Ternary operator |
|
14 |
= |
Assignment operator |
Variable =expression |
right to left |
-- |
/= |
Assignment after division |
Variable/=Expression |
-- |
||
*= |
Multiply and assign value |
Variable*=expression |
-- |
||
%= |
Assign value after modulo |
Variable%=expression |
-- |
||
= |
Assignment after addition |
Variable = expression |
-- |
||
-= |
Assignment after subtraction |
Variable-=Expression |
-- |
||
<<= |
Assign after left shift |
Variable<<=expression |
-- |
||
##>>= | Assign value after right shift | Variable>>=Expression | -- | ||
##Assignment after bitwise AND | Variable&=Expression | -- | ##^= | ||
Assignment after bitwise XOR |
Variable^=expression |
-- |
|= | ||
Assignment after bitwise OR |
Variable|=Expression |
-- |
|||
15 | |||||
, |
##comma operator | ##expression,expression,…Left to right | -- | ##Summary: Operators with the same precedence, The order of operations is determined by the binding direction. |
The above is the detailed content of What is the precedence of operators in C language?. For more information, please follow other related articles on the PHP Chinese website!