do-while文
概要
do-while文は、
C言語や類似の
プログラミング言語における
制御構造の一つで、繰り返し処理を行うために使用されます。この文は、まず実行すべき処理を1回行った後に条件を評価し、その条件が
真である限り、処理を繰り返します。この特性によって、少なくとも一度は処理が実行されることが保証されます。
基本的な動作
C言語におけるdo-while文は次のような基本的な流れで動作します。
1. 「文」を実行します。
2. 続いて「条件」を評価します。
3. 条件が
真であれば、1に戻り、処理が続行されます。条件が偽であれば、ループを終了します。
このため、最初から条件が偽の場合でも、処理は一度は必ず実行されることがポイントです。
ループの本体が複数の文から成る場合、ブロック(複文)を使い、波括弧 `{}` で囲むことが可能です。
構文
C言語でのdo-while文の基本的な構文は以下の通りです。
```c
do {
// 実行する文
} while (条件);
```
この構文において、`// 実行する文`の部分がループ内で行われる処理を記述します。そして`条件`には、ループを継続するかどうかの判断を行う式を記載します。
プログラム例
以下は、
C言語におけるdo-while文の例です。
```c
include
int main() {
int x = 0;
do {
x += 1;
printf("x = %d
", x);
} while (x < 3);
return 0;
}
```
このプログラムでは、変数 `x` が最初にインクリメントされ、その後 `x < 3` という条件が評価されます。条件が
真である限り、処理が繰り返され、`x` が3になるとループを脱出します。実行結果として「x = 1」「x = 2」「x = 3」という出力が得られます。
C言語以外の言語でも、do-whileに類似した構文が存在しますが、構造は言語によって異なります。たとえば、
Pascal言語では「repeat-until」という構文を使用し、条件が成立したときにループを終了します。この構文では継続条件が反転されるため、注意が必要です。また、Fortran言語(Fortran 90以降)にもdo-whileに相当する文が存在しますが、
C言語とは異なり、条件は前に配置されます。
分岐文について
do-while文でも、break文やcontinue文などの分岐文が使用できます。break文はループを強制的に終了させ、continue文はループの最後に移行し、新しい条件評価を行います。これにより、動的なループ制御が可能となります。
まとめ
do-while文は、最低1回の実行が保証されるため、条件に応じた繰り返し処理に非常に適しています。各言語での実装が異なるため、状況に応じて適切な構文を選ぶことが重要です。プログラムの意図にあった制御文を理解し、効果的に活用しましょう。