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;
}
}
このように書けますね。
最初のうちは、この2パターンのプログラムをつくれたらOKです。慣れてきたら、「計算結果が5より小さいときに続ける」のようなプログラムも書けると思います。うまく工夫して、「while文」を使えるようになりましょう。
まとめ
while文を使っているときに、「プログラムをどう作れば、思い通りの回数だけ実行してくれるか」と考えることが出てくると思います。分からなかったら、今ある情報を紙に書いて頭の中で整理することが大切です。これは、プログラミングの中でも重要なスキルになります。大変ですが、頑張ってください!
次は、for文を勉強しましょう。
コメント