C言語のfor文とwhile文の使い方。ループ処理を図解で解説。
for (int i = 0; i < 5; i++) { printf("i = %d\n", i); }
int n = 1; while (n <= 100) { n = n * 2; } printf("n = %d\n", n); // → 128
| 変数名 | 型 | 値 |
|---|
while は条件を先にチェックしますが、do-while は後からチェックします。while (条件) { 処理; // 条件が偽なら0回 }
do { 処理; // 必ず1回実行 } while (条件);
} while (条件); の ; を忘れるとコンパイルエラーになります。int choice; do { printf("1〜3を選択> "); scanf("%d", &choice); if (choice < 1 || choice > 3) printf("不正な入力です\n"); } while (choice < 1 || choice > 3); printf("%dが選択されました\n", choice);
| 構文 | 判定タイミング | 最低実行回数 | 使いどころ |
|---|---|---|---|
for | 前判定 | 0回 | 回数が決まっているとき |
while | 前判定 | 0回 | 回数が不定・条件で止めたいとき |
do-while | 後判定 | 1回 | 最低1回は実行したいとき(入力チェック等) |
for (int i=0; i<10; i++) { if (i == 5) break; printf("%d ", i); } // 出力: 0 1 2 3 4
for (int i=0; i<5; i++) { if (i == 2) continue; printf("%d ", i); } // 出力: 0 1 3 4(2だけスキップ)
break と continue は最も内側のループにだけ作用します。二重ループの内側で break しても、外側のループは止まりません。この講座の理解度をチェックしましょう!
i は 0,1,2,3,4 の5つの値を取るので、5回実行されます。
条件が常に 1(真)なので、break や return がない限り無限にループし続けます。
do-while は条件判定がループの最後にあるため、必ず1回は実行されます。while は最初に条件を判定するため、0回の場合もあります。