ソースコード源文件
|
---|
実行結果
|
1|/* format02.c */
2|
3|#include <stdio.h>
4|
5|int main(void)
6|{
7| int a,b;
8|
9| a = 10;
10| b = 15;
11|
12| printf("%d + %d = %d\n", a, b, a + b);
13|
14| return 0;
15|}
1|/* format03.c */
2|
3|#include <stdio.h>
4|
5|int main(void)
6|{
7| double a = 0.5, b = 10.5;
8| int c = 215, d;
9| char e = 'A';
10|
11| printf("%f + %f = %f\n", a, b, a + b);
12| d = c + 11;
13| printf("cの値は%dでこれに11を加えると%dとなります\n", c, d);
14| printf("eには\"%c\"が代入されています\n", e);
15|
16| return 0;
17|}
0.500000 + 10.500000 = 11.000000
cの値は215でこれに11を加えると226となります
eには"A"が代入されています
%fとか%dなどは書式指定フィールドと呼ばれています。書式指定フィールドは次のように書き表すことになっています。
%[flags][width].[precision]{typeのプレフィックス}type
%とtype以外は全部省略可能です。%dとか%fとかいうのは目一杯省略しているのです。
%5.2f
とあったら、表示する桁数は全部で5桁(小数点も含めて)、小数点以下は2桁です。
11.000000は11.00
%-5.2
%の次に - がない場合は右詰めになるのです。
%05.2
は全部桁、小数点以下は2桁、頭があいたら0で埋める、という意味です。1.26 の場合は 01.26 と表示されます。
ールド | 指定地 | 意味 |
flags | - | 変数され引数を左詰めにします。指定しないと右詰めになります。 |
+ | 出力する値が符号付きの場合「+」または「-」の符号をつけます。指定しないとマイナスの時のみ「-」がつきます。 | |
0 | 最小幅になるまで0を追加します。出力値がマイナスと0の場合は0は追加されません。省略すると0は追加されません。 | |
width | 数値 | 文字幅を指定します。 |
precision | 数値 | 精度を指定します。つまり小数点以下の桁数を指定します。 |
typteのプレフィックス | h | short int に適応させます。 |
l | long 修飾です。 | |
L | long double 修飾です。 | |
type | d, i | 10進(Decimal)整数を指定します。 |
o | 符号なし8進数(Octal)を指定します | |
u | 符号あし(unsigned)10進整数を指定します。 | |
x | 符号なし16進(heXadecimal)整数で、a, b, c, d, e, fを使います。 | |
X | 符号なし16進(heXadecimal)整数で、A, B, C, D, E, Fを使います。 | |
f | 浮動小数点(Floating-point)を指定します。 | |
e, E | 指数(Exponent)変換を指定します。+/- 卍.卍卍e卍卍または+/- 卍.卍卍E卍卍。 | |
g, G | e, fの書式のうち指定された制度を表現できる短い方の書式です。 | |
c | 文字(Character)変換を指定します。 | |
s | 文字列(String)変換お指定します。 | |
p | ポインタ(Pointer)変換を指定します。 |
書式指定フィールド、表示書式を指定できる。
1|/* format04.c */
2|
3|#include <stdio.h>
4|
5|int main(void)
6|{
7| double pi = 3.14159265358979;
8| int mon = 2;
9| float flt = 1.2f;
10|
11| printf("%5.2f\n",flt);
12| printf("%-5.2f\n",flt);
13| printf("%05.2f\n",flt);
14| printf("%+08.2f\n",flt);
15| printf("%-8.2f\n",flt);
16|
17| printf("%d\n",mon = 3);
18|
19| printf("%e\n",pi);
20|
21| printf("%08.2f\n",pi);
22| printf("%05d\n",mon);
23|
24| printf("円周率は%fです\n",pi);
25| printf("円周率は%lfです\n",pi);
26| printf("もう少し詳しい値は%10.8lfです\n",pi);
27| printf("もう少し詳しい値は%15.13lfです\n",pi);
28| printf("もう少し詳しい値は%20.18fです\n",pi);
29| printf("円周率は%010.2f\n",pi);
30| printf("円周率は%-10.2f\n",pi);
31| printf("円周率は%10.2f\n",pi);
32| return 0;
33|}
1.20
1.20
01.20
+0001.20
1.20
3
3.141593e+00
00003.14
00003
円周率は3.141593です
円周率は3.141593です
もう少し詳しい値は3.14159265です
もう少し詳しい値は3.1415926535898です
もう少し詳しい値は3.141592653589790007です
円周率は0000003.14
円周率は3.14
円周率は 3.14