授業/C言語基礎/画面への出力 のバックアップ(No.3)


printf関数

画面に出力するには、printf関数を使います。

printf関数は、標準入出力ライブラリーのヘッダー・ファイル stdio.h の中に定義されていて、このライブラリーを読み込まないと使えません。

ライブラリーを読み込むには、 #include を使い、< > の中にヘッダー・ファイルの名前を指定します。 (ライブラリーについては、後日、詳しく勉強します。)

printfは、print formatを表していて、書式付き出力という意味です。

変換指定子

printf関数の中で書式(フォーマット)を指定するものを変換指定子といいます。

変換指定子は、% の記号で始まる文字列で表されます。

整数・小数を出力する

整数を出力するときは %d、小数を出力するときは %f、小数を指数形式で出力するときは %e を変換指定子として用います。

たとえば、整数と小数を出力するプログラムは、次のようになります(プログラム1)。

  printf(文字列);

このプログラムを実行すると、次のようになります。

  printf(文字列, 変数1, 変数2, ...);

演習1

プログラム1を作成し、実行結果を確認せよ。

桁数を指定する

桁数は、%桁数d の形で指定します(プログラム2、一部のみ)。

#include <stdio.h>

int main(void) {
  int i = 12345;
  double d = 123.456789;

  printf("%d\n", i);
  printf("%f\n", d);
  printf("%e\n", d);

  return 0;
}
luna% a.out
12345
123.456789
1.234568e+02

小数の場合は、%全体の文字数.小数点以下の桁数f の形で指定します。 全体の文字数を省略して、小数点以下の桁数だけでも指定できます(プログラム3、一部のみ)。

  int i = 12345, j = -987;

  printf("%8d\n", i);
  printf("%8d\n", j);
luna% a.out
   12345
    -987

指数形式の場合は、%.小数点以下の桁数e の形で指定します(プログラム4、一部のみ)。

  double d = 123.456789, e = -98.7;

  printf("%8.3f\n", d);
  printf("%8.3f\n", e);
  printf("%.3f\n", d);
  printf("%.3f\n", e);
luna% a.out
 123.457
 -98.700
123.457
-98.700

演習2

プログラム1をプログラム2から4に変更し、実行結果を確認せよ。

ゼロ埋め

桁数の前に 0 をつけると、0で埋めて表示されます(プログラム5、一部のみ)。

  double d = 123.456789, e = -98.7;

  printf("%12.3e\n", d);
  printf("%12.3e\n", e);
luna% a.out
   1.235e+02
  -9.870e+01

演習3

プログラム2をプログラム5に変更し、実行結果を確認せよ。

符号

% の後ろに + をつけると、符号が常に出力されます(プログラム6、一部のみ)。

  int i = 12345, j = -987;

  printf("%08d\n", i);
  printf("%08d\n", j);
luna% a.out
00012345
-0000987

% の後ろに空白を入れると、値が正のときは + の代わりに空白が出力されます(プログラム7、一部のみ)。

  int i = 12345, j = -987;

  printf("%+d\n", i);
  printf("%+d\n", j);
luna% a.out
+12345
-987

演習4

プログラム5をプログラム6、7に変更し、実行結果を確認せよ。

左詰め

% の後ろに をつけると、左詰めで出力されます(プログラム8、一部のみ)。

  int i = 12345, j = -987;

  printf("% d\n", i);
  printf("% d\n", j);
luna% a.out
 12345
-987

演習5

プログラム7をプログラム8に変更し、実行結果を確認せよ。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS