while ステートメント は、制御式の評価が false (または C では 0) になるまで、ループの本体を繰り返し実行します。
while ステートメントの形式は、次のとおりです。
>>-while--(--expression--)--statement--------------------------><
expression は、算術型またはポインター型でなければなりません。
式は評価されて、ループの本体を処理するかどうかを判別します。
expression は、bool に変換可能なものでなければなりません。
式の評価が false の場合、ループの本体は実行されません。 式が false に評価されないと、ループ本体は処理されます。 本体が実行された後、制御は式に戻されます。 それ以降の処理は、条件の値によって決まります。
break、return、または goto 文があると、条件の評価が false でない場合でも、while ステートメントを終了できます。
throw 式により、状態が評価される前に、
while ステートメントが終了することがあります。
while ステートメントの例
次のプログラムでは、式 ++index の値が MAX_INDEX より小さい間は、 item[index] は 3 倍され、印刷されます。 ++index の評価が MAX_INDEX になると、while ステートメントは終了します。
/** ** This example illustrates the while statement. **/ #define MAX_INDEX (sizeof(item) / sizeof(item[0])) #include <stdio.h> int main(void) { static int item[ ] = { 12, 55, 62, 85, 102 }; int index = 0; while (index < MAX_INDEX) { item[index] *= 3; printf("item[%d] = %d¥n", index, item[index]); ++index; } return(0); }
関連参照