C.6 Statements

statement:
labeled-statement
expression-statement
compound-statement
selection-statement
iteration-statement
jump-statement
declaration-statement

asm-statement

labeled-statement:
identifier
: statement
case constant-expression : statement
default : statement

expression-statement:
expression
opt ;

compound-statement:
{ statement-listopt }

statement-list:
statement
statement-list statement

selection-statement:
if ( expression ) statement
if ( expression ) statement else statement switch ( expression ) statement

iteration-statement:
while ( expression ) statement
do statement while ( expression ) ;
for ( for-init-statement expressionopt ; expressionopt ) statement

for-init-statement:
expression-statement
declaration-statement

jump-statement:
break ;
continue ;
return
expressionopt ;
goto identifier ;

declaration-statement:
declaration