C言語で、繰り返し処理を行いたい時にwhile文を使用します。書式は以下のとおりです。
C言語で繰り返し処理を行いたい場合はwhile文を使用します。while文の構文、break、continueの使い方について説明します。
C言語で、繰り返し処理を行いたい時にwhile文を使用します。書式は以下のとおりです。
while (式) 文;
while文では、まず括弧内の式が評価されます。もし真ならば、文が実行されます。そして再び式が評価され、真であれば再び文が実行されます。式の評価結果が偽の場合は、文は実行されず、whileループの次にある処理が実行されます。
ループの本体は複数の文でもかまいません。その時は{}で括ります。
while (式) {
文;
文;
:
}
while文の括弧内でループの継続条件が評価され偽ならばループを抜けますが、それ以外の時でもループを抜けたい時があります。その時はbreak文を使用します。例を下記に示します。
while (1) {
/* 処理 */
if (end_flag) {
/* 終了条件に一致したら、その時点でループから抜けることもできる */
break;
}
/* 処理 */
}
continue文はループの中で使用されます。continueが実行されると、ループ処理は途中で打ち切られ、ループの継続条件が評価され、真なら次のループ処理が先頭から実行されます。偽ならば、whileループの後の処理へと進みます。
continueの使用例を下記に示します。
i = 0;
while (i<n) {
if (ok_flag[i]) {
/* 実行が可能かの配列を参照 */
/* 実行不可なら以降の処理を行わず次のループ処理へ */
i++;
continue;
}
/* 処理 */
i++;
}
while文と似ている処理でdo-while文があります。書式は以下の通りです。
do 文; while (式);
do-while文では、まず文が実行されます。そして式が評価されます。式が真ならば再度、文が実行されます。繰り返し処理は式が偽になるまで続きます。文が複数の場合は、{}で括ります。do-while文は、最低でも1回は文が実行されるという特徴があります。