C言語 入門 とにかく繰り返せ!!(while文)

C言語

while文が分からない!

プログラムの一部を繰り返し実行したい!

この記事を読めば、これらの悩みを解決できます。

while文とは?

while文は、「プログラムの指定した範囲を繰り返し実行する文」のことです。while文を使うときは基本的に、何回繰り返すかを指定します。そうしないと、プログラムを終了することができません。「条件式」を勉強すると、whille文では「どの条件の時に繰り返しを終了するか?」を指定できるようになります。後から勉強するように勧めていますが、興味のある人は先に勉強するのもOKです。

while文の使い方

    while(〇<△)
    {
      ~ 
    }

このプログラムを日本語に直すと、

〇<△の間、~を繰り返す

という意味になります。

カッコの中で指定された「繰り返すときの条件」は、間接的に「何回繰り返すか?」を指定していると考えると分かりやすいかもしれません。例えば、「~」を2回繰り返すことになると、「~~」のように2回同じプログラムを書くことと同じと考えることができます。

ちなみに、「<」という記号は「より小さい」という意味で、「〇<△」の場合「〇が△より小さい」という意味になります。

実際にプログラムを見た方が分かりやすいかもしれないです。

#include<stdio.h>
int main()
{
    int kaisuu;
    int suuji;

    suuji=4;
    kaisuu = 0;
    while (kaisuu < 3)
    {
	printf("%d¥n", suuji);
	++kaisuu;
    }
}

while文より前で「kaisuu」という変数には、「0」が代入されていて、while文の中で「インクリメント」により+1されています。それが「3」より小さいときに繰り替えされるということは、while文の中のプログラムを3回連続で実行することと同じです。

while文の中では、インクリメントと同時に「suuji」という変数を出力しているので、代入されていた「4」が連続で出力されることになります。

このように、変数内の数字を変化させることで、繰り返す回数を指定するのがほとんどです。

今の説明で、「インクリメントって何?」と感じた方は下の記事を参考にしてください。

出力してみましょう。

while文で数字を変化させて出力しよう!

次は、「whille文」を使って数字を変化させて出力していきます。この場合、先ほどのように2つの変数を使う必要はありません。

例えば、while文の前で、「kaisuu」という変数に「0」を代入し、while文の中で、「kaisuu」の出力とインクリメントを「kaisuu<3」の間だけ繰り返すと、「0、1、2」のように(合計3回)出力できます。

#include<stdio.h>
int main()
{
    int kaisuu;

    kaisuu = 0;

    while (kaisuu < 3)
    {
        printf("%d¥n", kaisuu);
	++kaisuu;
    }
}

 このように書けますね。

while出力結果

最初のうちは、この2パターンのプログラムをつくれたらOKです。慣れてきたら、「計算結果が5より小さいときに続ける」のようなプログラムも書けると思います。うまく工夫して、「while文」を使えるようになりましょう。

まとめ

while文を使っているときに、「プログラムをどう作れば、思い通りの回数だけ実行してくれるか」と考えることが出てくると思います。分からなかったら、今ある情報を紙に書いて頭の中で整理することが大切です。これは、プログラミングの中でも重要なスキルになります。大変ですが、頑張ってください!

次は、for文を勉強しましょう。