【2026年8月最新】C言語のwhile文・do-while文の使い方完全ガイド|break・continue文の使い分けとよくある間違い

【2026年7月最新】C言語のwhile文・do-while文の使い方完全ガイド|break・continue文の使い分けとよくある間違い

「while文とdo-while文って、結局何が違うの?」「break文とcontinue文の使い分けがいまいち分からない」——C言語の学習でループ処理につまずく人は非常に多く、実はプログラマー経験者でも改めて説明しようとすると言葉に詰まることがあるテーマです。

この記事では、C言語のwhile文・do-while文の基本構文から、ループを制御するbreak文・continue文、複数条件の組み合わせ方、while(1)による無限ループの作り方と安全な終了方法まで、実際に動かして確認できるコード例つきで解説します。

AI鬼管理山崎 AI鬼管理山崎
C言語の入門でつまずきやすいのが、まさにこの「ループ処理」の章です。今日は実際に手を動かしながら理解できるよう、コードと実行結果をセットで見ていきます。プログラミング未経験の方でも読み進められる構成にしています。
代表菅澤 代表菅澤
弊社は広告代理店・業務自動化支援の会社で、社員の大半は非エンジニアです。それでも社内でコードのレビュー観点くらいは共有できるよう、基礎構文の勉強会を定期的にやっています。この記事はその勉強会の資料をベースに再構成しました。

この記事を最後まで読むと、次の6つが明確になります。

✔️while文の基本構文と、条件式がtrue/falseになる仕組み
✔️do-while文とwhile文の違い(条件判定のタイミングの違い)
✔️break文・continue文それぞれの役割と、混同したときに起きるバグ
✔️&&・||・!を使った複数条件の組み合わせ方
✔️while(1)による無限ループの作り方と、安全に終了させる方法
✔️非エンジニアがコードを完全に書けなくても、業務でループ処理の考え方を活かす方法
Claude Code 完全解説セミナー|経営者・会社役員専用 1on1 60分 無料Claude Codeを経営に活かしたい方へ — AI鬼管理
📌 この記事の結論
【2026年8月最新】C言語のwhile文・do-while文の使い方完全ガイド|break・continue文の使い分けとよくある間違い
C言語のwhile文とdo-while文の違い、break・continue文の使い方をコード例付きで解説。無限ループの作り方から非エンジニアが知っておきたい活用のポイントまで紹介します。

01 while文とは?基本構文と動作の仕組み 「条件を満たす間、繰り返す」という考え方を理解する

while文は、C言語における繰り返し処理(ループ)の基本構文の1つです。「ある条件式がtrue(真)である間、処理を繰り返し実行し続ける」というシンプルな仕組みで動きます。基本構文は以下の通りです。

while (条件式) {
    // 条件式がtrueの間、繰り返し実行される処理
}

📚 用語解説

条件式:true(真)またはfalse(偽)のどちらかに評価される式のこと。「i < 5」のような比較演算子を使った式が代表的です。while文は、この条件式がtrueの間だけループを繰り返します。

while文の動きを言葉で説明すると、以下の4ステップの繰り返しになります。

①条件式を評価
true/falseを
判定
②true なら
{ }内の処理を
1回実行
③処理後、①に戻る
再び条件式を
評価
④false でループ終了
{ }の次の行に
処理が進む

重要なポイントは、条件式の評価が「処理を実行する前」に行われることです。つまり、最初から条件式がfalseであれば、while文の中身は一度も実行されません。この性質は、次の章で解説するdo-while文との違いに直結します。

📚 用語解説

変数:値を入れておく箱のようなもの。名前をつけておき、後から値を読み書きできます。「int i = 0;」は「iという名前の整数(int)の変数を用意し、初期値0を入れる」という意味です。

代表菅澤 代表菅澤
経営の比喩で言うと、while文は「毎週の会議で、ある指標が目標値に達するまで施策を続ける」という運用に近いです。条件(目標達成)を満たすまで同じ処理(施策の実行)を繰り返す、という発想はビジネスでもよく使う考え方ですよね。

02 while文の使い方(サンプルコード付き) 実際にコードを動かして、繰り返し処理の流れを確認する

実際にwhile文を使ったサンプルコードで動きを確認しましょう。以下は「0から数えて、条件を満たす間だけ処理を繰り返す」典型的な例です。

#include <stdio.h>

