do ステートメント は、テスト式の評価が false (または C では 0) になるまで繰り返しステートメントを実行します。プロセッシングの順序のため、ステートメントは少なくとも 1 度は実行されます。
do ステートメントの形式は、次のとおりです。
>>-do--statement--while--(--expression--)--;-------------------><
制御する expression は、型 bool に変換可能でなければなりません。
expression は、算術型またはポインター型でなければなりません。
制御する while 文節が評価される前に、ループの本体が実行されます。 それ以降の do ステートメントの処理は、while 文節の値によって決まります。 while 文節が false に評価されない場合は、再度ステートメントが実行されます。while 文節の評価が false になると、ステートメントは終了します。
break、return、または goto 文は、while 文節が false に評価されなくても、do ステートメントの処理を終了させることができます。
throw 式により、状態が評価される前に、
while ステートメントが終了することがあります。
do ステートメントの例
次の例では、i が 5 より小さい間は、i を増分し続けます。
#include <stdio.h> int main(void) { int i = 0; do { i++; printf("Value of i: %d¥n", i); } while (i < 5); return 0; }
次に、上記の例の出力を示します。
Value of i: 1 Value of i: 2 Value of i: 3 Value of i: 4 Value of i: 5
関連参照