
【6日でできるC言語入門】while文・do〜while文
C言語には、while文とdo〜while文という2種類の「条件による繰り返し処理(ループ)」があります。for文と異なり、「回数が決まっていない」または「条件に応じて繰り返し回数が変わる」場合に使われることが多いです。
ここでは、while文・do〜while文の書式や動作、使い分け、違い、注意点を詳しく解説します。

1.while文
1.1. while文の基本と仕組み
while文は、条件式が成立している間だけ処理を繰り返す構文です。
while文の基本書式
while (条件式) {
// 繰り返したい処理
}| 項目 | 説明 |
|---|---|
| 条件式 | 成立している間(True)処理を繰り返す |
| 増減処理 | 本文内で記述する(自動的には増えない) |
サンプルプログラム1:0から4まで表示
プロジェクト/ファイル名: Lesson28_1/main.c
#include <stdio.h>
int main(void) {
int i = 0;
while (i < 5) {
printf("%d ", i);
i++;
}
printf("\n");
return 0;
}実行結果
0 1 2 3 41.2. while文の注意点
- 無限ループに注意:条件式がずっとTrueだと終わらない
- 初期化や増減処理は明示的に書く
2.do〜while文
2.1. do〜while文の基本と仕組み
do〜while文は、必ず1回は処理を実行してから条件判定を行うのが特徴です。
do〜while文の基本書式
do {
// 繰り返したい処理
} while (条件式);| 項目 | 説明 |
|---|---|
| 先に処理 | 必ず1回は処理が実行される。 |
| 条件判定 | 処理の後で条件式を判定 |
サンプルプログラム2:0から4まで表示
プロジェクト/ファイル名: Lesson28_2/main.c
#include <stdio.h>
int main(void) {
int j = 0;
do {
printf("%d ", j);
j++;
} while (j < 5);
printf("\n");
return 0;
}実行結果
0 1 2 3 43. while文とdo〜while文の違い
| 文法 | 最初の条件判定 | 最低1回の処理実行 | 典型的な使い道 |
|---|---|---|---|
| while文 | 実行前 | しない | 条件が成立している間のみ繰返し |
| do〜while文 | 実行後 | する | ユーザー入力待ち等の1回保証 |
サンプルプログラム3:違いが分かる例
プロジェクト/ファイル名: Lesson28_3/main.c
#include <stdio.h>
int main(void) {
int num;
printf("1以上の値を入力してください:");
scanf("%d", &num);
int i = 1;
printf("while文で実行\n");
while (i <= num) {
printf("*");
i++;
}
printf("\ndo~while文で実行\n");
i = 1;
do {
printf("*");
i++;
} while (i <= num);
printf("\n");
return 0;
}実行例1(3を入力)
1以上の値を入力してください:3
while文で実行
***
do~while文で実行
***実行例2(0を入力)
1以上の値を入力してください:0
while文で実行
do~while文で実行
*- while文:条件に合わなければ1回も実行しない
- do〜while文:条件に合わなくても必ず1回は実行
まとめ
- while文は「条件が合う限り繰り返す」構文。事前に条件判定。
- do〜while文は「最低1回は必ず実行」する。事後に条件判定。
- 用途に応じて正しく使い分けましょう。
- 無限ループや増減処理の書き忘れに注意!
while文・do〜while文を使いこなせば、より柔軟なプログラム作成が可能になります。