int main(void) {
    int i = 0;
    while (i < 5) {
        printf("%d回目の処理です\n", i + 1);
        i++;  // iを1増やす(これを忘れると無限ループになる)
    }
    return 0;
}

実行結果

1回目の処理です
2回目の処理です
3回目の処理です
4回目の処理です
5回目の処理です

このコードでは、変数iを0から始めて、i < 5という条件式がtrueである間だけ処理を繰り返しています。ループの中でi++(iに1を足す処理)を実行しているため、iは0→1→2→3→4と増えていき、iが5になった時点で条件式がfalseになりループが終了します。

💡 迷ったらまずwhile文から

「回数があらかじめ決まっている繰り返し」はfor文、「ある条件を満たす間だけ繰り返したい」場合はwhile文、「最低1回は実行してから条件を判定したい」場合はdo-while文、と覚えておくと使い分けに迷いにくくなります。

2-1. while文でよくある活用パターン

while文は「回数が事前に分からない繰り返し」で特に力を発揮します。たとえば、以下のような場面です。

✔️入力チェック:ユーザーが正しい値を入力するまで、確認を繰り返す
✔️データの探索:目的の値が見つかるまで、配列やリストを順番に確認する
✔️リトライ処理:通信エラーが起きた場合、成功するか上限回数に達するまで再試行する
✔️集計処理:ある合計値が目標を超えるまで、データを1件ずつ加算していく
AI鬼管理山崎 AI鬼管理山崎
for文は「0から9まで」のように回数が決まっている繰り返しに向いていますが、while文は「合格するまで」「見つかるまで」のように終了のタイミングが実行してみないと分からない処理に向いています。両者は書き換え可能なケースも多いですが、この使い分けの感覚を持っておくとコードの意図が伝わりやすくなります。

03 do-while文の使い方|whileとの違い 「最低1回は実行してから条件を確認する」ループ

do-while文はwhile文の仲間ですが、条件式を評価するタイミングが「処理の後」という点が決定的に異なります。基本構文は以下の通りです。

do {
    // 条件に関わらず、最低1回は実行される処理
} while (条件式);  // 末尾にセミコロンが必須
⚠️ do-while文のセミコロン忘れに注意

do-while文は唯一「while(条件式);」の末尾にセミコロンが必要な構文です。忘れるとコンパイルエラーになります。通常のwhile文(do-whileではない方)にはセミコロンが不要なため、混同して書き忘れる初心者は少なくありません。

do-while文とwhile文の違いを、実際のコードで比較してみましょう。以下は「変数iの初期値が条件を満たさない場合」に、両者でどう挙動が変わるかを示す例です。

// while文の場合
int i = 10;
while (i < 5) {
    printf("この行は実行されません\n");
}
printf("while文終了\n");

// do-while文の場合
int j = 10;
do {
    printf("この行は必ず1回実行されます(j=%d)\n", j);
} while (j < 5);
printf("do-while文終了\n");

実行結果

while文終了
この行は必ず1回実行されます(j=10)
do-while文終了

📚 用語解説

コンパイラ:人間が書いたC言語のソースコードを、コンピュータが実行できる形式(機械語)に変換するソフトウェア。文法の間違い(セミコロンの付け忘れなど)があると、コンパイルの段階でエラーとして教えてくれます。

この例では、変数iもjも初期値10で、条件式は「5未満」なので最初からfalseです。while文の中身は一度も実行されませんが、do-while文は条件に関わらず必ず1回は実行されます。この違いを理解しているかどうかで、意図しないバグを防げるかが変わってきます。

3-1. do-while文が向いている場面

do-while文は「最低1回は処理を実行したうえで、続けるかどうかを判定したい」場面で使われます。代表例は以下の通りです。

✔️メニュー表示:まずメニューを1回表示してから、「終了」が選ばれるまで繰り返す
✔️入力の再確認:まず1回値を受け取ってから、正しい値かどうかを判定する
✔️初回実行が前提の処理:少なくとも1回は必ず動かす必要がある集計・チェック処理
代表菅澤 代表菅澤
実務のイメージだと、do-while文は「まず1回やってみて、結果を見てから続けるか判断する」という進め方に近いです。逆にwhile文は「そもそも条件を満たしていなければ最初から手をつけない」という発想。どちらもビジネスの意思決定でよくあるパターンですよね。
Claude Code 完全解説セミナー|経営者・会社役員専用 1on1 60分 無料Claude Codeを経営に活かしたい方へ — AI鬼管理

