実数の場合はどうやるのでしょうか??
int型とdouble型
int型は「整数を扱う性質(タイプ)」でした。
では実数は何を使えばいいのか。ちゃんと実数用の型名があるんですね。
それが「double型」です。
これを宣言時に使用してやることでそのとき宣言された変数が「実数」として扱われます。
使い方はintのときと同じように使います。
double fx = 1.1;
もちろん「%f指定子」と組み合わせて使うんですよ。
では試しにやってみましょう。
#include <stdio.h>
int main(void)
{
double fx = 1.1;
printf("%f¥n", fx);
return 0;
}
実行結果
1.100000
ちゃんとできましたか?こんな風に出来ていればちゃんとプログラムが書けている証拠です。
重要なのは
「int型」は「%d指定子」と「整数値」
「double型」は「%f指定子」と「数値」
がそれぞれセットになっているということです。
double型の特徴
「double型」は実数値じゃないの?とも思いますが、結論から言うと「double型」の代入が整数値でもOKなんです。
ちょっと「10 / 3」を変数の宣言をして計算させて見ましょう。
#include <stdio.h>
int main(void)
{
double dx = 10,
fx = 3;
printf("%f¥n", dx / fx);
return 0;
}
実行結果
3.333333
ほら、ちゃんとできました。
実数値で直接入力する場合は10.0や3.0のように実数にしてやらないといけなかったのを覚えていますか?
参照:小数点以下の計算はどうやるの?
一応復習のために書いておきます。
#include <stdio.h>
int main(void)
{
printf("%f¥n", 10.0 / 3.0);
return 0;
}
変数で代入してやる場合は代入値が整数でもOKなんです。これは楽ですね。
実行結果はもちろん「%f指定子」を使っているので「浮動小数点数(実数)」として表示されます。
「%d指定子」を使ってしまうとおかしなことになりますので注意してください。
「double型」は「%f指定子」と「数値」がセットです。
あれ、じゃあ逆はどうなの?intに実数を入れてやってみましょうか。
試しに「1.5x4」をやってみましょう。答えはもちろん6です。
#include <stdio.h>
int main(void)
{
int ax = 1.5,
bx = 4;
printf("%d¥n", ax * bx);
return 0;
}
実行結果
4
残念ながらこっちは出来ません。
数値は認識しますが、小数点以下は切り捨てとなりますので、上のプログラムは「1x4」の計算になってしまうのです。
整数と実数の計算
さて変数を使えば整数でも実数として計算・表示してくれました。
最後に、整数と実数の計算結果を表示してみましょう。
double型は整数でも実数でも代入OKなので整数と実数の組み合わせた計算が出来るわけですね。
せっかくなんで「1.5x4」をやってみましょう。
#include <stdio.h>
int main(void)
{
double ax = 1.5,
bx = 4;
printf("%f¥n", ax * bx);
return 0;
}
実行結果
6.000000
整数と実数の計算の場合は実数で表示するということですね。
もちろん
printf("%.0f¥n", ax * bx);
というように、%とfの間に.0とやれば
#include <stdio.h>
int main(void)
{
double ax = 1.5,
bx = 4;
printf("%.0f¥n", ax * bx);
return 0;
}
実行結果
6
というように小数点以下を表示させずに表示できます。
%とfの間に来る数値は桁数を表すんでしたよね。
この場合小数点以下を0としたので表示させないようにしたわけです。
次回からはもうちょっとプログラムっぽいことをやります。
キーボードから数値を読み込ませて計算させて見ましょう。
メニューへ戻る
タグ:C言語
↓もしこの記事が役に立ったらクリックお願いします。


【プログラミング>C言語の最新記事】