文 (statement) †
特に規定がない限り、文は記述した順に実行される。
文:
ラベル付き文
式文
複合文
選択文
繰返し文
飛越し文
宣言文
監視ブロック
ラベル付き文 (labeled statement) †
ラベル付き文:
識別子 : 文
case 定数式 : 文
default : 文
識別子のラベルは、その識別子の宣言を行う。ラベルの有効範囲はそれが宣言された関数の中に限られる (入れ子になった複合文の中で宣言されたラベルであっても、有効範囲は関数全体に及ぶ) 。また、ラベルは専用の名前空間をもつため、他の識別子と (同じ名前を用いたとしても) 干渉することはない。 識別子のラベルは、goto 文の飛び先としてのみ使用することができる。
case ラベルおよび default ラベルは switch 文の中になければならない。
ラベルは、ラベル付き文としてのみ記述することができる。したがって、複合文の末尾等で、ラベルを単独で記述することはできない。
式文 (expression statement) †
式文は、式を評価?し、その結果を捨てる。式文中の式には、いくつかの標準変換(左辺値から右辺値への標準変換、配列からポインタへの標準変換および関数からポインタへの標準変換)は適用されない。式文のすべての副作用は、その次の文の実行開始より前に完了する(式文の直後は副作用完了点である)。式を伴わない式文のことを、特に空文という。
空文 (null statement) †
式を伴わない式文のこと。
空文は複合文の末尾にラベルをおく場合、および繰返し文に空の本体を置くためなどに使うことができる。
複合文 (compound statement) †
複合文:
{ 文列 opt }
文列:
文
文列 文
文列は、特に規定がない限り、記述された順に実行される。複合文は、その中に局所的な有効範囲を定める。
選択文 (selection statement) †
選択文:
if ( 条件 ) 文
if ( 条件 ) 文 else 文
switch ( 条件 ) 文
if 文 †
if ( 条件 ) 文
if ( 条件 ) 文 else 文
switch 文 †
switch ( 条件 ) 文
繰返し文 (iteration statement) †
繰返し文:
while ( 条件 ) 文
do 文 while ( 条件 ) ;
for ( for初期文 ; 条件 opt ; 式 opt ) 文
while 文 †
while ( 条件 ) 文
do 文 †
do 文 while ( 条件 ) ;
for 文 †
for ( for初期文 ; 条件 opt ; 式 opt ) 文
飛越し文 (jump statement) †
飛越し文:
break ;
continue ;
return 式 opt ;
goto 識別子 ;
break 文 †
break ;
break 文は、switch 文または繰返し文の中にだけ置くことができる。break 文が実行されると、それを取り囲む最も内側の switch 文または繰返し文は終了し、その終了した文に続く文があれば、その文に制御が移る。
continue 文 †
return 文 †
goto 文 †
条件 (condition) †
条件の中の宣言子?には、配列や関数を指定することはできない。また、型指定子列?では、typedef や新たなクラスや列挙体?の宣言?を行うことはできない。
宣言文 (declaration statement) †
Last-modified: Wed, 18 Jan 2006 19:57:37 JST (5476d)