C言語の基本

【初心者向けC言語】文字列の次は数値を表示してみよう!

トビタカ
トビタカ
本記事ではC言語のprintf関数を使い始めた『あなた』に向けて、数値を表示する方法をご紹介しています。

C言語で数値を自由自在に表示するその方法とは…?

 

文字列を表示できるようになったら、次は何をしたらいいの…?

 

前回の記事で『printf関数で文字列を表示する方法』をマスターすることができました。

【初めてのC言語】まずはprintf関数で文字列を画面に表示してみよう本記事ではC言語の初心者向けに『画面に文字列を表示するプログラムの書き方』をご紹介しています。C言語で文字列を画面に表示するやり方とは…?...

 

でも、文字以外にも表示させたいものってありますよね…?

とび助
とび助
数字とかも表示させたいです!
トビタカ
トビタカ
たしかに、数値を表示できるようになると表現の幅が広がりますからね!

 

そこで、本記事では文字列の表示をマスターした『あなた』のために、printf関数で数値を表示する方法を解説しています。

ぜひ参考にしてみてください!

トビタカ
トビタカ
頑張ってまとめたので、参考にしてくれると嬉しいです!
とび助
とび助
わかりました!早く教えてください!

printf関数で数値を表示する基本的なやり方

C言語のprintf関数で数値を表示させる基本的なやり方は次の通りです。

数値を表示する基本的なコード

printf(“%d¥n”, 数値);

とび助
とび助
なんか『%d』っていうやつがあるんですけど…
トビタカ
トビタカ
そこが重要なポイントです!

 

この方法であれば、『%d』と書いたところに『整数』を表示させることができます。

実際にこのやり方を取り入れたプログラムで、数値を表示させてみましょう。

次のプログラムを実行してみると、画面に『10円』と表示されるはずです。

#include<stdio.h>

int main(void){
	printf("%d円\n",10);
	return 0;
}
トビタカ
トビタカ
ぜひコピペして試してみてください!

 

 

printf関数は『”』で囲まれた文字を画面に表示させる関数でしたよね。

なので、さっきのプログラムであれば『%d円』と表示するような気がするのですが、実際には『10円』と表示されています。

つまり、『%d』の部分に『,』の後に書いた数値を代入して表示できることが分かります。

とび助
とび助
なるほど…でも数値は1つしか表示できないんですか…?
トビタカ
トビタカ
いえ、たくさん表示させることだってできますよ!

複数の数値を表示させる方法

では、複数個の数値を表示するプログラムの例をみていきましょう。

次のプログラムを実行するとどうなるのでしょうか…?

#include<stdio.h>

int main(void){
	printf("%d+%d=%d\n",1,2,1+2);
	return 0;
}

 

とび助
とび助
『1+2=3』って表示されました!
トビタカ
トビタカ
正解です!

 

このプログラムを実行すると『1+2=3』と表示されます。

先ほどのprintf関数のカッコの中に注目してください。

このプログラムでは『”』で囲まれた部分に3つの『%d』が使われています。

つまり、このプログラムは3つの数値を表示させるものなのです。

トビタカ
トビタカ
では、どこにある数値を表示しているのでしょうか…?

 

すでにお分かりかもしれませんが、表示した3つの数値はprintf関数の『,』以降に書かれています。

今回は%dが3つあるので『,』で区切りながら3つの数値を書いていくのです。

そうすれば数値を書いた順番どおりに左の『%d』から代入していくことができます。

とび助
とび助
左側から順番に代入していくんですね!
トビタカ
トビタカ
はい!ちなみに例のプログラムのように、%dには1+2のような計算式も使えますよ!
とび助
とび助
あっ!ホントだ!

表示させる数値を変更する方法

とび助
とび助
これで数値を表示させる方法をマスターしたも同然ですね!
トビタカ
トビタカ
いえ。これだけだとあまり役に立たないんですよ…

 

先ほどご紹介した方法が『C言語で数値を表示させる基本的なやり方』です。

ですが、このままだといつも同じ数値を表示させることしかできません。

さっきのプログラムであれば『1+2=3』しか表示できないんです。

これじゃあ、ちょっと使いにくいですよね。

とび助
とび助
たしかに状況に応じて表示させる数値を変えたいかも…
トビタカ
トビタカ
ですよね!もちろんC言語には数値を変更できる方法が用意されていますよ。

 

 

表示させる数値を変えるためには『変数』を使います。

変数とは『データを保存する箱』のようなもので、文字や数値の保存によく使われるものです。

トビタカ
トビタカ
変数はこちらの記事で解説していますので、あとでご覧ください!
【必ず使う】C言語の変数って一体何なの…?宣言・初期化のやり方もご紹介! 変数って一体何なの…? 前回の記事で『文字や数値を画面に表示する方法』をマスターすることができました。 ...

 

では『int型(整数)の変数i』を使って、画面に数値を表示させるプログラムを確認してみましょう。

具体的には次のようなプログラムを書けばOKです。

#include<stdio.h>

int main(void){
	int i = 100;
	printf("%d円\n",i);
	return 0;
}
トビタカ
トビタカ
4行目で宣言した変数を表示させるプログラムです。

 

このプログラムを実行すると『100円』と表示されると思います。

つまり、『%d』の部分に『変数iに保存した数値』を代入して表示しているのです。

