整数を表示する printf()
前回、変数についての説明を行いましたが、もしかしたらこのようなことを思ったのではないでしょうか?
「変数の中身に何が入っているのか知りたい」
今回は、変数の中身を知る方法の一つをご紹介します。
その方法とは、そう、printf を使って、画面に表示してしまえばよいのです。
それではさっそくコードを書いてみましょう。
int x;
x = 100;
printf( "x" );
さて、変数 x の中身を画面に出力するために、このようなプログラムを書いてみました。
実行結果はどうなるでしょうか?
> x
となります。
x という文字列を表示するプログラムになってしまっているため当然ですね。
それではどのようなプログラムを書けば良さそうでしょうか?
int x;
x = 100;
printf(x);
このように考えた人、実に惜しいです。
このプログラムであれば、変数を参照して中身を表示してくれそうなのですが、C言語ではこれはできません。
それではどのように書けば良いかというと、このようにします。
int x;
x = 100;
printf( "%d", x );
C言語で整数の変数の中身を表示する場合、このようにする必要があるんです。
文字列として「"%d"」という特殊なコードを入力し、その後ろに「,(カンマ)」をつけて、表示したい変数を続けます。
実際に実行してみてください。
> 100
と表示されるはずです。
d とは decimal の略で、英語で 10進数を表します。
普段私たちが使用している、10になったら1つ位があがる数の数え方を10進数と呼びます。
ココがポイント
整数の変数を表示したい場合、%d を用いる
小数を表示する printf()
それでは、小数も表示してみましょう。
小数の表示には、「"%d"」 ではなく、「"%f"」 を用います。
小数の変数 y を宣言し、 0.1 を代入、y を表示するプログラムを書いてみてください。
答えはポイントの後に載せておきます。
ココがポイント
小数の変数の表示には %f を用いる。
答え:
float y;
y = 0.1f;
printf("%f", y);
0.100000 などと表示されていれば成功です。
※C言語では、float 小数の数値の後ろには f をつけます。
変数を続けて表示する
実はこの %d、%f を用いることで、変数を続けて表示することができます。
このようにします。
int x;
float y;
x = 100;
y = 0.1f;
printf( "%d %f", x, y );
文字列の中に %d %f を続けて書き、変数をカンマで区切って続けて書きます。
そうすることで、"" で囲んだ書式(フォーマット)に則って、変数の中身が表示されるんです!
printf の f とは実は フォーマットの略で、"" で書式を自由に設定できるという特徴があります。
これは非常に便利な機能ですので、いろいろと改造して試してみてください。
例えば、以下のようなコードだとどのような表示になるか、試してみると理解が深まると思います。
printf( "%d %d %d \n", x, x, x );
printf( "%d, %d, %d \n", x ,x ,x );
printf( "x > %d, y > %f \n", x, y );
ココがポイント
printf は、""の中で表示する書式を設定することができる。
おわりに:数値を表示する printf のまとめ
さて今回は数値を表示する printf の紹介を行いましたがいかがだったでしょうか?
少々記述は複雑ですが、なれてしまえばそこまで難しくはないと思います。
- 整数は %d、小数は %f を使う。
- printf では書式を設定できる。
ということを覚えてください。