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!