04 break文でループを途中終了する方法 条件を満たした瞬間にループを抜ける

break文は、ループの実行中に、その場でループ全体を強制終了させる命令です。while文・do-while文・for文のいずれでも使えます。「目的の値が見つかったら、それ以上探す必要はないので即座にやめる」といった処理でよく使われます。

#include <stdio.h>

int main(void) {
    int scores[] = {65, 72, 58, 91, 84};
    int i = 0;
    int found = -1;

    while (i < 5) {
        if (scores[i] >= 90) {
            found = i;
            break;  // 90点以上を見つけたら即座にループを抜ける
        }
        i++;
    }

    if (found != -1) {
        printf("配列の%d番目(0から数えて)に90点以上のスコア(%d点)が見つかりました\n", found, scores[found]);
    }
    return 0;
}

実行結果

配列の3番目(0から数えて)に90点以上のスコア(91点)が見つかりました

📚 用語解説

配列:複数の値を1つの変数名でまとめて管理する仕組み。「scores[0]」「scores[1]」のように、番号(添字)で各要素にアクセスします。添字は0から始まるため、5個の要素があれば添字は0〜4になります。

このコードでは、配列scoresを先頭から順に確認し、90点以上のスコアが見つかった時点でbreak文が実行され、そこから先の要素は確認せずにループを抜けます。もしbreak文がなければ、90点以上が見つかった後も配列の最後まで無駄に確認を続けてしまいます。

💡 breakは「もう探す必要がない」ことをコードで表現する

目的の値が見つかったのにループを続けるのは無駄な処理です。break文を使うことで「これ以上探索する必要がない」という意図をコードで明確に表現でき、処理速度の面でも無駄な繰り返しを省けます。

AI鬼管理山崎 AI鬼管理山崎
業務でたとえるなら、100件の見積書を1件ずつチェックしていて、目的の不備が1件見つかった時点で「もう十分、報告に上げよう」と作業を打ち切るイメージです。break文は「これ以上続ける意味がない」と判断した瞬間に処理を止める仕組みです。

05 continue文で特定の処理だけスキップする方法 ループは止めずに、今回の処理だけ飛ばす

continue文は、break文とよく混同されますが、意味は全く異なります。continue文は「今回の周回に残っている処理だけをスキップして、次の周回に進む」命令です。ループそのものは終了しません

#include <stdio.h>

int main(void) {
    int i = 0;
    while (i < 10) {
        i++;
        if (i % 2 != 0) {
            continue;  // 奇数の場合はここでスキップして次のループへ
        }
        printf("%d は偶数です\n", i);
    }
    return 0;
}

実行結果

2 は偶数です
4 は偶数です
6 は偶数です
8 は偶数です
10 は偶数です

このコードは、1〜10の数値のうち奇数のときだけcontinue文でスキップし、偶数のときだけprintf文(画面に表示する命令)を実行しています。continue文が実行されても、iが10未満である限りループ自体は継続する点がbreak文との大きな違いです。

⚠️ break文とcontinue文の混同に注意

break文は「ループ全体を終了する」命令、continue文は「今回の周回だけスキップして次に進む」命令です。この2つを取り違えると、想定より早くループが終わったり、逆に想定より多くの処理が実行されたりするバグの原因になります。

5-1. breakとcontinueの違いを一言で

break文は「作業を打ち切って帰る」、continue文は「今回の作業だけ省略して、次の作業に進む」というイメージで覚えると区別しやすくなります。どちらも「ループの流れを途中で変える」命令ですが、ループ自体を終わらせるかどうかが最大の違いです。

代表菅澤 代表菅澤
弊社の議事録要約フローでも同じ発想を使っています。「発言者不明の断片データは今回の集計対象からスキップ(continueに相当)」「そもそも録画データが存在しない会議は処理自体を打ち切る(breakに相当)」というルールを組んでいて、この2つを混同すると集計結果がずれるので厳密に区別しています。

06 複数条件(&&・||・!)を組み合わせる書き方 1つの条件式で複数の判定を同時に行う

while文の条件式は、1つの比較だけでなく論理演算子を使って複数の条件を組み合わせることができます。C言語で使う代表的な論理演算子は以下の3つです。

📚 用語解説

