ログイン
編集不可のページディスカッション情報添付ファイル

2011-10-07 11:42:11時点のリビジョン1

メッセージを消す
alstamber/Clanguage/calculate

MMA

プログラムに計算をさせる

まず書いてみよう

前回、画面に予め決まった文字列を表示させるというプログラムを書きました。これはこれで立派なプログラムなのですが、今回はもう少し進んだことをやってみましょう。
今回はプログラムを使って何らかの計算をすることを目標にします。

最初ですし、1+1の結果を表示するプログラムを作ってみることにします。エディタを使って下のソースコードを打ち込んでみてください。

   1 #include <stdio.h>
   2 
   3 int main (void)
   4 {
   5         printf("%d\n", 1+1);
   6 
   7         return 0;
   8 }

これを前回と同じようにコンパイルして、実行してみましょう。このプログラムの名前を仮にfooとすると

% ./foo
2

となって1+1の答えである2が出力されたのがわかると思います。
とりあえずこのプログラムが1+1の答えを出力するプログラムであるということがわかった所で、なぜこのプログラムが1+1の答えを出力できるのか考えてみましょう。

printfの変換指定子

前回のプログラムと違うのはprintfのとこだけです。つまりここに1+1の答えを出力する真髄があるわけです。
まず見たいのが、%d\nというところです。\nは前回見たとおり改行を表す文字ですが、%dとは何でしょうか。
実はこの%dというのはその後ろにあるものを10進数で出力しなさいという意味なのです。この場合その後ろにあるものというのは1+1のことです。
全体をまとめれば、1+1の計算結果を10進数で出力しなさい、という意味になっているわけです。だからこのプログラムを実行した時1+1の答えである2が出力されるのです。