C言語while/do-whileループ完全マスター:実践例付き
C言語while/do-whileループ完全マスター
whileとdo-whileループの使い方を、明確な説明とハンズオンコード例で学びます。
ループはプログラミングの基礎であり、特定の条件が満たされるまでコードブロックを繰り返すことを可能にします。C言語にはfor、while、do-whileの3つの主要なループ構造があります。このガイドは後者2つに焦点を当て、ステップバイステップの説明、フローチャート、実践的なコードサンプルを提供します。
whileループ
whileループは各反復前に条件を評価します。条件が真ならループ本体を実行、偽ならループ終了。
while (テスト式) {
// ループ本体
}
whileループの仕組み
( )内の式が最初に評価される- trueを返すと、ループ内の文が実行され、再度式が評価される
- このサイクルは式がfalseと評価されるまで継続
- 初回評価がfalseなら、ループ本体は一度も実行されない
論理条件の深い理解には関係演算子と論理演算子を参照してください。
whileループのフローチャート

例1: 1から5までの数字を表示
// 1から5までの数字を表示
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d\n", i);
++i;
}
return 0;
}
出力
1 2 3 4 5
説明:iは1から開始。条件i <= 5が真なのでiを表示しインクリメント。iが6になると条件が偽になりループ終了。
do-whileループ
do-whileループは、最初の実行後にのみ条件をチェックするため、ループ本体が少なくとも1回は実行されることを保証します。
do {
// ループ本体
} while (テスト式);
do-whileループの仕組み
- 本体が最初に実行される(条件に関わらず)
- その後
テスト式が評価される - trueなら繰り返し、falseなら終了
do-whileループのフローチャート

例2: ゼロが入力されるまで数値を合計
// ユーザーがゼロを入力するまで数値を加算
#include <stdio.h>
int main() {
double number, sum = 0;
do {
printf("数値を入力: ");
scanf("%lf", &number);
sum += number;
} while (number != 0.0);
printf("Sum = %.2lf", sum);
return 0;
}
サンプル実行
数値を入力: 1.5 数値を入力: 2.4 数値を入力: -3.4 数値を入力: 4.2 数値を入力: 0 Sum = 4.70
この例では、ユーザーには少なくとも1回プロンプトが表示されます。最初の入力が非ゼロならその数がsumに加算され、ループが継続。ゼロを入力するとループ終了し最終合計が表示されます。
これらのループを理解することは効果的なCプログラミングに不可欠です。各反復前に条件をテストする必要がある場合はwhile、本体を少なくとも1回実行する必要がある場合はdo-whileを使用してください。
C言語
- SINUMERIK 840D CNCプログラミング:WHILEループ活用術
- C# キーワードと識別子:ルール、一覧、ベストプラクティス完全ガイド
- C# 演算子の優先順位と結合規則をマスターする:実践ガイド
- C# クラスとオブジェクト:堅牢な OOP の基礎
- C# 抽象クラスと抽象メソッドをマスターする:実践ガイド
- C# 部分クラスと部分メソッドを理解する
- C# sealed クラスとメソッドをマスターする:使用判断、実例、コードの安全性とパフォーマンス向上
- while文 vs do-while文:実践例で明確に比較
- C言語の定数とリテラル:型、使い方、ベストプラクティス
- C#の定数とリテラル:型、ルール、ベストプラクティス完全ガイド
- Javaで回文数を判定する:while文とfor文を使ったアルゴリズム