論理演算子:複数の条件式を組み合わせるための記号。&&(AND)は両方ともtrueなら全体もtrue、||(OR)はどちらか一方でもtrueなら全体もtrue、!(NOT)は真偽を反転させます。

演算子意味説明
&&AND(かつ)a < 10 && b > 0aが10未満 かつ bが0より大きい場合にtrue
||OR(または)a < 10 || b > 0aが10未満 または bが0より大きい場合にtrue
!NOT(否定)!(a < 10)aが10未満でない場合にtrue(a >= 10と同じ意味)
#include <stdio.h>

int main(void) {
    int temperature = 28;
    int humidity = 75;

    while (temperature < 30 && humidity < 80) {
        printf("快適な範囲です(気温%d℃, 湿度%d%%)\n", temperature, humidity);
        temperature++;
        humidity += 3;
    }
    printf("条件から外れたためループを終了しました\n");
    return 0;
}

実行結果

快適な範囲です(気温28℃, 湿度75%)
快適な範囲です(気温29℃, 湿度78%)
条件から外れたためループを終了しました

このコードでは、気温が30℃未満 かつ 湿度が80%未満という2つの条件を&&でつないでいます。1回目(気温28℃・湿度75%)と2回目(気温29℃・湿度78%)はどちらの条件も満たすため処理が実行されますが、3回目には気温が30℃に達して条件が崩れるため、ループが終了します。

💡 複数条件は括弧でグルーピングすると読みやすい

&&と||を同じ式の中で混在させると優先順位が分かりにくくなるため、「(a < 10 && b > 0) || c == 1」のように括弧で意図を明示すると、後で読み返したときに勘違いが起きにくくなります。

AI鬼管理山崎 AI鬼管理山崎
経営指標のアラート条件を組むときも同じ考え方です。「CPAが目標を上回っている かつ CVRが基準を下回っている」場合だけ通知する、というように&&で複数条件を絞り込む設計は、広告運用のレポート自動化でも頻繁に使っています。
Claude Code 完全解説セミナー|経営者・会社役員専用 1on1 60分 無料Claude Codeを経営に活かしたい方へ — AI鬼管理

07 while(1)による無限ループの作り方と終了条件 意図的に無限ループを作り、break文で安全に終了させる

C言語では、while(1)と書くことで意図的に無限ループを作れます。「1」は常にtrue扱いされる値のため、条件式が永遠にtrueとなり、明示的に止めない限りループが続きます。実務では、サーバーが常に通信を待ち受け続けるような処理などで使われます。

📚 用語解説

無限ループ:終了条件が成立せず、永遠に繰り返され続けるループのこと。while(1)のように意図的に作ることもあれば、条件式の変数を更新し忘れるなどのバグとして発生してしまうこともあります。

#include <stdio.h>

int main(void) {
    int attempt = 0;

    while (1) {
        attempt++;
        printf("%d回目の接続を試みています\n", attempt);
        if (attempt >= 3) {
            printf("3回試行したため処理を終了します\n");
            break;  // 条件を満たしたら無限ループを抜ける
        }
    }
    return 0;
}

実行結果

1回目の接続を試みています
2回目の接続を試みています
3回目の接続を試みています
3回試行したため処理を終了します

このコードはwhile(1)で無限ループを作りつつ、attemptが3以上になった時点でbreak文を実行して、安全にループを抜けるという構成です。無限ループは「終了条件を書き忘れる」と危険ですが、break文とセットで使う分には安全に制御できる実用的なパターンです。

⚠️ 無限ループのつくり方あるある(バグ編)

ループの中で条件式に使う変数を更新し忘れると、条件が永遠にtrueのままになり意図しない無限ループになります。特に「while (i < 5) { ... }」のようなwhile文でi++を書き忘れるミスは非常に多いので、while文を書いたら必ずループ内に「条件に近づく処理」があるかを確認しましょう。

本番環境で意図しない無限ループが発生すると、処理が固まってサーバーに負荷がかかり続ける、応答が返ってこなくなるといった事故につながります。開発中にプログラムが固まってしまった場合は、ターミナル(コマンドを入力する画面)でCtrlキー + Cキーを同時に押すことで、多くの場合は強制終了できます。

