第11章
第11章 同じことを繰り返すFOR文(2)
今度こそ9章でやるといっていたことをします。
9章では ”printf”と”scanf”を結局必要なだけ書き加えなければ
ならないことを言いました。
これをFOR文を使って何とか解決できないか考えます。
最初にいくつタイムを入力するかを決めていれば、
どれだけ繰り返すかも決まりますね。
つまり、配列の大きさだけFOR文で繰り返すことになります。


こうすれば、宣言時とFOR文の繰り返し条件の2箇所の数字を書けかえるだけで、
対応できるようになります。
これ以外に1つ注意点があります。
「kekka」を計算しているところで、「i」で割ってます。
「kekka」はDOUBLE型で、「i」はint型です。
型が異なりますので、本来は計算できないのですが、
C言語では暗黙のうちに型変換(「キャストする」という。そのうち説明する予定です)
がなされる。変換のされかたには順序があり、以下のようになる。
char<int<long<float<double・・・
となっており、例えば、同一式にint型とdouble型があった場合、
int型はdouble型に変換されて計算されることになります。
ですので、今回はこのままでもいいのです。
が、なるべく型は統一した方がいい(わかりやすい)ので、
このようにして、「double型だよ」と教えてあげます。
(double)i
これを「double型にキャストする」と言います。
まー、詳しくは後ほど(いつになるかはわかりませんが・・・)説明するつもりですので、
「こーゆーもんがあるのかー」程度でいいですので、覚えておいてください。
ところで、このプログラムでは、実行する前に、
どれだけタイムを入力するかを書き直さなければなりません。
これは面倒ですよね。
そこで、いくつ入力するかをプログラム中でキーボードから入力すれば、
もっと使いやすいものとなります。
では、次のように書きかえてみましょう。

実行結果は予想がつくでしょうか?
一応、実行する前にどんなことことが起こるかを考えましょう。
ただ、キーボードをたたいて実行するだけではあまり上達しませんからね。
今回は、ちょっとは役に立ちそうなものを作ってみましたが、使いつづけていくうちに
「もっとこうしたほうがいい」という要望が出てくると思います。
(今回のように、いくつ入力するかを聞くようにする、とかね)
何かアプリケーションを作る場合、そーゆーのが大事ですので、
どんどん改良していき、より良いものにしていくことを心がけましょう。
C言語のメニューに戻る
TOPに戻る