文字列の出力
文字列をプロンプト上に出力するには printf()
関数を使う。ただし,stdio.h
をインクルード(#include <stdio.h>
)しなければならない。
たとえば「hello, world」という文字列をプロンプト上に出力するには以下のコードを main()
関数内に書く。なお,\
(バックスラッシュ) はフォントによっては ¥
とも表示される。
printf("hello, world\n");
ここで,\n
は「改行」を意味している。\n
はエスケープ シーケンスと呼ばれ,下に挙げるようなものがある。
文字列 | 意味 |
---|---|
\a |
警告音 |
\f |
ページ送り |
\n |
改行 |
\r |
同じ行の先頭に戻る |
\t |
水平タブ |
\v |
垂直タブ |
\\ |
「\」(「¥」) の表示 |
\' |
「'」(アポストロフィー)の表示 |
\" |
「"」(ダブルクォーテーション)の表示 |
\0 |
ヌル文字 |
数値・文字の出力
まず整数や小数(浮動小数点数)を出力するには次のように書く。
printf("%d\n", 123);
printf("%f\n", 10.5);
123
10.500000
このように,整数値の出力には %d
,浮動小数点数の出力には %f
または %lf
を用いる。ただし,実際にソースコードを組んで実行してみると分かるが,浮動小数点数は(デフォルトで)小数点以下 6 桁出力される。
浮動小数点数を小数点以下 6 桁以外で表示するには,%.桁数f
または %.桁数lf
という風に %
と f
(lf
) の前に,.
(ドット,ピリオド) に続けて桁数を書く。下に例を挙げる。
printf("%.3f\n", 3.141592); /* 小数点以下3桁まで表示 */
3.142
このように,四捨五入して表示される。
次に文字を出力するには次のように書く。
printf("%c\n", 'A');
A
このように,文字の出力には %c
を用い,これに対応する引数の文字は '
でくくる。ただし,この方法で出力できるのは 1 文字だけである。C 言語や C++ などのプログラミング言語では「文字」と「文字列」は区別される。
%d
や %c
などを変換仕様といい,次のようなものがある。
文字列 | 意味 |
---|---|
%d |
10 進整数値 |
%o |
8 進整数値 |
%x |
16 進整数値 |
%f |
浮動小数点小数値 |
%lf |
浮動小数点小数値 |
%c |
1 文字 |
%s |
文字列 |
%p |
変数のアドレス |
複数の値(数値・文字)の出力
複数の数値や文字を出力するには,次のようにする。
printf("数値:%d, 文字:%c\n", 19, 's');
数値:19, 文字:s
このように変換仕様を複数書くと printf()
の第 2 引数から順番に対応して出力される。

printf()
関数の引数の対応まとめ
printf()
関数
ヘッダ ファイル | stdio.h |
|
---|---|---|
書式 [2] | int printf(const char *format, ...); |
|
戻り値 | int [3] |
出力成功:転送したバイト数 出力失敗:負の値 |
引数 | const char *format |
表示する文字列や変換仕様 |
第 2 引数以降(省略可) | 変換仕様がある場合に,それに対応する値 |
エスケープ シーケンス
文字列 | 意味 |
---|---|
\a |
警告音 |
\f |
ページ送り |
\n |
改行 |
\r |
同じ行の先頭に戻る |
\t |
水平タブ |
\v |
垂直タブ |
\\ |
「\」(「¥」) の表示 |
\' |
「'」(アポストロフィー)の表示 |
\" |
「"」(ダブルクォーテーション)の表示 |
\0 |
ヌル文字 |
変換仕様
文字列 | 意味 |
---|---|
%d |
10 進整数値 |
%o |
8 進整数値 |
%x |
16 進整数値 |
%f |
浮動小数点小数値 |
%lf |
浮動小数点小数値 |
%c |
1 文字 |
%s |
文字列 |
%p |
変数のアドレス |