C言語関数:printf





C言語のページでは、次の内容を解説しております。
C言語の入門講座  C言語の文法を中心に、基本的な関数などの解説をしています。
C言語ケーススタディ  C言語での実践的なプログラミングについて解説をしています。
C言語の関数リファレンス  C言語で用意されている関数を解説しています。
C言語で3次元動画プログラム  C言語で3次元タートルグラフィックを使用した3次元の動画プログラムの作成例です。
C言語の検定試験  C言語の文法に関する検定試験を実施することができます。
C言語でゲーム作成  C言語を使用したゲームの作り方を解説したページも用意しております。



2014年10月より個人の方を対象に、Study C無料提供を開始しました。
C言語を勉強中の方は、学習・教育に最適なC言語インタープリタのStudy Cを使ってみてください(個人の方は無料です)。
大学・高専・高校などの教育機関での採用実績も多数あるロングセラー商品Study Cが、個人向けに無料提供を始めました。
インタープリタの手軽さに加え、ゲームや3Dタートルグラフィックで楽しく勉強したりと、C言語の学習を協力にサポートします。
ブロック崩しゲーム 3Dツリー クリスマスツリー
また、このようなボタンの用意されているページでは、掲載しているプログラムをStudy Cに直接ロードし実行したりすることができます。
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する
Study C無料利用についての詳細は、このページを参照してください。




■printf
標準出力への書式付き出力

【分類】
標準入出力/ストリーム関数

【書式】
int printf(const char *format, ...);

【パラメータの型と説明】

パラメータ説明
const char *format書式文字列

【機能説明】
formatで指定した書式文字列に従って、他の引数を文字列に変換して標準出力に出力します。出力に成功した場合は、出力した文字数を返し、エラーが起こったときはEOF(-1)を返します。書式文字列には、変換指定とそのまま出力される文字の2種類があります。

変換指定: %[フラグ][印字幅][.精度][サイズ]型

・フラグ

- 左詰めで出力します。
+ 数値の前に符号を出力します。
空白 数値が負でない場合は空白を、負のときは'-'を出力します。
# 型が以下のとき意味を持ちます。
o 値が0でないとき'0'を出力します。
x 0xを出力します。
X 0Xを出力します。
e,E,f 値が整数になったときも小数点を出力します。
g,G 値が整数になったときも小数点を出力します。
ただし、最後の不必要な'0'は出力されません。

・印字幅
 出力する文字数を数字列か'*'を使って間接的に指定します。
 変換の結果が印字幅を越えたときは印字幅の指定は無視されます。
 変換の結果が印字幅よりも小さいときは空白で埋められます。
 ただし、数字列の前に'0'があるときは'0'で埋められます。
 *を使って間接的に印字幅を指定するときは、int型の整数を
 引数に与える必要があります。

・精度
 浮動小数点出力のときは小数点以下の文字数を、その他のときは
 出力する最大文字数を数字列か'*'を使って間接的に指定します。
 変換結果が精度を越えたときは、精度の大きさに削られます。
 印字幅と同じように*を使って間接的に指定することができます。

・サイズ
 デフォルト引数のサイズを変更します。
 l 引数がlong型であると仮定します。

・型
 引数をどの様な型と見なして出力するか決定します。

d 符号付き10進整数
i 符号付き10進整数
o 符号無し8進整数
u 符号無し10進整数
x 符号無し16進整数(a,b,c,d,e,f を使用)
X 符号無し16進整数(A,B,C,D,E,F を使用)
f 浮動小数点([-]dddd.dddd)
e 浮動小数点([-]d.dddde[+/-]dddd)
g 浮動小数点(f,e形式のうち変換結果の短い方が選ばれるます)
E 浮動小数点([-]d.ddddE[+/-]dddd)
G 浮動小数点(f,E形式のうち変換結果の短い方が選ばれるます)
c 1文字
s 文字列
% %そのものを出力
n これまでに出力された文字数を格納
p 任意のポインタ(xxxx:yyyy の形式で出力)

【参照関数】
fprintf
sprintf