代表菅澤 代表菅澤
無限ループそのものは「悪」ではなく、常時稼働するプログラムには必須の書き方です。重要なのは「終了条件をどこかに必ず用意しておくこと」。これはビジネスのPDCAサイクルを回し続けるときも同じで、「いつ、どんな状態になったら見直すか」を決めておかないと、同じ施策をだらだら続けてしまうのと似ています。

08 while文・do-while文でよくある間違い 初心者がつまずきやすい3つのポイントを先回りして押さえる

ここまで解説した内容を踏まえて、while文・do-while文でよく発生するミスを整理しておきます。事前に知っておくことで、実際にコードを書くときのつまずきを減らせます。

8-1. 変数の更新忘れによる無限ループ

最も多いミスが、ループ内で条件式に使う変数を更新し忘れることです。「while (i < 5) { 処理 }」のようにiを使った条件式を書いたら、ループの中でiを増やす(またはfalseに近づける)処理が必ず必要です。

8-2. do-while文の末尾セミコロン忘れ

do-while文だけは「while(条件式);」のように末尾にセミコロンが必須です。通常のwhile文にはセミコロンが不要なため、この違いを忘れて書き忘れるとコンパイルエラーになります。

8-3. break文とcontinue文の取り違え

ループを終了させたいのにcontinue文を書いてしまう、逆にスキップしたいだけなのにbreak文を書いてしまう、という取り違えもよくあるミスです。「ループ全体を終わらせたいのか、今回の周回だけ飛ばしたいのか」を書く前に一度整理する習慣をつけると防ぎやすくなります。

✔️while文を書いたら、ループ内に条件へ近づく処理(i++など)があるか確認する
✔️do-while文の末尾に「;」があるか確認する
✔️break文とcontinue文、どちらが必要な処理かを書く前に整理する
✔️無限ループ(while(1))を使う場合は、必ずbreak文などの終了条件を用意する
AI鬼管理山崎 AI鬼管理山崎
このあたりのミスは、経験を積んだエンジニアでもうっかりやってしまうものです。だからこそ、コードレビューの段階で「終了条件はちゃんとあるか」「break/continueの意図は正しいか」を必ずチェックする文化が大事になります。

09 【独自データ】GENAI社内でみる「条件を満たすまで繰り返す」業務のリアル ループ処理の考え方は、実務の業務フローそのものにも当てはまる

while文の本質は「ある条件を満たす間、同じ処理を繰り返す」という発想です。実はこの発想、プログラミングの世界だけでなく日々の業務フローにもそのまま当てはまります。ここでは、弊社(株式会社GENAI)で実際にAIエージェントを活用している業務を、while文の考え方に重ねて紹介します。

項目内容
契約プランClaude Max 20x(月$200 / 約30,000円)
利用開始2025年後半〜
利用部署経営・営業・広告・開発・経理・秘書業務・個人業務まで全社

弊社では「条件を満たすまで繰り返す」タイプの業務を数多く抱えています。たとえば、請求書の内容が正しいか1件ずつ確認する経理業務、目標CPAを達成するまで広告の配信内容を調整し続ける広告運用などは、まさにwhile文的な発想の業務です。こうした業務をAI(Claude Code)に任せることで、以下のような削減効果が出ています(肌感ベース)。

業務領域主な用途概算削減時間
営業提案書・見積・顧客別資料の自動生成週20h → 週2h
広告運用週次レポート・CPA分析・配信内容調整週10h → 週1h
ブログ記事SEO記事執筆・リライト・内部リンク最適化1本8h → 1本1h
経理請求書チェック・経費仕訳・Freee連携月40h → 月5h
秘書業務日報生成・議事録・スケジュール調整日2h → 日15分
開発WordPress/HTML/LP制作、スクリプト書き捨て都度数時間削減
個人業務メール下書き、雑務タスク整理日1h → 日10分
⚠️ 数値の注意書き

上記は弊社の肌感ベースの数値であり、業種・業態・担当者のスキルによって削減時間は変動します。あくまで「AIエージェントをどの程度まで業務に組み込めるか」の参考情報としてご覧ください。

特に経理の「請求書チェック・経費仕訳」は、「不備がなくなるまで、または全件確認が終わるまで繰り返し確認する」という、まさにループ処理そのものの業務です。この種の「条件を満たすまで同じ確認作業を繰り返す」業務は、コードで自動化しやすい典型例でもあります。

