C言語のループ処理には、
- for文
- while文
- do-while文
の3種類があります。
その中でも do-while文 は、
必ず1回は処理が実行されるループ という特徴があります。
目次
do-while文とは
do-while文とは、処理を1回実行してから条件判定を行うループ構文です。
👉 while文との一番の違いはここです
基本構文
C
do
{
処理;
} while (条件式);※ 最後にセミコロンが必要なので注意
実行の流れ(ざっくり)
- まず処理を実行
- 条件式を評価
- trueなら繰り返す
- falseなら終了
初心者さんdo-whileってあまり見ないけど必要?



whileでよくないですか?



“必ず1回実行したい”場面ではかなり便利なんだよ



入力チェックとかですね!
通常のwhile文はこちらの記事で解説しています。
あわせて読みたい




while文とは?C言語の繰り返し処理をfor文との違いも含めてわかりやすく解説
C言語では、繰り返し処理を行う方法がいくつかあります。 その中でも while文 は、「条件を満たしている間だけ処理を続ける」構文です。 while文とは while文とは、条件…
ループ処理にはfor文も良く使われます。
あわせて読みたい




for文とは?C言語の繰り返し処理を初心者でも理解できるように解説
C言語では、同じ処理を何度も繰り返したい場面がよくあります。 例えば: 配列の要素を順番に処理する 1〜100までの数値を表示する 条件を満たすまで処理を繰り返す こ…
goto文でもループ処理は可能ですが、現在はあまり使われません。
あわせて読みたい




goto文とは?C言語で非推奨と言われる理由と使うべきでない理由を解説
goto文 概要 C言語には、処理の流れを強制的に移動させる goto文 があります。 しかし現在では、 👉 基本的に使うべきではない構文 とされています。 なぜそう言われる…
C言語文法解説シリーズ
本記事は「C言語文法解説シリーズ」の1つです。
C言語の文法を、組み込み開発の視点も交えて解説しています。
C言語文法解説シリーズ一覧はこちら
あわせて読みたい




C言語文法一覧まとめ|修飾子・型・ポインタ・関数・制御文【解説シリーズ】
C言語文法解説シリーズ C言語はシンプルな言語ですが、修飾子・型・ポインタ・関数・制御文など、理解しておくべき文法が多くあります。 このシリーズでは、C言語の文法…
⭐ 1ループごとの動き(ここが重要)
C
int i = 0;
do
{
printf("%d\n", i);
i++;
} while (i < 3);1回目
- 処理:0を出力
- 更新:i = 1
- 条件:1 < 3 → true
2回目
- 処理:1を出力
- 更新:i = 2
- 条件:2 < 3 → true
3回目
- 処理:2を出力
- 更新:i = 3
- 条件:3 < 3 → false
→ 終了
💡 while文との違い(最重要ポイント)
while文
C
int i = 5;
while (i < 3)
{
printf("実行される?\n");
}👉 1回も実行されない
do-while文
C
int i = 5;
do
{
printf("必ず1回実行される\n");
} while (i < 3);👉 条件がfalseでも1回は実行される
🎯 使いどころ
do-while文が向いている場面
- 最低1回は処理したい
- 入力チェック(再入力させる)
例:入力チェック
C
int input;
do
{
printf("1〜10を入力してください: ");
scanf("%d", &input);
} while (input < 1 || input > 10);👉 条件を満たすまで繰り返す
breakとcontinue
break(ループ終了)
C
do
{
if (条件)
break;
} while (1);continue(注意ポイント)
C
int i = 0;
do
{
i++;
if (i == 2)
continue;
printf("%d\n", i);
} while (i < 5);👉 continueするとそのまま条件判定へ進む
breakとcontinueの違いの詳細はこちらの記事で解説しています。
あわせて読みたい




breakとcontinueの違いとは?C言語のループ制御を初心者でもわかりやすく解説
C言語では、for文やwhile文などのループ処理の途中で、処理の流れを変えたい場面があります。 そのときに使うのが、 break continue です。 一見似ていますが、動きはま…
⚠️ よくあるミス
セミコロンを忘れる
C
do
{
printf("Hello\n");
} while (条件) // ← セミコロン忘れ👉 コンパイルエラー
まとめ
- do-whileは後判定ループ
- 必ず1回は処理が実行される
- while文とは実行タイミングが違う
- 入力チェックなどで活躍
この記事が参考になった方へ
制御構文を含むC言語の基本文法をこちらの記事で整理しています。
あわせて読みたい




C言語文法一覧まとめ|修飾子・型・ポインタ・関数・制御文【解説シリーズ】
C言語文法解説シリーズ C言語はシンプルな言語ですが、修飾子・型・ポインタ・関数・制御文など、理解しておくべき文法が多くあります。 このシリーズでは、C言語の文法…
技術に関するご相談・開発・自動化ツール作成・記事執筆などのご依頼も承っています。
小さなご相談からでもお気軽にご連絡ください。

コメント