while文とfor文どっちが便利?
for文が分からない。
プログラムを繰り返し実行したい。
この記事を読めば、これらの悩みを解決できます。
最初の質問の答えは「while文」です。while文よりもfor文の方がまとまりがあって見やすいですが、while文の方が色々なところで使えるからです。
「while文」に興味のある方は、こちらの記事を参考にしてください。
見た目は特徴的??「for文」の使い方
では、「for文」の使い方を見ていきましょう。とても特徴的なので、覚えるのは簡単だと思います。
「for文」のフォーマットは、
for(変数に代入;繰り返すときの条件;変数の計算);
{
~
}
です。「{ 」は波カッコと言います。また、繰り返すときの条件は関係演算子と論理演算子というものを使います。
関係演算子と論理演算子を詳しく知りたい人は、こちらの記事を参考にしてください。
先ほどのフォーマットに沿って、次のように①➔②➔③➔②➔③・・・の順番でプログラムは実行されます。
①変数に代入する。(以降代入はしない)
②繰り返すときの条件に当てはまっていなかったら、for文を終了する。当てはまっていたら、波カッコの中を一回実行する。
③変数の計算をして、②に戻る。
簡単に言うと、代入は最初の一回だけで、条件に当てはまっているときだけ、②、③を繰り返すといった感じです。
あまりピンとこなくても、さっそく練習しましょう。大半のプログラマーは最初の練習で、代入に「i=0」、変数の計算に「++i」(インクリメント)を使用するプログラムをつくります。
インクリメントが分からない人はこちらの記事を参考にしてください。
なので、とりあえず最初にそのプログラムを書いてみましょう。具体的に言うと、「C言語」を3回出力するプログラムです。
#include<stdio.h>
int main()
{
int i;
for (i = 0; i < 3; ++i)
{
printf("C言語¥n");
}
}
繰り返したいのは「printf関数」なので、このように「printf関数」を波カッコで囲います。あと、変数を使うので、最初に変数宣言します。忘れがちなので、気を付けましょう。
では、出力しましょう。
「while文」を使ったときと比べてもらえれば、プログラムにまとまりが出ていることが分かるかと思います。
文字の出力ができましたが、物足り無さがあるので「for文」の中で計算をしていきましょう。
#include<stdio.h>
int main()
{
int i;
int a,b,c;
a = 0;
b = 0;
c = 0;
for (i = 1; i < 5; ++i)
{
a += i;
b += a;
c += b;
printf("a=%d¥n", a);
printf("b=%d¥n", b);
printf("c=%d¥n", c);
}
}
こんなプログラムを作りました。
プログラムの説明をするなら、「i」をインクリメントして、複合代入演算子で変数に足し算している感じです。複合代入演算子が分からない人は、こちらの記事を参考にしてください。
では、出力していきます。
こんな感じで出力できました。最初は全て「1」だったのに、最終的には「c」が一番大きい数字になっています。
まとめ
冒頭でも言いましたが、「while文」よりもきれいにに書けるときは、「for文」を使いましょう。うまく使い分けをすることが大切です。
最近C言語の勉強を始めた人は、覚えることが多くて大変だと思いますが、この辺りの分野をのり超えれば、作成可能なプログラムは一気に増えます。毎日1時間プログラミングするだけでもだいぶ変わるので、頑張ってください。
次は、「if文」を勉強しましょう。
コメント