このことから、これまでと全く同じ方法で『変数に保存した数値』を表示させることができると言えます。

とび助
とび助
でも、結局プログラムに変数の値を書かないといけないんですよね…?
トビタカ
トビタカ
いいえ!今度ご紹介する方法でキーボードなどから入力した数値を表示できるようになりますよ!
とび助
とび助
なるほど!安心しました!

変数を使うときの注意点

臨機応変に数値を表示させたい場合、変数を使えばいいことがわかりました。

でも、変数を使う際に注意しなければいけないポイントがあるんです。

とび助
とび助
それって何なんですか…?
トビタカ
トビタカ
適切な変換指定子を選ぶ必要があることです。

 

変換指定子とは、これまで使ってきた『%d』のことです。

実はこの『%d』って、整数しか表示できないんですよ。

小数などを表示させようとするとバグってしまうんです。

ためしに『%d』で実数を表示させてみましょう。

#include<stdio.h>
int main(void){
	double x = 3.14;
	printf("%d\n", x);
	return 0;
}
とび助
とび助
あれ?1374389535になりました!
トビタカ
トビタカ
3.14にならなければ正しい実行結果です。

 

このプログラムのように実数を%dで表示しようとすると、コンパイルできなかったりデタラメな数値が表示されたりします。

その理由は『%d』では実数を表示することができないからです。

実数を表示させるためには『%f』という変換指定子を使う必要があるんですよ。

つまり、printf関数で数値を表示させるためには、数値の種類に対応した変換指定子を使う必要があるのです。

とび助
とび助
変換指定子ってどれくらい覚える必要があるんですか?
トビタカ
トビタカ
数値を表示させるためには次の4つで大丈夫ですよ。

 

記号表示内容
%d整数(10進数)int・short・long
%o整数(8進数)
%x(X)整数(16進数)
%f実数float・double

 

表示する桁数を変更する方法

最後は表示する桁数やレイアウトを変更する方法をご紹介します。

まずは整数を表示する次のプログラムをご覧ください。

#include<stdio.h>

int main(void){
	printf("①:%d\n",123);
	printf("②:%5d\n",123);
	printf("③:%05d\n",123);
	return 0;
}

 

こちらを実行すると次のような結果になります。

実行結果
①:123
②:  123
③:00123
とび助
とび助
なんか表示結果が変わっていますね!
トビタカ
トビタカ
はい!これでレイアウトを変えられるんです。

 

実は%dなどの変換指定子の間に数値を書くと、レイアウトを整えることができます。

①はこれまで使ってきたデフォルトの表示方法なので、先頭から整数が表示されていますよね。

しかし、②と③はどうでしょうか?

 

②と③のケースでは『%d』の間に『5』が入力されています。

このようなコードを書くと、5桁の表示ができるのです。

つまり、『%d』の間に入力した数値の分だけ表示スペースを確保することができます。

 

先ほどのプログラムを思い出してください。

表示したい数値は『123』なので表示したい数値は3桁、『%5d』なので確保したスペースは5桁分ということが分かります。

今回は『表示したい数値の桁』≤『確保した表示スペース』なので、1の位にあわせて数値を表示してくれるのです。

なお、『表示したい数値の桁』が『確保した表示スペース』より大きい場合は、①と同じ結果になります。

トビタカ
トビタカ
②はリストを綺麗に見せたいときによく使いますよ!

 

③の方法は『%』の直後に『0+数値』を記入する方法です。

結果は②に近い結果になりますが、空いている表示スペースに0が表示されるようになります。

トビタカ
トビタカ
続いて実数に関する表示方法です!
#include<stdio.h>

int main(void){
	printf("④:%f\n",3.14);
	printf("⑤:%5.2f\n",3.14);
	printf("⑥:%05.2f\n",3.14);
	return 0;
}

 

このプログラムを実行すると次のような結果になります。

実行結果
④:3.140000
⑤: 3.14
⑥:03.14

 

④は基本的な実数の表示方法です。

小数点以下第6位まで表示してくれることが分かります。

 

続いては%fの間に数値を記入した⑤です。

実数の場合、小数点があるので次のような表記方法になります。

実数のレイアウト指定方法

『%』+『小数点を含む桁数』+『.』+『小数点以下の桁数』+『f』

 

つまり、例のような『%6.2f』の場合は小数点を含む6桁分の表示スペースを確保して、小数点以下第2位まで表示することになるのです。

⑥は整数の場合と同様に、空いている表示スペースに0を表示してくれます。

とび助
とび助
これで綺麗な一覧を表示できますね!
トビタカ
トビタカ
はい!ぜひ使ってみてください!

まとめ

以上がC言語で数値を表示させる方法になります。

変換指定子は『整数なら%d』『実数なら%f』と覚えてしまうと良いでしょう。

後はレイアウトを変更できる方法を少し覚えておけば、数値の表示はマスターしたいっても過言ではないと思いますよ!

トビタカ
トビタカ
いっぱい使ってみてくださいね!
とび助
とび助
練習あるのみです!
printf関数で数値を表示する方法のまとめ
トビタカ
トビタカ
次は変数の習得がオススメです!
【必ず使う】C言語の変数って一体何なの…?宣言・初期化のやり方もご紹介! 変数って一体何なの…? 前回の記事で『文字や数値を画面に表示する方法』をマスターすることができました。 ...

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA