プログラムにおいて、繰り返し処理を行うためにループ構造が使用されます。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ループを活用することで、効率的な繰り返し処理を実装することができます。これらの知識を基に、柔軟で強力なプログラムを作成しましょう。
