パソコン日記

気づいたこと まとめてみる

C言語をやってみる(for文を使ってみる)

C言語での繰り返し処理

同じ操作を繰り返し行いたいとき、C言語ではfor文やwhile文を使うと思います。今回はfor文を使ってみたいと思います。

for文を使ってみる

さっそくfor文を使ってみます。0から9の数字を順番に表示する以下のようなプログラムをコンパイルし、実行してみました。

#include <stdio.h>

int main(void) {
    int i = 0;
    for(i=0; i<10; i++){
        printf("%d ",i);
    }
    printf("\n");
}

すると、

0 1 2 3 4 5 6 7 8 9

と表示されました。

for文の

for(i=0; i<10; i++)

では、まず、for文のループに入る前に変数iが0で初期化されます、そして、i<10の条件を満たしていればループに入り、for文の中が実行されます。for文の中が一回実行されたあと、i++がされiの値が1増えます。また、この値がi <10の条件が満たされているか確認され、この条件を満たしている、つまり、iが10よりも小さければ再びfor文の中が実行されます。条件を満たしていなければfor文を抜けます。 ちなみにi++はインクリメントといい、i=i+1と同じ意味です。同様にi–はデクリメントといい、i=i-1と同じ意味です。これを利用し、

#include <stdio.h>

int main(void) {
    int i = 0;
    for(i=9; i>=0; i--){
        printf("%d ",i);
    }
    printf("\n");
}

このようにプログラムを書くと、

9 8 7 6 5 4 3 2 1 0

と、先ほどと逆に数字を表示することができます。

また、偶数のみを表示するため、プログラムを以下のようにしてみました。

#include <stdio.h>

int main(void) {
    int i = 0;
    for(i=0; i<10; i=i+2){
        printf("%d ",i);
    }
    printf("\n");
}
0 2 4 6 8

for文の最後の値を変えるところで、i=i+2とすることで、偶数のみをiに代入することができます。 そうすると、奇数のみを表示するには以下のようにすればよいと思います。

#include <stdio.h>

int main(void) {
    int i = 0;
    for(i=1; i<10; i=i+2){
        printf("%d ",i);
    }
    printf("\n");
}
1 3 5 7 9

iを1から始めて、2ずつ足していくことによって奇数のみを表示することができました。

for文は使いこなせると便利なので、練習していきたいですね。