C言語 printfで計算結果を表示する方法【数値出力編】

プログラミング

 

前記事ではprintfで文字を出力することを解説しました。

少しおさらいをしておくと、

printf(“”); の形で出力したい文字を ”(ダブルクオーテーション)の間に入力します。

例)

printf(“今日の天気は晴れ”);

の場合は、「今日の天気は晴れ」と出力されます。

 

しかし、printfでは文字の出力以外にも数字同士の計算結果も表示させることが出来ます。要は計算機能があると言うことです。

 

今回はprintfでの計算結果を出力する方法を簡単に解説していきます。

 

printfの数値計算の書き方

 

printfで計算をする場合は、決まった書き方があります。それは、

 

printf(“実引数1”,実引数2);

 

引数(引数)とは簡単に言っちゃえば「関数に渡す値」のことです。

 

なのでこの場合は、printfっていう関数に実引数1と実引数2を渡しますということで、printfは実引数1と実引数2を使って出力をしていきます。

 

実引数1には計算結果の数値の表示形式を入力します。指定する表示形式とは、%d(整数)、%f(実数)、%.3f(実数で小数点以下は3桁まで)、などです。

 

実引数2には、計算したい式、または数値を入力します。例えば、100+10、20*30、123、などです。

 

実引数1にあたる%dや%fなどは変換指定子と呼ばれるもので、これに関してはまた後で解説記事を書きます。今は実引数1の部分で出力形式を指定できるという認識でOKです。

 

以上を踏まえて先程のprintfの数値計算の書き方をもっと簡単に書くと

 

printf(“変換指定子”,式);

 

となります。

 

注意)

けっこう忘れがちなのが式(実引数2)のすぐ左にある , (カンマ)をつけ忘れることです

これをつけ忘れるとエラーが発生してprintf関数が機能しなくなるので注意する必要アリです。私なんかはよくカンマをつけ忘れて、エラーを何度も起こしています。

 

printfで数値計算の四則演算の書き方例

 

これから使う変換指定子(実引数1)は%d(整数)なので表示される計算結果は整数になります。なので計算結果として小数が出た場合は小数点以下が切り捨てられます。

 

例えば20+10の計算結果を整数で出力したい場合は、

 

printf(“%d”,20+10);

 

とソースコードに書きます。出力結果はもちろん30です。

 

179-70を計算したい場合は

printf(“%d”,179-70);

とソースコードに書きます。出力結果は109です。

 

30×20を計算したい場合は

printf(“%d”,30*20);

と書きます。出力結果は600です。

 

 

100÷30を計算したい場合は、

printf(“%d”,100/30);

と書きます。出力結果は3です。本来100÷30は割り切れず、3.333…となりますが%dで出力結果を整数としてるので、小数点以下は切り捨てられて3となります。

 

2つ以上の計算結果を表示する場合

 

今までは1つの計算をするだけでしたが、当然複数の計算を同時に出力することもできます。

 

printfで複数(例えば2つ)の計算結果を同時に表示するには

printf(“変換指定子1変換指定子2”,式1,式2);

と書きます。

 

3つの計算を同時に出力したいときは、

printf(“変換指定子1変換指定子2変換指定子3”,式1,式2,式3);

と書きます。

要は計算したい数だけ式と変換指定子を並べて、式はそれぞれカンマで区切るだけです。

 

また、式と変換指定子は左から順に対応する形になっています。上のコードだと、変換指定子1は式1に対応、変換指定子2は式2に対応するようになっています。

 

それでは最後に、printfを使った計算プログラムを実際に実行した画像を載せます。

 

実際のprintfを使った計算プログラムの実行画像

 

例1)

ソースコード

実行結果

 

例2)

ソースコード(見やすくするために表示する数値にはスペースを空けてあります)

実行結果

↑10÷3を整数表示するため、小数点以下切り捨てで3となっています。

 

例3)

ソースコード

実行結果

↑実数の計算10.0/3.0の計算は%f(実数)で行うことで3.333333という実数の結果が得られる。

 

以上がprintfを使った計算と数値表示のやり方でした。

 

コメント