logo

C フォーマット指定子

Format 指定子は、フォーマットされた入力関数と出力関数で使用される文字列です。フォーマット文字列により、入力と出力のフォーマットが決まります。フォーマット文字列は常に「%」文字で始まります。

printf() 関数で一般的に使用される形式指定子は次のとおりです。

フォーマット指定子 説明
%d または %i これは、符号付き整数値を出力するために使用されます。符号付き整数値は、変数が正の値と負の値の両方を保持できることを意味します。
%で これは、符号なし整数値を出力するために使用されます。符号なし整数は、変数が正の値のみを保持できることを意味します。
%O これは、8 進整数値が常に 0 値で始まる 8 進符号なし整数を出力するために使用されます。
%バツ これは、16 進数の符号なし整数を出力するために使用されます。16 進数の整数値は常に 0x 値で始まります。この中には、a、b、cなどのアルファベットが小さく印刷されています。
%バツ これは 16 進数の符号なし整数を出力するために使用されますが、%X は A、B、C などのアルファベット文字を大文字で出力します。
%f これは、10 進浮動小数点値を出力するために使用されます。デフォルトでは、「.」の後の 6 つの値が出力されます。
%とそして 科学的表記法に使用されます。仮数または指数とも呼ばれます。
%g これは 10 進浮動小数点値を出力するために使用され、固定精度が使用されます。つまり、入力の小数点以下の値は出力の値とまったく同じになります。
%p アドレスを 16 進形式で出力するために使用されます。
%c 符号なし文字を印刷するために使用されます。
%s 文字列を出力するために使用されます。
%ld これは、長符号付き整数値を出力するために使用されます。

例を通して書式指定子を詳しく理解しましょう。

    %d
 int main() { int b=6; int c=8; printf('Value of b is:%d', b); printf('
Value of c is:%d',c); return 0; } 

上記のコードでは、%d 指定子を使用して b と c の整数値を出力しています。

出力

C フォーマット指定子
    %で
 int main() { int b=10; int c= -10; printf('Value of b is:%u', b); printf('
Value of c is:%u',c); return 0; } 

上記のプログラムでは、符号なし形式指定子、つまり %u を使用して b と c の値を表示しています。 b の値は正であるため、%u 指定子は b の正確な値を出力しますが、c には負の値が含まれているため、c の値は出力しません。

出力

YouTubeをダウンロードするにはvlc
C フォーマット指定子
    %O
 int main() { int a=0100; printf('Octal value of a is: %o', a); printf('
Integer value of a is: %d',a); return 0; } 

上記のコードでは、a の 8 進数値と整数値を表示しています。

出力

C フォーマット指定子
    %x と %X
 int main() { int y=0xA; printf('Hexadecimal value of y is: %x', y); printf('
Hexadecimal value of y is: %X',y); printf('
Integer value of y is: %d',y); return 0; } 

上記のコードでは、y には 16 進値「A」が含まれています。 y の 16 進値を 2 つの形式で表示します。 %x と %X を使用して 16 進値を出力します。%x は値を小文字 (つまり 'a') で表示し、%X は値を大文字 (つまり 'A') で表示します。

出力

C フォーマット指定子
    %f
 int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; } 

上記のコードは、y の浮動小数点値を出力します。

出力

文字列の連結
C フォーマット指定子
    %そうです
 int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; } 

出力

C フォーマット指定子
    %そして
 int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; } 

出力

C フォーマット指定子
    %g
 int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; } 

上記のコードでは、%g 指定子を使用して y の浮動小数点値を表示しています。 %g 指定子は、入力と同じ出力を同じ精度で表示します。

出力

C フォーマット指定子
    %p
 int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; } 

出力

C フォーマット指定子
    %c
 int main() { char a='c'; printf('Value of a is: %c', a); return 0; } 

出力

C フォーマット指定子
    %s
 int main() { printf('%s', 'javaTpoint'); return 0; } 

出力

C フォーマット指定子

最小フィールド幅指定子

画面上で最小限のスペースを占める出力を表示するとします。これを実現するには、書式指定子のパーセント記号の後に整数値を表示します。

数多の合計
 int main() { int x=900; printf('%8d', x); printf('
%-8d',x); return 0; } 

上記のプログラムでは、%8d 指定子は 8 つのスペースの後の値を表示し、%-8d 指定子は値を左揃えにします。

出力

C フォーマット指定子

次に、空のスペースを埋める方法を見てみましょう。それは以下のコードに示されています。

 int main() { int x=12; printf('%08d', x); return 0; } 

上記のプログラムでは、%08d は空のスペースをゼロで埋めることを意味します。

出力

C フォーマット指定子

精度の指定

「.」を使用して精度を指定できます。 (ドット) 演算子の後に整数と形式指定子が続きます。

 int main() { float x=12.2; printf('%.2f', x); return 0; } 

出力

C フォーマット指定子