C言語学習ポータル(無料版) 学習コンテンツ はじめてのC printfで画面に出す——書式指定の基本

🚪 はじめてのC

printfで画面に出す——書式指定の基本

無料公開版に収録・読む目安 12分

🎯 書式指定子とエスケープシーケンスを使い分け、思いどおりの形で値を表示できる

printf は print formatted——「書式を指定して出力する」という名前です。文字を出すだけでなく、数値を好きな形に整えて表示できます。ここを押さえると、プログラムの結果が一気に読みやすくなります。

書式指定子——値の差し込み口

#include <stdio.h>

int main(void) {
    int nin = 4;
    double kin = 1250.5;
    printf("%d人で%.1f円です\n", nin, kin);
    return 0;
}

出力は 4人で1250.5円です です。%d や %.1f が書式指定子で、後ろに並べた値がこの位置へ順番に差し込まれます(変数そのものは次のトラックで詳しくやります)。主なものは次のとおりです。

・%d … 整数(int)
・%f … 小数(double)。%.2f なら小数点以下2桁
・%c … 1文字(char)
・%s … 文字列
・%% … % という記号そのもの

エスケープシーケンス——見えない文字を書く

改行やタブは、文字列の中に直接は書けません。そこで \ で始まる合図を使います。これがエスケープシーケンスです。

#include <stdio.h>

int main(void) {
    printf("名前\t点数\n");
    printf("さくら\t92\n");
    printf("引用符は \" 、区切り記号は \\ です\n");
    return 0;
}

\n が改行、\t がタブ(桁揃え)、\" が引用符そのもの、\\ がバックスラッシュ(日本語環境では ¥ に見えます)です。

桁を揃える

#include <stdio.h>

int main(void) {
    printf("%5d円\n", 120);
    printf("%5d円\n", 8400);
    printf("[%-8s][%8s]\n", "left", "right");
    return 0;
}

%5d は5桁分の幅を確保して右詰め、%-8s は8桁で左詰めです。数字の桁が揃うだけで、結果はぐっと読みやすくなります。

罠・注意

指定子と値の型がずれると壊れる。 %d に小数を渡す、%f に整数を渡すといった不一致は、でたらめな数値が出たり、そのまま異常終了したりします。多くはコンパイラが警告してくれるので、警告は必ず読みます。

個数が合わない。 %d が2つあるのに値が1つだと、存在しない場所の値を読みにいきます。運が悪いと落ちます。

% を出したいときは %%。 printf("100%\n") は正しく動きません。

改行し忘れ。 出力が1行につながって見えるときは、まず \n の有無を確認します。

ビット\n を付けるか付けないかは、レシートの改行を決めるのと同じ。わざと付けずに、あとから続きを足すのもアリだよ。

まとめ

printf は「書式の文字列」+「差し込む値」の順に書きます。%d 整数、%f 小数、%c 文字、%s 文字列。\n 改行、\t タブ、%% と \\ は記号そのもの。型と個数が合っているかは、書いた直後に必ず数えます。

要点まとめ

アプリで演習問題まで解く(無料・登録不要)

この項目に出てくる用語

printfぷりんとえふ

文字や数値を書式指定に従って画面に表示する標準ライブラリの関数のこと。C言語で最も使う頻度が高い関数のひとつに数えられる。%dで整数、%fで小数、%sで文字列というように、値の種類ごとに書式を使い分ける。

書式指定子しょしきしていし

printfやscanfで使う%dや%fのような記号のこと。続けて渡す値をどんな型・どんな見た目として扱うかを指定する役割を持つ。指定する型と実際に渡す値の型がずれると、思わぬ表示結果になることがある。

エスケープシーケンスえすけーぷしーけんす

バックスラッシュ\で始まる特殊な文字表現のこと。\nで改行、\tでタブを表すなど、文字だけでは表せない働きを表現できる。画面上には見えない改行やタブといった働きを、文字として書き表す手段になる。

int型いんとがた

整数を扱うための基本的な型のこと。小数点を持たない数値を格納する、C言語でもっとも使う機会の多い型のひとつにあたる。環境にもよるが、多くの場合4バイトの大きさで値を保持している。

double型だぶるがた

小数を含む数値を扱うための型のこと。floatより広い範囲と高い精度を持ち、実数計算における標準的な選択肢として使われる。小数点以下の桁数が多い計算でも、比較的高い精度を保てるのが特徴。

char型きゃらがた

1文字を表すための型のこと。実体は小さな整数であり、文字コード表に基づいて数値と文字が対応づけられている。'A'のようにシングルクォートで1文字を囲んで書き表す。

同じトラックのほかの項目

開発環境ゼロで始める——このポータルの使い方環境構築なしで学習を始める手順と、このポータルの3つの使い方(読む・追う・解く)が分かる Hello, World! を解剖するHello, World! の5行それぞれの役割を自分の言葉で説明できる main関数と#includemainが実行の入口であること、#includeがヘッダファイルを取り込む指示であることを説明できる コンパイルエラーと友達になるエラーメッセージ1行を分解して読み、最初の1件から順に直せるようになる scanfで入力を受け取るscanfで数値を読み取り、&の意味と戻り値の確認までできる scanfの罠——入力の恐怖を越えるscanfの3大トラップ(&忘れ・型違い入力・改行残り)の症状と対処を説明できる コメントとコードの整え方2種類のコメントを使い分け、読みやすい書き方の基本ルールを身につける
‹ コンパイルエラーと友達になる scanfで入力を受け取る ›

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る

📚 姉妹教材:手を動かして覚える Linux 教材 — Linuxとインフラの仕組みを地図で学ぶ

Web版 / BOOTH