Previous: 計算をする
Up: No Title
Next: 制御構造1 判断
Previous Page: 変数の使用
Next Page: 復習

結果の表示

前の章で我々は整数の演算とその結果の代入について学んだ。しかし、 実は、これだけでは我々は結果を知ることは出来ない。これは、あたかも コンピュータに暗算をやらせているだけであり、コンピュータは暗算が終われば 自分の頭の中に結果を記憶して終わりである。つまり、我々が結果を教えろと 言わないかぎりコンピュータは、結果について我々に報告することはない。 これは、不便であると思う人もいるかもしれないが、逆に膨大な計算をコンピュータ にやらせるときに、途中経過を一々報告されても困る訳で、最後の結果だけの 表示をするという器用な事はコンピュータには出来ないのである。 ( そうした事が可能であるためには、どれが最後の結果かを判断するという能力 が必要で、現在のコンピュータにはそうした能力はない、またはそうした能力は 与えられていない。)

従って、我々は計算結果を表示することをきちんとプログラムする必要がある。

整数変数の表示方法

printf("%d",a);
上のように、"..." の中に %d を書く。これは、この位置に整数を出力する という意味である。どの整数変数の値を出力するかを、コンマの後に指定する。 この例では、変数 a の中身を出力する。

以上の例で分かるとおり、printf のダブルクォーテーション(")でくくられた 文字列の中の % 記号は特別な意味をもっており、% の後に書く文字 (この例では整数という意味で d を使っている。)によって、データの種類や 色々な指定をすることになっている(詳しくは今後習う)。従って、前回、 printf("..."); で ... が表示されることを学んだが、% は別で これを表示するには特別な方法によらなければならない。

先の例だと、数値のみが出力されて分かりづらいので、分かりやすいように表示する には、

printf("a = %d \n", a);
などと書くとよい。もし、a の値が 3 ならば、結果の出力は次のようになる。
a = 3
つまり、%d のところが変数 a の値で置き換えられて画面に出力される 訳である。

課題

cd c を実行した後で( /c に移動した後で)、以下の課題を やってみよ。

課題 2.1
計算だけでは答えは表示されない

以下のプログラムを実行してみよ。

/* kadai 2.1 */
#include <stdio.h>

main() { int a; a = 3 * 2; }

このプログラムは、正常にコンパイル出来、実行も出来るが何も表示しない!

課題 2.2
今度は表示してみる。

課題 2.1 の7行目の後(a = 3 * 2;の次の行、} の前)、に以下の 1行を付け加えて実行してみよ。

printf("%d",a);
結果の6が表示されましたか? 表示されたら次の問題に進んでください。

課題 2.3
良く分かるように表示しよう。

課題 2.2 で、うまく結果は表示されたと思いますが、これだと 6 が出るだけで、 しかも 6 とプロンプトが繋がってしまいます。 (こういうのは、前回も経験しましたね。) そこで、今度は結果が次のように表示されるように課題 2.2 のプログラムを改良 してください。

$ a.out
a = 6
$
うまく行きましたか? a.out を実行した後、a = が表示され、その後ろに結果の 6が表示され、更に改行されてないと駄目ですよ。

課題 2.4
変数を使った足し算

以下のプログラムを実行せよ。

/* kadai 2.4 */
#include <stdio.h>

main() { int a, b, c; a = 12345; b = 5435; c = a + b; printf("a = %d\n",a); printf("b = %d\n",b); printf("a + b = %d\n",c); }

課題 2.5
引き算、割り算

課題 2.4 のプログラムを改良して、 a - b , a / b も計算して、 表示出来るようにせよ。

課題 2.6
整数同志の割り算の怪

課題 2.5 で、a,b に色々な値を入れて実行してみよ。特に、割り算で割り切れない 場合について実行し、その結果についての考察を金山(kanayama)までメイルで 送れ。


maruyama@wakhok.ac.jp
1995年02月08日 (水) 18時57分57秒 JST