第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に戻る