プログラムにおいて、繰り返し処理を行うためにループ構造が使用されます。Cプログラミングでは、whileループを使用して、特定の条件が真である間、繰り返し処理を実行することができます。以下に、whileループの使用方法と具体例を詳しく説明します。
基本的なwhileループ
while
ループは、条件が真である限り、ブロック内のコードを繰り返し実行します。while
ループの構文は以下の通りです。
#include <stdio.h> int main() { int count = 0; while (count < 5) { printf("カウント: %d\n", count); count++; } return 0; }
出力:
カウント: 0 カウント: 1 カウント: 2 カウント: 3 カウント: 4
条件のチェック
while
ループは、各繰り返しの前に条件をチェックします。条件が偽(false)になると、ループは終了します。
#include <stdio.h> int main() { int number = 10; while (number > 0) { printf("残り: %d\n", number); number--; } return 0; }
出力:
残り: 10 残り: 9 残り: 8 残り: 7 残り: 6 残り: 5 残り: 4 残り: 3 残り: 2 残り: 1
無限ループ
条件が常に真である場合、while
ループは無限ループとなります。無限ループは通常、特定の条件が満たされた場合にbreak
文を使用して終了させます。
#include <stdio.h> int main() { int count = 0; while (1) { // 無限ループ printf("カウント: %d\n", count); count++; if (count >= 5) { break; // ループを終了 } } return 0; }
出力:
カウント: 0 カウント: 1 カウント: 2 カウント: 3 カウント: 4
continue文の使用
continue
文を使用すると、現在の繰り返しをスキップして次の繰り返しに進むことができます。
#include <stdio.h> int main() { int count = 0; while (count < 10) { count++; if (count % 2 == 0) { continue; // 偶数の場合はスキップ } printf("奇数: %d\n", count); } return 0; }
出力:
奇数: 1 奇数: 3 奇数: 5 奇数: 7 奇数: 9
入れ子のwhileループ
while
ループを他のwhile
ループの中に入れ子にして使用することができます。これにより、二重ループなどの複雑な処理を実装することが可能です。
#include <stdio.h> int main() { int i = 1; while (i <= 3) { int j = 1; while (j <= 3) { printf("%d, %d\n", i, j); j++; } i++; } return 0; }
出力:
1, 1 1, 2 1, 3 2, 1 2, 2 2, 3 3, 1 3, 2 3, 3
総合例
以下に、ここまで紹介したwhile
ループの知識を統合したプログラムを示します。このプログラムでは、基本的なwhile
ループ、無限ループ、continue
文、および入れ子のwhile
ループを使用します。
#include <stdio.h> int main() { // 基本的なwhileループ int count = 0; printf("基本的なwhileループ:\n"); while (count < 5) { printf("カウント: %d\n", count); count++; } // 無限ループ printf("\n無限ループ:\n"); count = 0; while (1) { printf("カウント: %d\n", count); count++; if (count >= 5) { break; // ループを終了 } } // continue文の使用 printf("\ncontinue文の使用:\n"); count = 0; while (count < 10) { count++; if (count % 2 == 0) { continue; // 偶数の場合はスキップ } printf("奇数: %d\n", count); } // 入れ子のwhileループ printf("\n入れ子のwhileループ:\n"); int i = 1; while (i <= 3) { int j = 1; while (j <= 3) { printf("%d, %d\n", i, j); j++; } i++; } return 0; }
結論
条件が真である間、繰り返し処理を実行するためにwhile
ループは非常に便利です。C言語のwhile
ループを活用することで、効率的な繰り返し処理を実装することができます。これらの知識を基に、柔軟で強力なプログラムを作成しましょう。