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文について、基本構文・1ループごとの動き・for文との違い・無限ループの注意点まで初心者向けに解説します。
ループ処理にはfor文も良く使われます。
エンジニアノート




for文とは?C言語の繰り返し処理を初心者向けにわかりやすく解説
C言語のfor文について、基本構文・1ループごとの動き・while文との違いまで初心者向けにわかりやすく解説します。
goto文でもループ処理は可能ですが、現在はあまり使われません。
エンジニアノート




goto文とは?C言語で非推奨と言われる理由と使うべきでない理由を解説
C言語のgoto文について、基本構文・なぜ非推奨なのか・実務での例外的な使い方まで初心者向けにわかりやすく解説します。
C言語文法解説シリーズ
本記事は「C言語文法解説シリーズ」の1つです。
C言語の文法を、組み込み開発の視点も交えて解説しています。
C言語文法解説シリーズ一覧はこちら
エンジニアノート




C言語文法一覧まとめ|修飾子・型・ポインタ・関数・制御文【解説シリーズ】
C言語の文法を一覧で整理したまとめ記事です。static・const・volatile・extern・typedef・struct・enum・unionなど、基本キーワードを分かりやすく解説。シリーズ記事を随…
⭐ 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言語のbreakとcontinueについて、違い・動き・while文での注意点まで初心者向けにわかりやすく解説します。
⚠️ よくあるミス
セミコロンを忘れる
C
do
{
printf("Hello\n");
} while (条件) // ← セミコロン忘れ👉 コンパイルエラー
まとめ
- do-whileは後判定ループ
- 必ず1回は処理が実行される
- while文とは実行タイミングが違う
- 入力チェックなどで活躍
この記事が参考になった方へ
制御構文を含むC言語の基本文法をこちらの記事で整理しています。
エンジニアノート




C言語文法一覧まとめ|修飾子・型・ポインタ・関数・制御文【解説シリーズ】
C言語の文法を一覧で整理したまとめ記事です。static・const・volatile・extern・typedef・struct・enum・unionなど、基本キーワードを分かりやすく解説。シリーズ記事を随…
技術に関するご相談・開発・自動化ツール作成・記事執筆などのご依頼も承っています。
小さなご相談からでもお気軽にご連絡ください。









コメント