C Now

C Expression Syntax

Site Logo
expression  ::=  assignment-expression ( , assignment-expression )
assignment-expression  ::=  conditional-expression
| unary-expression assignment-operator assignment-expression
conditional-expression  ::=  logical-OR-expression
| logical-OR-expression ? expression : conditional-expression
logical-OR-expression  ::=  logical-AND-expression
| ( logical-OR-expression || logical-AND-expression )
logical-AND-expression  ::=  inclusive-OR-expression
| ( logical-AND-expression && inclusive-OR-expression )
inclusive-OR-expression  ::=  exclusive-OR-expression
| ( inclusive-OR-expression | exclusive-OR-expression )
exclusive-OR-expressio  ::=  AND-expression
| ( exclusive-OR-expression ^ AND-expression )
AND-expression  ::=  equality-expression
| ( AND-expression & equality-expression )
equality-expression  ::=  relational-expression
| ( equality-expression == relational-expression )
| ( equality-expression != relational-expression )
relational-expression  ::=  shift-expression
| ( relational-expression < shift-expression )
| ( relational-expression > shift-expression )
| ( relational-expression <= shift-expression )
| ( relational-expression >= shift-expression )
shift-expression  ::=  additive-expression
| ( shift-expression << additive-expression )
| ( shift-expression >> additive-expression )
additive-expression  ::=  multiplicative-expression
| ( additive-expression + multiplicative-expression )
| ( additive-expression - multiplicative-expression )
multiplicative-expressio  ::=  cast-expression
| ( multiplicative-expression * cast-expression )
| ( multiplicative-expression / cast-expression )
| ( multiplicative-expression % cast-expression )
cast-expression  ::=  unary-expression
| ( ( type-name ) cast-expression )
unary-expression  ::=  postfix-expression
| ( ++ unary-expression )
| ( -- unary-expression )
| ( unary-operator cast-expression )
| ( sizeof unary-expression )
| ( sizeof ( type-name ) )
unary-operator  ::=  & | * | + | - | ~ | !
postfix-expression  ::=  primary-expression
| ( postfix-expression [ expression ] )
| ( postfix-expression ( ( argument-expression-list | ε ) ) )
| ( postfix-expression . identifier )
| ( postfix-expression -> identifier )
| ( postfix-expression ++ )
| ( postfix-expression -- )
primary-expression  ::=  identifier | literal | ( expression )
argument-expression-list  ::=  assignment-expression ( , assignment-expression )
C Translation Unit Syntax  C Translation Unit Syntax
C Declaration Syntax  C Declaration Syntax
C Statement Syntax  C Statement Syntax
Summary of Expressions  Summary of Expressions  Microsoft
C Now Home  C Now Home
Syntax Index  Syntax Index
E-Mail
Valid HTML 4.01 Transitional Valid CSS! Site Logo

copyright 1999-2006, j.h.young, revised 2/13/06

C Translation Unit Syntax / C Declaration Syntax / C Statement Syntax / Summary of Expressions /