簡単な計算

簡単な計算を行うプログラム

アメリカで乗った車の時速計が、50マイルになっていた。 これを日本のキロメートルに換算して表示するプログラムを示します。 (なお、1mi(マイル)は 1609m です。)

#include <stdio.h>

main()
{
	printf("%fマイルは、" , 50.0);
	printf("%fキロメートル\n" ,  50.0 * 1.609);
}

上のプログラムを実行した結果の画面は次のようになります。

50.000000マイルは、80.450000キロメートル
 

printf関数は、標準出力(この場合は画面になる)と呼ばれる所へ、 括弧の中の文字列を送出する命令になっていますが、 単なる文字の並び出力するのでなく、  値のデータや、計算結果を出力させる場合は、  次のように『,』でデータを区切って指定します。

●ここで、注意すべきところは、データを区切る時の区切りのコンマ , がなければならないことで、 これがないとコンパイルのエラーになります。
また、50.0 と書くべき所を、50 と書くと正しい表示が得られません。
(この表現を間違えた不具合の方が、コンパイルエラー指摘がないので、問題を見つけるのが 難しいです。注意しましょう)

●なお、2行目のprintf関数で指定するデータで、 50.0 * 1.609 の計算式を使っています。 これで、 50.0 掛ける 1.609 の計算をさせています。
一般の算術に使う×の印は使えません。掛け算には、半角の * を使います。
そして、割り算には、/ を使います。(÷の記号ではありません。)、 また、+ や - の演算が可能です。(日本語の全角文字の演算記号は使えません。)

* / + - は演算命令を指示するもので演算子と呼ばれています。

C言語において、演算子は、プログラマが指示可能な最も小さい命令の単位です。 (演算子の左右にある2つのデータが演算対象になることから、2項演算子呼ばれる演算子の分類に属します。)

なお、『* や / 』の方が、『 + や - 』より優先的に処理されます。

よって、次の演算式の演算結果は、14.0になります。

2.0 + 3.0 * 4.0 

それは、+より * の方の演算が先行して行われ、*の結果の12.0 が 2.0と加算されるからです。

これに対して、2.0 + 3.0 の演算を先行させたい場合は、次のように括弧を使います。

(2.0 + 3.0) * 4.0 

これにより括弧の中の演算が優先され、その結果の5.0 と 4.0が * の演算対象となり 結果は、20.0 になります。


なお、0を分母にする演算は数学的に不可ですが、 一般的にコンピュータの実行中で、この0で割る演算を行うと、エラーが発生します。
処理系によってはプログラムは中断し、終了する場合があります。