代表菅澤 代表菅澤
面白いのは、while文の発想を知っていると「この業務は条件を満たすまで繰り返す構造だから、AIに任せやすいはずだ」という判断がしやすくなることです。エンジニアでなくても、この考え方自体は業務改善の武器になります。
Claude Code 完全解説セミナー|経営者・会社役員専用 1on1 60分 無料Claude Codeを経営に活かしたい方へ — AI鬼管理

10 【独自】非エンジニアがループ構文を知っておく3つのメリット コードを書けなくても、この考え方を知っておく価値がある

「自分はエンジニアじゃないから、while文やdo-while文を勉強しても意味がないのでは」と感じる方もいるかもしれません。しかし弊社の経験では、経営者・管理職がループ処理の考え方を知っておくことには、コードを書く・書かないとは別の価値があります。

10-1. 【メリット1】業務のどこが自動化しやすいかが見えるようになる

「条件を満たすまで同じ処理を繰り返す」構造の業務は、ループ処理として自動化しやすい典型パターンです。while文の考え方を知っていると、日々の業務の中から「これはループ構造だから自動化候補になる」という当たりをつけられるようになります。

10-2. 【メリット2】AIエージェントが出してきたコードの意図を大まかに読める

Claude Codeのようなエージェント型AIにコードを書かせる時代でも、出てきたコードが「何をしようとしているか」を大まかに読めると、レビューの質が上がります。while文とfor文、break文とcontinue文の違いが分かるだけでも、「このループはいつ終わるのか」「想定通りの範囲だけ処理しているか」を確認できるようになります。

10-3. 【メリット3】エンジニアとの会話の解像度が上がる

「ここは無限ループになる可能性があります」「break条件が足りていません」といったエンジニアからの報告を、感覚だけでなく意味を理解した上で受け止められるようになります。専門用語を完全に使いこなす必要はありませんが、基本構文を知っておくだけでコミュニケーションの解像度は大きく変わります。

💡 コードを書けるようになる必要はない

重要なのは「while文を1から書けるようになること」ではなく、「条件を満たすまで繰り返す、という考え方を理解しておくこと」です。実際の実装は、Claude Codeのようなエージェント型AIに任せる時代だからこそ、考え方の理解の方が価値を持ちます。

弊社では、社員がC言語やPythonの構文を1から習得することよりも、Claude Codeに業務を任せながら「今どんな処理が行われているか」を大まかに把握できる状態を目指しています。ターミナル操作やコードの完全な理解は不要で、チャット形式で指示を出すだけで、こうしたループ処理を含む業務の自動化を進められます。

AI鬼管理山崎 AI鬼管理山崎
「メールが届くまで確認し続ける」「在庫が閾値を下回るまで発注を待つ」といった業務は、すべてwhile文的な構造です。Claude Codeに『在庫が10個を下回ったら発注担当にSlack通知して』と指示すれば、裏側ではまさにこのwhile文やbreak文に相当する処理が組まれて動きます。
代表菅澤 代表菅澤
コードを書けない経営者でも、Claude Codeに日本語で話しかけるだけで、こうした条件付き繰り返し処理を業務に組み込めます。「構文を覚える」から「AIに任せる」への発想の転換が、非エンジニアにとって一番のショートカットです。

11 while文 vs do-while文 早見表 違いを1枚で確認できる比較表

ここまでの内容を1枚の比較表にまとめました。while文とdo-while文、どちらを使うべきか迷ったときの判断材料にしてください。

項目while文do-while文
条件判定のタイミング処理の前に判定処理の後に判定
条件が最初から偽の場合一度も処理が実行されない必ず1回は処理が実行される
向いている場面条件を満たす間だけ繰り返したい一般的な処理最低1回は実行してから判定したい処理(メニュー表示・入力チェックなど)
構文の末尾{ }の後にセミコロンは不要while(条件);の後にセミコロンが必須
break文・continue文どちらも利用可能どちらも利用可能

迷ったときの基本方針はシンプルです。「最初の1回を無条件で実行する必要があるかどうか」だけを判断基準にすれば、while文とdo-while文のどちらを選ぶべきかは自然に決まります。

12 まとめ ループ処理の考え方は、コードを書かない人にとっても武器になる

この記事では、C言語のwhile文・do-while文の基本構文から、break文・continue文による制御、複数条件の組み合わせ方、while(1)による無限ループの作り方まで整理しました。最後にポイントを振り返ります。

