- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 授業/C言語基礎/画面への出力 へ行く。
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に変更し、実行結果を確認せよ。