今章からちょっとは役に立つアプリケーションを作ります。 まずは簡単に作れそうで、 ちょっとは役に立ちそうな計算機を作りましょうか。だれでも知ってるとは思いますが、 計算には加減乗除があります。 いきなり全部できるようにするのはすごく難しいので、 最初は足し算引き算をやりましょう。
ではどのような「仕様」にしましょうか?・足し算引き算の選択
・計算する数字の入力をどのようにするかが一番の問題ですね。 普通の計算機だと「+」キーや「−」キーをたたいて、 足し算引き算を行うわけですが。
これを実現しようとすると・・・、ちょっと難しいです。 ので、ひとまず次のようにしましょう。・まず足し算引き算どちらをするか入力する
・2つの数字を入力する
・結果を出力するこれなら簡単そうですね。(^_^)
では早速これを満たすプログラムを作りましょう。
やっと出てきたな getchar!!
以前ここでそのうち出てくるとか 書いてましたが、ちゃんと出てきましたね(遅すぎって?)。
この関数は、キーボードからの入力(標準入力)を読み出す関数です。
な〜んだ、「scanf」と同じじゃない。驚かせちゃってー。
い〜え、全然違いますよ!!#なんか大きい字が続くなー・・・
「文字」と「数字」は表面上(目で見ると)同じですが、 内部的(メモリー上)では全然違う値なんです。
「文字列」と「数字列」を考えるともっとわかり易いかもしれません。 例えば、文字列「123」と数字列「123」はどうなるでしょう?
まず読み方からして変わりますよね? 文字列は「いちに(い)さん」で、数字列は「ひゃくにじゅうさん」ですね。従って、下の「if」文の分岐時もちゃんと「'」(シングルクォーテーション)で、 囲ってやって、「文字でっせ」と、 教えてあげないといけません。
さー、これの実行結果ですが以下のようになります。![]()
おー、ちゃんと計算機っぽいぞ〜!と、ちょっと見には思うのですが、色々試してください。 とんでもないことになりますから。
例えば・・・
ははは、笑うしかないですね。 これは世に言うバグです。
次回はこのバグを考慮したプログラミングをしましょう。
C言語のメニューに戻る