
C言語でfloatを使いたいな…小数の計算ができるみたいだけど、どうやって使うんだろう🤔
この悩みを解決します。
過去に小数を使わない計算方法を解説したので、まだ見ていない方はそちらを参考にしてください。下の記事を読んだ前提で話を進めていきます。
»C言語 入門 計算方法と変数の初期化!変数宣言する場所は?
この記事を書いている自分は情報系大学生で、三ヶ月ほどでC言語の基礎を完璧に理解しました。勉強中に分からないことが多く、一日中プログラミングしていたこともあります。
今では、ブログでC言語について解説しています。
今回はそんな経験をもとに解説していこうかと。
当サイトでは、覚えるべきところを全てまとめているので、画面を撮影して何度も読み返すことをおすすめします。
それでは、解説していきます!
小数の計算に必要なもの:float,%f

小数の計算に必要なものは以下の2つですね。
小数の計算に必要なもの
float
%f
一応言っておくと、これらとは別のものを利用しても小数の計算が可能です。詳しくは、下の2つをご覧ください。
≫C言語 入門 変換指定子分かりやすく解説します!(%p,%x,…)
では、先ほど紹介した「float」と「%f」を解説していきますね。
floatとは
floatとは、小数の計算をするためのデータ型です。(「int」で変数宣言された変数に小数を保存することはできません。)
データ型については、下の記事で解説しました。
≫C言語 入門 計算方法と変数の初期化!変数宣言する場所は?
%fとは
%fとは、小数を出力できる変換書式(変換指定子)です。
%.(小数点以下の桁数)f
とすることで小数点以下の桁数を指定することができます。(小さい数字は四捨五入されます)
floatと%fを組み合わせたプログラム
前回のプログラムをちょいアレンジしてみます。
#include<stdio.h>
int main()
{
float tasu;
float hiku;
float kake;
float waru;
tasu = 5.3 + 2.8;
hiku = 5.3 - 2.8;
kake = 5.3 * 2.8;
waru = 5.3 / 2.8;
printf("5.3+2.8=%.1f¥n",tasu);
printf("5.3-2.8=%.1f¥n",hiku);
printf("5.3×2.8=%.1f¥n",kake);
printf("5.3÷2.8=%.1f¥n",waru);
}
こんな感じでコードを書けますよね。ではプログラムを実行していきましょう。

%fの使い方を工夫して、計算結果を見やすく
先ほどの出力結果は、掛け算のところだけ小数点の位置がずれていますよね。見にくいので、工夫しましょう。
こういう場合、桁数が最も大きい計算結果に合わせましょう。
全ての「%f」を
%(小数点以上の桁数+小数点以下の桁数+1).f
とすることで、小数点の位置を統一することができます。
※「小数点以上の桁数」と「小数点以下の桁数」には、最も大きい桁数のものがはいります。
今回の場合だと「14.8」が最も大きいので、
2+1+1=4
より、
小数点以上の桁数+小数点以下の桁数+1=4
ですね。
%4.1f
となることが分かるでしょうか?
#include<stdio.h>
int main()
{
float tasu;
float hiku;
float kake;
float waru;
tasu = 5.3 + 2.8;
hiku = 5.3 - 2.8;
kake = 5.3 * 2.8;
waru = 5.3 / 2.8;
printf("5.3+2.8=%4.1f¥n",tasu);
printf("5.3-2.8=%4.1f¥n",hiku);
printf("5.3×2.8=%4.1f¥n",kake);
printf("5.3÷2.8=%4.1f¥n",waru);
}
では、プログラムを実行していきましょう。

14.8の表示は全く変わっていませんね。しかし、他のところは全て直前に一文字分だけ空いて、見栄えが良くなりました。
このようにして出力結果を見やすくすることができます。
まとめ:%fとfloatを使った小数の計算

重要なところをまとめますね。
細かいところですが、重要なので覚えましょう。そして、常に使うように心がけましょう。
自分でもプログラムをつくって、実行すると力が付きます。
今回は以上です!
次は、複合代入演算子を勉強してみましょう。
ではでは~👋
コメント