✔️while文は「条件式を先に判定」し、falseなら一度も実行されない
✔️do-while文は「処理を先に実行」し、条件に関わらず最低1回は実行される
✔️break文は「ループ全体を終了」、continue文は「今回の処理だけスキップ」で役割が異なる
✔️&&(AND)・||(OR)・!(NOT)で複数条件を組み合わせられる
✔️while(1)による無限ループは、break文とセットにすることで安全に制御できる
✔️無限ループのバグは「条件式の変数を更新し忘れる」ことが最大の原因
✔️非エンジニアでも、ループ処理の考え方を知っておくことで業務改善のヒントが見つけやすくなる

while文とdo-while文の違いは、C言語に限らずほぼすべてのプログラミング言語に共通する考え方です。「条件を満たす間繰り返す」という発想そのものは、業務の自動化を考えるうえでも役立つ視点です。「この業務は条件を満たすまで繰り返す構造になっているから、AIに任せやすいはずだ」という気づきが得られれば、この記事の目的は十分に果たされたと言えます。

代表菅澤 代表菅澤
弊社では「AI鬼管理」というサービスで、Claude Codeを使った業務自動化の設計から伴走まで支援しています。コードを書けなくても、「条件を満たすまで繰り返す」ような業務のパターンを一緒に洗い出すところから始められますので、お気軽にご相談ください。

while文の考え方が使える業務、洗い出してみませんか?

「条件を満たすまで確認・調整を繰り返している業務」は、実は社内に数多く眠っています。
弊社の実運用ノウハウをもとに、Claude Codeでどこまで自動化できるかを個別にご相談いただけます。

AI鬼管理山崎 AI鬼管理山崎
コードが書けなくても大丈夫です。「今、こういう繰り返し作業に時間がかかっている」という話をいただければ、そこからClaude Codeでの自動化案をご提案します。まずは無料相談からお気軽にどうぞ。

NEXT STEP

この記事の内容を、あなたのビジネスで
実践してみませんか?

AI鬼管理 — Claude Code導入支援トレーニング

AI活用を自社で回せるようになりたい方へ

AI鬼管理

Claude Code・Cowork導入支援から業務設計・社内浸透まで実践ベースで伴走。「自社で回せる組織」を90日で作る経営者向けトレーニング。

AIBPO by AI鬼管理 — 定型業務の丸ごと代行

業務を丸ごと任せたい方へ

AIBPO by AI鬼管理

請求処理・データ入力・問い合わせ対応などの定型業務を、AI×人の品質管理体制で丸ごと代行。いまのコストの50%目安で、日々は成果物を承認するだけ。

よくある質問

Q. while文とfor文はどちらを使うべきですか?

A. 繰り返す回数があらかじめ決まっている場合はfor文、「ある条件を満たす間、繰り返す」というように回数が実行時までわからない場合はwhile文が向いています。たとえば配列を先頭から末尾まで舐める処理はfor文、ユーザーが正しい値を入力するまで確認し続ける処理はwhile文、というように使い分けるのが一般的です。どちらで書いても実現できる処理は多いですが、意図が伝わりやすいコードにするために使い分けを意識すると、後で見返したときに読みやすくなります。

Q. while文とdo-while文、どちらを使えばいいですか?

A. 「条件を満たさない場合は一度も処理を実行したくない」ならwhile文、「最低でも1回は処理を実行してから条件を確認したい」ならdo-while文を選びます。実務では、メニュー選択や入力チェックのように「まず1回試してから条件を確認する」場面でdo-while文が使われることが多く、それ以外の大半のケースはwhile文で十分カバーできます。迷った場合はwhile文を基本にして、最初の1回を無条件で実行する必要があるかだけを判断基準にすると選びやすくなります。

Q. 無限ループを作ってしまった場合、どうやって止めればいいですか?

A. プログラム実行中であれば、ターミナル(コマンドを入力する画面)上でCtrlキーとCキーを同時に押す「Ctrl+C」でほとんどの場合は強制終了できます。ただし本番の業務システムで無限ループが発生すると、処理が固まってサーバーに負荷がかかり続ける事故につながるため、ループの中に必ず終了条件(break文や、カウンタ変数を更新する処理)を入れておくことが重要です。想定外の無限ループに備えてタイムアウト処理を組み込んでおくと、被害を最小限に抑えられます。

Q. break文とcontinue文は何が違いますか?

