ログイン
kid's world

計算をさせる

計算をさせる

昔はコンピュータのことを「計算機」や「電算機」などと呼んでいたように,コンピュータは本来計算をするための機械である。そこでさっそく,コンピュータに計算させてみよう。

算術演算子

計算は,「算術演算子」というものを使って行う。べつにこういう難しい言葉が「サンジュツエンザンシ,サンジュツエンザンシ」とスラスラ出てくる必要はない。使えればいいのである。

主な算術演算子と算数で使う記号との対応表をTable 1に示す。

Table 1:主な算術演算子

/c/calc-table1.png

たとえば,「1+2×3-4÷2」の結果を知りたかったとする。このぐらいの式なら頭の中で暗算すれば済むことだが,練習のためにやってみよう。Table 1の対応表を見れば,すぐに,

1+2*3-4/2

と式を作ればいいとわかる。もちろん,この式を計算させると掛け算と割り算が先に計算されて,足し算と引き算は後で計算される。

もし,1+2を先に計算して,その結果に3を掛けたいと思ったら,カッコを使って,

(1+2)*3

と式を作ればよい。こうすればカッコの中を先に計算してくれるのである。

結果を表示する

さて,式は算術演算子を使えばできるとわかった。では,計算した結果はどのように表示させればいいのだろうか。

たとえば,

1+2*3-4/2;

と,セミコロンをつけて文の形にしても文法的に間違っていないし,コンパイルもできる。だが,計算結果を表示する方法が書かれていないので,画面上に計算結果が出てくることはない。

画面に何かを表示するといったら,それはprintf関数の役目である。printfは数値も文字列の一部分として表示してくれる,便利な関数である。

たとえば,

計算結果は○○です。

と表示したいとしよう。このときprintf関数には,

"計算結果は%dです。\n"

という文字列を指定する。前回から気になっていたとは思うが,「\」や「%」で始まる文字は,printf関数では特殊な文字として扱われている。何度も出てきた「\n」は「ここで改行せよ」という意味であり,「%d」は「ここに整数値を表示せよ」という意味である。詳しくは次回以降に解説するとして,今回は改行と整数値と実数値の表示だけを紹介しておこう(Table 2)。

Table 2:printf関数で用いる特殊な文字

/c/calc-table2.png

というわけで,計算結果を表示するには,

printf("計算結果は%dです。\n");

という文を書けばよい……ということになりそうだが,しかしこれでは計算式がどこにも出てこない。その肝心な計算式は,printf関数のカッコの中で「,」(コンマ)に続けて書く。念のため,ソースコード全体をList 5に示す。ぜひ,実際にコンパイルして,計算結果が合っているかどうか確認していただきたい。

List 5:コンピュータに計算をさせる

#include <stdio.h>

main()
{
  printf("計算結果は%dです。\n", 1+2*3-4/2);
}

複数の計算結果を表示させる

printf関数は,1つだけではなく複数の計算結果(数値)を一度に表示させることができる。やり方は簡単で,「%d」や「%f」などを文字列の中に必要なだけ書けばよい。それらを書いたぶんだけ,printf関数のカッコの中で「,」を使って区切って,計算式などを順番に書いていく。

たとえばList 6のような書き方をする。このプログラムは,半径3メートルの円の円周と面積を表示するプログラムである。このプログラムを自分なりにいろいろ書き換えて,プログラミングの作業に慣れていただきたい。

List 6:円周と面積の表示

#include <stdio.h>

main()
{
  printf("半径3メートルの円の円周と面積を計算します。\n");
  printf("円周=%f(メートル) 面積=%f(平方メートル)\n", 2*3.14159*3, 3*3*3.14159);
}

たとえば計算式を書き換えるとか,文字列を書き換えるとか,似たような文をいくつも同時に書いてみるなどである。その作業の中で,この文面だけでは得ることのできない,貴重な体験をいくつも積むことができる。ぜひ挑戦していただきたい!


バグ」へ進む

広告


©Toshio Koide 1996-2007.

目次

リンクについて

リンクは御自由にどうぞ。

メール

mail.gif

広告