[C言語入門]printfの書式指定

前回のサンプルでは、printfの引数に%dを指定する事で、int型の変数値を表示させていました。
この%dの事を書式指定子(conversion specifier)と呼びます。


よく使用される書式指定子には以下のものがあります。
%の後に変換文字を書く事で表示方法を指定できます。

%d	整数を表示させる
%s	文字列を表示させる
%c	指定された文字コードに対応する,ASCII文字を1文字分表示させる
%f	浮動小数点の値を表示(doubleまたはfloat)
%d	浮動小数点の値を表示(double)
%x  16進数で値を表示
%g	数字を指数表現で表示
 
%p  ポインタ変数のアドレスを表示



さらに、%と変換文字の間には、以下の文字を書く事もできます。

桁数指定の数字
マイナス記号
精度



精度は、lを書く事でlongを意味し、hがshortを意味します。

%hd		short intの値を表示
%ld		long intの値を表示
%lld	long long intの値を表示



桁数指定の数字は、指定した分の幅を確保してくれます.

printf( "[%4d]", 12 );              /* [  12]      と表示される */
printf( "[%8.1f]", 12.345 );        /* [   12.345] と表示される */




マイナス記号を使うと、左寄せで表示させることが出来ます。

printf( "[%-4d]", 12 );             /* [12  ]      と表示される */
printf( "[%-8.1f]", 12.345 );       /* [12.345   ] と表示される */



印字幅を、固定ではなくプログラムから指定したい場合は”*”を使用します。

printf( "[%-*d]", 4, 12 );          /* [12  ]      と表示される */
printf( "[%-*.*f]", 8, 1, 12.345 ); /* [12.345   ] と表示される */



パーセント自体を出したい場合は”%%”と表記します。

printf( "%d%%", 12 );               /* 12%      と表示される */


関連記事

コメントを残す

メールアドレスが公開されることはありません。