サイトマップ / C言語講座出入り口総目次目次:入出力(2)>書式付き出力と書式指定子

青い直線

書式付き出力と書式指定子

青い直線

[書式付き入力と書式指定子]←このソース→[色々なデータ型の最大値、最小値]

/* 書式指定子の詳細説明 */

/* 今日は、書式付き出力で使用される書式指定子について詳しく学びます。書式付き出力を行う標準ライブラリ関数には次のものがあります。

    prinft(  ), fprintf(  ), sprintf(  ), vprintf(  ), vfprintf(  ),
    vsprintf(  )

書式付き出力で使われる書式指定子は次の形をしています。

%[フラグ][フィールドサイズ][.[精度]][引数サイズ] 変換文字

フラグ:指定子を修飾。いくつ付けても良い。

フラグ そ  の  意  味
- 出力される文字を左寄せ
正の整数の前にプラス記号を付ける
スペース 正の数ならば数値の前にスペースを付ける
・指定子oに対して、0を付け、最初の桁を0にする
・指定子 x または X に対して、数値が0でなければ、0xを付ける
・指定子e、E、f、 g または Gに対しては、小数点以下も出力

フィールドサイズ:文字数を整数で指定する。

精度:.(ピリオド)に数字を続けて精度を指定する。

変換文字 精    度
s 文字列から出力する最大文字数
e、E、f 少数点以下の桁数
g、G 出力する最大有効桁数
d、o、u、x、X 出力する最大有効桁数、空白は0で埋められる

引数サイズ そ  の  意  味
h d、o, u, x, X 変換の時、対応するパラメータが、
short, int, unsigned short, unsigned int 型であることを示す。
l d、o, u, x, X 変換の時、対応するパラメータが、
long, unsigned long 型であることを示す。

変換字は、引数の出力方法を指定します。省略はできません。

変換文字 そ  の  結  果
c 文字を出力
s 文字列を出力
d 符号付き10進数の形で出力
u 符号なし10進数の形で出力
o 符号なし8進数の形で出力
x 符号なし16進数の形で出力
X 符号なし16進数の形で出力
e, E 浮動小数点数を [-]x.xxxe[+|-]xxの形で出力
f 浮動小数点数を [-]xxx.xxx の形で出力
g 浮動小数点数を f 変換または e 変換して出力
G 浮動小数点数を f 変換または G 変換して出力

ソースプログラムの説明

今日のソースプログラムでは、f変換とg変換の違いを比較します。メインルーチンの中で、double型の変数xを宣言し、1.0に初期化します。ループの中で、f変換とg変換で変数xの値を表示し、10で割って、x > 0.0000001 が成り立つ間ループを続けます。プログラムを実行して、f変換とg変換の違いを確認して下さい。 */

/* ここからソースプログラム */

#include <stdio.h>

void main(void);

void main(void)
{
    double x = 1.0;

    printf("double x = 1.0\n\n");

    while (x > 0.0000001 ) {                           /* %%で%を出力 */
        printf("%%8.6lf:%8.6lf\n", x);                /* 小数点以下6桁 を f 変換で出力 */
        printf("%%g:%g\n", x);                        /* g 変換で出力 */
        x /= 10;                                      /* x の値を 10 分の 1 にする */
    }
}

/* ここまでソースプログラム */

[書式付き入力と書式指定子]←このソース→[色々なデータ型の最大値、最小値]

青い直線

/* (C) 2000- YFプロ. All Rights Reserved. */    提供:C言語講座−それ自体コンパイルできる教材を使った講座です−

青い直線

サイトマップ / C言語講座出入り口総目次目次:入出力(2)>書式付き出力と書式指定子