見出し画像

No.16 繰り返し処理(2)[while文]

今回は、C言語の繰り返し処理(while文)について解説します。

前回の記事をまだ見ていない方は、下記のリンクからぜひ見てください。
前回の記事を見てからこの記事を見ると理解しやすいです。↓

また、わからない点があればぜひコメントお願いします。
わかりやすいように更新させていただきます。


while文とは?

C言語の while文は、ある条件が真である限り、繰り返し処理を実行するものです。
while文は for文と違い、繰り返し回数が事前にわからない場合や、ある条件が満たされるまで処理を続けたい場合に適しています。

while文の書き方

ここからは、while文の書き方について解説していきます。

while文は次のように書きます。

while (条件式) {
    // 繰り返し実行したい処理
}
  • 条件式 : この式が真(true)である限り、{ } 内の処理が繰り返し実行されます。

  • 繰り返し実行したい処理 : 条件式が真である間、繰り返し実行したい処理を書きます。

  • break文 : 繰り返し処理を途中で中断したい場合は、break文を使用します。

while文を使った、繰り返し処理のプログラム例を紹介します。

while文で1から5を出力するプログラム。↓

#include <stdio.h>

int main() {
    int i = 1;
    while (i <= 5) {
        printf("%d\n", i);
        i++;
    }
    return 0;
}

このプログラムは、変数 i の値が5以下である間、i の値を出力し、i の値を1ずつ増やす処理を繰り返します。
出力結果は次のようになります。↓

1
2
3
4
5

while文の注意点

  • 無限ループ: 条件式が常に真となるような場合、無限ループに陥ります。

  • 変数の更新: 繰り返し処理の中で、条件式に影響を与える変数を更新する必要があります。そうでないと、無限ループになる可能性があります。

continue文

ここからは、繰り返し処理でよく使う continue文について解説していきます。

continue文とは?

continue文は、繰り返し処理(for文、while文、do-while文)の中で、現在の繰り返しを中断し、次の繰り返しに移るときに使います。
※do while文については後ほど解説します。

continue文の働き

  1. continue文が実行されると、その後の処理をスキップし、次の繰り返しへとジャンプします。

  2. 繰り返し処理の先頭部分に戻り、条件式の評価から再び処理が開始されます。

break文との違い

  • break文: 繰り返し処理を完全に中断し、ループの外へ脱出します。

  • continue文: 現在の繰り返しだけを中断し、次の繰り返しへジャンプします。

1から5を出力するが3は出力しないプログラム。↓

#include <stdio.h>

int main() {
    int i;
    for (i = 1; i <= 5; i++) {
        if (i == 3) {
            continue; // iが3のとき、次の繰り返しへ
        }
        printf("%d\n", i);
    }
    return 0;
}

このプログラムの出力は次のようになります。↓

1
2
4
5

i が3のとき、continue文によってprintf文がスキップされ、3が出力されずに次の繰り返しに移っています。

問題

1から10までの数を順番に出力する際、5の倍数の時は出力せずに、他の数を表示するプログラムを作成してください。

回答例

#include <stdio.h>

int main() {
    int i;
    for (i = 1; i <= 10; i++) {
        if (i % 5 == 0) {
            continue;  // 5の倍数のとき、次の繰り返しへ
        }
        printf("%d\n", i);
    }
    return 0;
}

解説

この問題では、i が5の倍数のとき、continue文によってprintf文がスキップされ、その数が表示されずに次の数へと進みます。

今回は以上です。

いいなと思ったら応援しよう!