do-while ステートメントを使用して、指定した式が false になるまでステートメントまたは複合ステートメントを繰り返すことができます。
構文
iteration-statement: dostatementwhile (expression) ;
expression ステートメント内の do-while は、ループの本体が実行された後で評価されます。 したがって、ループの本体は、常に少なくとも 1 回は実行されます。
expression は演算型またはポインター型であることが必要です。 次のように実行されます。
ステートメントの本体が実行されます。
次に、
expressionが評価されます。expressionが false の場合、do-whileステートメントは終了し、制御がプログラムの次のステートメントに渡されます。expressionが true (0 以外) の場合、プロセスは手順 1 から繰り返されます。
do-while ステートメントは、break、goto、または return ステートメントがステートメント本体内で実行されたときにも終了できます。
do-while ステートメントの例を次に示します。
do
{
y = f( x );
x--;
} while ( x > 0 );
この do-while ステートメントでは、y = f( x ); の初期値に関係なく、2 つのステートメント x--; および x が実行されます。 次に、x > 0 が評価されます。
x が 0 より大きい場合、ステートメント本体が再度実行され、x > 0 が再評価されます。
x が 0 より大きい間、ステートメント本体が繰り返し実行されます。
do-while ステートメントの実行は、x が 0 または負になると終了します。 ループの本体は、少なくとも 1 回は実行されます。