
C言語基礎|printf関数で画面に表示してみよう
画面表示はプログラムとの最初の対話
C言語のプログラムを書いても、
その結果が画面に表示されなければ、
正しく動いているのかどうか分かりません。
そこで登場するのが、
printf 関数
です。
printf 関数は、
計算結果や文字列を、指定した形式で画面に表示するための関数
です。
この章では、
「画面に表示する処理を関数にゆだねる」
という考え方を、printf 関数を通して学んでいきます。

printf関数とは何をするもの?
printf は「プリントエフ」と読みます。
名前の末尾についている f は、
format(書式)
に由来しています。
つまり printf は、
書式を指定して表示を行う関数
です。
関数に処理をゆだねるという考え方
画面への表示処理は、
プログラムのあちこちで使われる基本機能です。
C言語では、このような共通処理を
関数
としてまとめ、必要なときに呼び出します。
この「関数に処理をお願いする」ことを
関数呼出し(function call)
といいます。
printf関数の呼出しを見てみよう
次の一文を見てください。
内容と表示メッセージは、指定どおり変更しています。
printf("%d", 28 + 14);この1行は、次の意味を持っています。
| 要素 | 内容 |
|---|---|
| printf | 表示処理を行う関数 |
| %d | 10進数で表示せよという指示 |
| 28 + 14 | 表示したい計算結果 |
実行すると、画面には次の数値が表示されます。
42関数名と実引数の関係
関数呼出しでは、
関数名の後ろに ( ) を付け、
その中に 実引数 を並べます。
printf("%d", 28 + 14);| 項目 | 説明 |
|---|---|
| 関数名 | printf |
| 実引数 | "%d", 28 + 14 |
| 区切り | 複数ある場合はコンマで区切る |
実引数は、
「この処理を行うための補助的な指示」
だと考えると分かりやすいです。
書式文字列と変換指定
printf 関数に与える 最初の実引数 は、
書式文字列(format string)
と呼ばれます。
"%d"この中の
%d
は、変換指定 と呼ばれます。
| 指定 | 意味 |
|---|---|
| %d | 整数を10進数で表示 |
d は、
decimal(10進数)
に由来しています。
この指定があることで、
続く実引数の値が「どのように表示されるか」が決まります。
文(statement)としてのprintf
C言語では、
文 は原則としてセミコロン ; で終わります。
printf("%d", 28 + 14);このセミコロンは、
日本語の句点 。
に相当するものです。
| 要素 | 役割 |
|---|---|
| セミコロン | 文の終わりを示す |
| 文 | 実行される最小単位 |
プログラムの実行順序を意識しよう
C言語のプログラムでは、
{ } の中に書かれた文が
上から順に実行
されます。
次のプログラムでは、
2つの文が順番に実行されます。
printf("%d", 28 + 14);
return 0;| 順番 | 実行内容 |
|---|---|
| 1 | printf による画面表示 |
| 2 | return 0 による終了 |
減算の結果を表示してみよう
次は、加算ではなく
減算(引き算)
を行うプログラムを作ってみましょう。
プロジェクト名:chap1-5-1 ソースファイル名:chap1-5-1.c
// 二つの整数の差を表示
#include <stdio.h>
int main(void)
{
printf("%d", 18 - 35);
return 0;
}実行結果は次のとおりです。
-17計算結果が負の数の場合は、
自動的に マイナス記号 -
が先頭に付きます。
表示を分かりやすくしてみよう
数値だけが表示されても、
「何の結果なのか」
が分かりにくいことがあります。
そこで、文字と一緒に表示してみましょう。
プロジェクト名:chap1-5-2 ソースファイル名:chap1-5-2.c
// 計算結果を説明付きで表示
#include <stdio.h>
int main(void)
{
printf("18から35を引いた結果は%dです。\n", 18 - 35);
return 0;
}実行結果は次のようになります。
18から35を引いた結果は-17です。書式文字列の中身を分解して理解しよう
"18から35を引いた結果は%dです。\n"| 部分 | 意味 |
|---|---|
| 文字 | そのまま表示される |
| %d | 整数を10進数で表示 |
| \n | 改行文字 |
\n は、
改行(new line)
を表す特別な記号です。
画面に \ と n が表示されるのではなく、
目に見えない改行文字
が出力されます。
なぜ最後に改行を入れるのか
多くの実行環境では、
プログラムの出力の直後に
OSのプロンプトが表示されます。
改行がないと、
出力結果とプロンプトが
くっついてしまうことがあります。
最後に \n を入れておくことで、
画面表示が読みやすくなります。
この章で押さえておきたいポイント
| 項目 | 内容 |
|---|---|
| printf | 書式を指定して表示する関数 |
| 実引数 | 関数に与える補助的な指示 |
| 書式文字列 | 表示のルールを書く文字列 |
| %d | 整数を10進数で表示 |
| \n | 改行 |
最初はすべてを完全に理解できなくても大丈夫です。
「表示の仕方を指定できるんだ」
という感覚をつかめれば十分です。
