C言語のfor文の使い方をわかりやすく詳しく解説

目次から探す

for文の応用テクニック

for文は、繰り返し処理を行うための非常に便利な構文です。

基本的な使い方に加えて、さまざまな応用テクニックを使うことで、より複雑な処理を行うことができます。

以下では、ネストしたfor文の使い方、数学的な計算の例、文字列の処理の例について説明します。

ネストしたfor文の使い方

ネストしたfor文とは、for文の中に別のfor文を記述することです。

これにより、複数のループを組み合わせることができます。

ネストしたfor文を使うことで、多次元配列の要素にアクセスしたり、行列の計算を行ったりすることができます。

以下は、2次元配列の要素を表示する例です。


#include <stdio.h>
int main() {
    int array[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%d ", array[i][j]);
        }
        printf("\n");
    }
    return 0;
}

上記のコードでは、2次元配列arrayの要素を行ごとに表示しています。

外側のfor文で行を、内側のfor文で列を指定して要素にアクセスしています。

for文を使った数学的な計算の例

for文を使うことで、数学的な計算を簡単に行うことができます。

例えば、1から10までの整数の総和を求める場合、for文を使って以下のように計算することができます。


#include <stdio.h>
int main() {
    int sum = 0;
    for (int i = 1; i <= 10; i++) {
        sum += i;
    }
    printf("総和: %d\n", sum);
    return 0;
}

上記のコードでは、変数sumを初期化し、for文の中で変数iを1から10まで1ずつ増やしながら、それをsumに加えています。

最終的な総和はsumに格納され、表示されます。

for文を使った文字列の処理の例

for文を使うことで、文字列の処理を行うこともできます。

例えば、文字列の中に含まれる特定の文字の数を数える場合、for文を使って以下のように処理することができます。


#include <stdio.h>
int main() {
    char str[] = "Hello, World!";
    char target = 'l';
    int count = 0;
    for (int i = 0; str[i] != '\0'; i++) {
        if (str[i] == target) {
            count++;
        }
    }
    printf("%cの数: %d\n", target, count);
    return 0;
}

上記のコードでは、文字列strの中に含まれる文字targetの数を数えています。

for文の条件式では、文字列の終端を表すヌル文字('\0')が現れるまでループを繰り返します。

ループの中で、文字列の各文字とtargetを比較し、一致する場合はcountをインクリメントします。

最終的な数はcountに格納され、表示されます。

以上が、for文の応用テクニックの一部です。

これらの例を参考にして、さまざまな処理を行うためにfor文を活用してみてください。

1 2 3
目次から探す