A. break文は「ループそのものを即座に終了する」命令で、実行するとそのループの外側に処理が移ります。一方continue文は「今回の周回に残っている処理だけをスキップして、次の周回に進む」命令で、ループ自体は継続します。イメージとしては、break文は「作業を打ち切って帰る」、continue文は「今回の作業だけ省略して次の作業に進む」という違いです。この2つを混同すると、想定より早くループが終わったり、逆に想定より多く処理が実行されたりするバグにつながります。

Q. C言語のコードは非エンジニアの経営者でも読めるようになりますか?

A. while文やbreak文といった基本構文は、慣れれば非エンジニアの方でも「条件を満たす間繰り返す」「ここで抜ける」という程度の意味は読み取れるようになります。ただし、実務でコードを書くレベルまで習得するには相応の学習時間が必要です。弊社では、経営者・管理職の方が構文を1から学ぶのではなく、Claude CodeのようなAIエージェントに実装を任せつつ、今どんな処理が行われているかを大まかに把握できる程度の知識を持つことを推奨しています。

Q. whileループの中でi++(インクリメント)を忘れるとどうなりますか?

A. 条件式に使っている変数の値が更新されないため、条件が永遠にtrueのままになり、無限ループが発生します。たとえば「while (i < 5) { 処理 }」と書いてループ内でiを増やす処理を書き忘れると、iはずっと同じ値のままなので条件判定が永遠にtrueとなり、プログラムが固まってしまいます。この種のミスは非常に多いバグの原因なので、while文を書いたら「ループの中で終了条件に近づく処理があるか」を必ず確認する習慣をつけましょう。

Q. do-while文の末尾のセミコロンを忘れるとどうなりますか?

A. C言語ではdo-while文だけ「while(条件式);」のように末尾にセミコロンが必須で、これを忘れるとコンパイルエラーになります。通常のwhile文(do-while文ではない方)には末尾のセミコロンは不要なため混同しやすく、C言語初心者が最初につまずきやすいポイントの一つです。エラーメッセージに構文エラーや「;が必要」といった趣旨の表示が出た場合は、まずdo-while文の末尾を確認するとよいでしょう。

AIAI鬼管理

AI鬼管理/AIBPO by AI鬼管理へのお問い合わせ

この記事を読んで気になった方へ。
専門スタッフが、御社に最適な
業務自動化・業務代行プランを無料でご提案します。

サービスを選択してください

会社名を入力してください
業種を選択してください
お名前を入力してください
※法人・事業用のメールアドレスでお願いします(Gmail等の個人用フリーメールは受付できません)
正しいメールアドレスを入力してください

1つ以上選択してください
1つ以上選択してください
月額コストを選択してください

約1時間のオンライン面談(Google Meet)です

空き枠を取得中...
面談日時を選択してください

予約確定後、Google Calendarの招待メールをお届けします。
しつこい営業は一切ございません。

監修 最終更新日: 2026年8月13日
菅澤孝平
菅澤 孝平 株式会社GENAI 代表取締役
  • AI業務自動化サービス「AI鬼管理」を運営 — Claude Code を活用し、経営者の業務を「AIエージェントに任せる仕組み」へ転換するパーソナルトレーニングを 伴走構築 で提供。日報・採用・問い合わせ対応・経費精算・議事録・データ集計・営業リスト等の定型業務を、AIに代行させる体制を経営者と一緒に作り込む
  • Claude Code 実装ノウハウを 経営者・法人クライアント に直接指導。生成AIを「便利ツール」ではなく 「業務を任せる存在」 として運用する手法を体系化
  • 「やらせ切る管理」メソッドの開発者。シンゲキ株式会社(2021年設立・鬼管理専門塾運営)にて累計3,000名以上の学習者を志望校合格に導いた管理メソッドを、AI × 経営者支援 に転用
  • 著書『3カ月で志望大学に合格できる鬼管理』(幻冬舎)、『親の過干渉こそ、最強の大学受験対策である。』(講談社)
  • メディア出演: REAL VALUE / カンニング竹山のイチバン研究所 / ええじゃないかBiz 他
  • 明治大学政治経済学部卒
現在は AI鬼管理(Claude Code活用の伴走型パーソナルトレーニング)を主事業とし、経営者と二人三脚で「AIに業務を任せる仕組み」を実装。「実行を強制する環境」を AI で構築する手法を、自社の実運用知見をもとに発信している。