プログラムでは、特定の回数や条件に基づいて繰り返し処理を実行するためにループが使用されます。C言語では、for
ループを使用して効率的に繰り返し処理を実装することができます。この投稿では、for
ループの使用方法と具体例について詳しく説明します。
基本的なforループ
for
ループは、初期化、条件式、更新式の3つの部分で構成されます。for
ループの構文は以下の通りです。
#include <stdio.h> int main() { for (int i = 0; i < 5; i++) { printf("カウント: %d\n", i); } return 0; }
出力:
カウント: 0 カウント: 1 カウント: 2 カウント: 3 カウント: 4
初期化部分
for
ループの初期化部分では、ループカウンタ変数を初期化します。これはループの最初に一度だけ実行されます。
#include <stdio.h> int main() { int i; for (i = 0; i < 5; i++) { printf("カウント: %d\n", i); } return 0; }
条件式部分
for
ループの条件式部分では、ループを続けるかどうかを判断します。条件式が真(true)の間、ループは繰り返されます。
#include <stdio.h> int main() { for (int i = 0; i < 10; i += 2) { printf("カウント: %d\n", i); } return 0; }
出力:
カウント: 0 カウント: 2 カウント: 4 カウント: 6 カウント: 8
更新式部分
for
ループの更新式部分では、ループカウンタ変数を更新します。これは各繰り返しの最後に実行されます。
#include <stdio.h> int main() { for (int i = 10; i > 0; i--) { printf("カウント: %d\n", i); } return 0; }
出力:
カウント: 10 カウント: 9 カウント: 8 カウント: 7 カウント: 6 カウント: 5 カウント: 4 カウント: 3 カウント: 2 カウント: 1
ネストされたforループ
for
ループを他のfor
ループの中に入れ子にして使用することができます。これにより、二重ループなどの複雑な処理を実装することが可能です。
#include <stdio.h> int main() { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { printf("%d, %d\n", i, j); } } return 0; }
出力:
1, 1 1, 2 1, 3 2, 1 2, 2 2, 3 3, 1 3, 2 3, 3
continue文の使用
continue
文を使用すると、現在の繰り返しをスキップして次の繰り返しに進むことができます。
#include <stdio.h> int main() { for (int i = 0; i < 10; i++) { if (i % 2 == 0) { continue; // 偶数の場合はスキップ } printf("奇数: %d\n", i); } return 0; }
出力:
奇数: 1 奇数: 3 奇数: 5 奇数: 7 奇数: 9
break文の使用
break
文を使用すると、ループを強制的に終了することができます。
#include <stdio.h> int main() { for (int i = 0; i < 10; i++) { if (i == 5) { break; // ループを終了 } printf("カウント: %d\n", i); } return 0; }
出力:
カウント: 0 カウント: 1 カウント: 2 カウント: 3 カウント: 4
総合例
以下に、ここまで紹介したfor
ループの知識を統合したプログラムを示します。このプログラムでは、基本的なfor
ループ、ネストされたfor
ループ、continue
文、およびbreak
文を使用します。
#include <stdio.h> int main() { // 基本的なforループ printf("基本的なforループ:\n"); for (int i = 0; i < 5; i++) { printf("カウント: %d\n", i); } // ネストされたforループ printf("\nネストされたforループ:\n"); for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { printf("%d, %d\n", i, j); } } // continue文の使用 printf("\ncontinue文の使用:\n"); for (int i = 0; i < 10; i++) { if (i % 2 == 0) { continue; // 偶数の場合はスキップ } printf("奇数: %d\n", i); } // break文の使用 printf("\nbreak文の使用:\n"); for (int i = 0; i < 10; i++) { if (i == 5) { break; // ループを終了 } printf("カウント: %d\n", i); } return 0; }
結論
条件が真である間、繰り返し処理を実行するためにfor
ループは非常に便利です。C言語のfor
ループを活用することで、効率的な繰り返し処理を実装することができます。これらの知識を基に、柔軟で強力なプログラムを作成しましょう。