C言語基礎|printf関数で画面に表示してみよう

画面表示はプログラムとの最初の対話

C言語のプログラムを書いても、
その結果が画面に表示されなければ、
正しく動いているのかどうか分かりません。

そこで登場するのが、
printf 関数
です。

printf 関数は、
計算結果や文字列を、指定した形式で画面に表示するための関数
です。

この章では、
「画面に表示する処理を関数にゆだねる」
という考え方を、printf 関数を通して学んでいきます。

printf関数とは何をするもの?

printf は「プリントエフ」と読みます。
名前の末尾についている f は、
format(書式)
に由来しています。

つまり printf は、
書式を指定して表示を行う関数
です。

関数に処理をゆだねるという考え方

画面への表示処理は、
プログラムのあちこちで使われる基本機能です。

C言語では、このような共通処理を
関数
としてまとめ、必要なときに呼び出します。

この「関数に処理をお願いする」ことを
関数呼出し(function call)
といいます。

printf関数の呼出しを見てみよう

次の一文を見てください。
内容と表示メッセージは、指定どおり変更しています。

printf("%d", 28 + 14);

この1行は、次の意味を持っています。

要素内容
printf表示処理を行う関数
%d10進数で表示せよという指示
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;
順番実行内容
1printf による画面表示
2return 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改行

最初はすべてを完全に理解できなくても大丈夫です。
「表示の仕方を指定できるんだ」
という感覚をつかめれば十分です。