
C言語入門|printfによる画面表示の基本:書式文字列とプレースホルダを使いこなす
ここからはいよいよ、
「画面に結果を表示する」という、プログラミングの楽しさを実感できるテーマに入っていきます😊
これまで何気なく使ってきた printf ですが、
実はとても高機能で、きれいな表示を作るための工夫がたくさん詰まった命令なんです✨
「数値をそのまま出す」だけで終わらせるのは、ちょっともったいないですよ😉

printfとはどんな命令?🖥️
printf は、画面に文字や数値を表示するための命令です。
C言語では、表示処理といえばまずこの命令、というくらい定番の存在ですね😊
printf を使うときは、プログラムの先頭に次の記述が必要になります。
#include <stdio.h>これは「printf を使う準備をしますよ」という宣言だと思ってください🙂
printfの基本的な書き方✨
まずは、もっとも基本的な形を見てみましょう。
printf(➀, ➁);この2つの要素がポイントです👇
| 番号 | 内容 | 役割 |
|---|---|---|
| ① | 書式文字列 | 表示内容のひな形 |
| ② | 変数や式 | 実際に表示したい値 |
②には、変数だけでなく 計算式 を書くこともできます😊
書式文字列ってなに?🤔
書式文字列とは、
👉 「どんな形で表示するか」を決めるテンプレート
のようなものです。
たとえば、こんな書き方を見たことがありますよね👇
printf("年齢は %d 歳です\n", age);この文字列の中にある %d が、とても重要な役割を持っています✨
プレースホルダの正体😊
書式文字列の中にある
% から始まる特別な記号を プレースホルダ と呼びます。
プレースホルダは、
👉 あとから値が流し込まれる場所
を表しています。
実行時には、次のような流れになります👇
1️⃣ 書式文字列を読み取る。
2️⃣ %d の位置を見つける。
3️⃣ 対応する変数の値をそこに入れる。
まさに「表示用の空きスペース」ですね🙂
データ型とプレースホルダの対応表📊
プレースホルダは、表示するデータ型に合わせて使い分ける必要があります。
| 種別 | データ型 | プレースホルダ |
|---|---|---|
| 整数 | char(数値) | %d |
| 整数 | short | %d |
| 整数 | int | %d |
| 整数 | long | %ld |
| 小数 | float / double | %f |
| 文字 | char(文字) | %c |
| 文字列 | String | %s |
「全部覚えなきゃ…😰」と思うかもしれませんが、
最初は %d と %s だけでほぼ困りません😊
桁数をそろえて表示する✨
プレースホルダは、
表示の 桁数 を指定することもできます。
printf("%d", 123); // 123
printf("%5d", 123); // 123
printf("%05d", 123); // 00123このように指定すると、
- 数字の位置をそろえたいとき
- ゲームのHPやスコア表示
などで、とても見やすい表示が作れます🎮
複数の値をまとめて表示する😊
printf では、プレースホルダを複数使うこともできます。
printf(➀, ➁, ➂, ➃, ...);書式文字列の中のプレースホルダの数と、
後ろに並べる変数や式の数は、必ず一致させます。
サンプルを少しアレンジして見てみましょう👇
プロジェクト名:3-10-1 ソースファイル名: sample3-10-1.c
#include <stdio.h>
typedef char String[1024];
int main(void)
{
int level = 12;
String player = "アオイ";
printf("プレイヤー %s は レベル %d です。\n", player, level);
return 0;
}この場合、
- %s に player
- %d に level
が、それぞれ順番に流し込まれます🙂
プレースホルダがない場合は?🤔
もし書式文字列の中にプレースホルダが1つもなければ、
printf は 固定の文字列をそのまま表示します。
printf("こんにちは");これは、いちばんシンプルな使い方ですね😊
printfは「表示の設計図」だと思おう✨
printf は、
- 書式文字列で「表示の形」を決め
- プレースホルダで「値の入り口」を作り
- 引数で「実際の値」を流し込む
という仕組みで動いています🙂
最初は少しややこしく感じるかもしれませんが、
使えば使うほど「便利さ」が実感できる命令ですよ👍
