C言語 printfの使い方

この記事のポイント

  • C言語におけるprintf関数の基本的な仕組み
  • 書式指定子の使い方と種類
  • printf関数による数値、文字列、浮動小数点数の出力方法
  • 出力フォーマットのカスタマイズ     
  • 実行結果を見やすくする表示テクニック

目次

printf関数とは?

C言語のprintf関数は、画面にデータを表示するための最も基本的かつ一般的な関数で、「print formatted(印刷フォーマット済み)」の略語です。printf関数を使うと、フォーマットの(書式)指定を通じてさまざまなデータを出力できます。

実行結果の出力は、プログラミングにおける代表的な基本機能です。そのため、printf関数は、C言語を初めて学ぶ方にとって最初に触れる関数の一つといっても過言ではないでしょう。

printf関数を使えば、単純なテキストメッセージの表示から、複雑な数値データの整形された出力まで、さまざまな表示が可能です。またprintf関数は、プログラムの動作確認やデバッグ時の情報表示にも欠かせないツールとなります。

printf関数は、標準ライブラリ「stdio.h」に含まれており、使用時は、プログラムの先頭でこのヘッダファイルをインクルードする必要があります。出力先は標準出力(通常はコンソール画面)です。

printf関数の最大の特徴は、書式指定子と呼ばれる特殊な記号を使い 、数値や文字列といったさまざまなデータ型の値を、希望の形式で出力できる柔軟性にあります。printf関数を使うと、例えば整数、小数、文字、文字列などの異なるデータ型を一つの出力文で組み合わせることもできるでしょう。また、出力する値の幅や精度、左右寄せなど、細かい書式設定も可能です。表形式のデータや綺麗に整形された出力も作成できます。このページでは、初心者の方でもマスターしやすいprintf関数の基本機能から上級者向けの高度な書式制御まで、幅広く解説していきましょう。

【関連】
C言語をもっと詳しく学ぶならpaizaラーニング

基本構文

printf関数の基本的な使い方は、とてもシンプルです。最も単純な形式は、表示したいテキストを二重引用符で囲むだけになります。変数の値を出力する場合は、書式指定子と呼ばれる特殊な記号を使用する形です。代表的な書式指定子として、整数用の「%d」、浮動小数点数用の「%f」、文字用の「%c」、文字列用の「%s」などがあります。

#include <stdio.h> int main() { printf("こんにちは!\n"); int age = 5; printf("このイヌは%d歳です。\n", age); return 0; }

実用例

printf関数は、さまざまな出力形式に対応できる非常に柔軟な関数です。動物に関連した実際のコード例を通してprintf関数の使い方を詳しく紹介していきます。

このセクションは、初心者の方でも理解しやすくするために、基本的な例から徐々に高度な使い方へとステップアップする流れにしています。実際にコードを試してみることで、printf関数の働きがより深く理解できるでしょう。

基本的な出力

以下のコード例は、printf関数の最も基本的な使い方です。変数を使わず単純なテキストメッセージを画面に表示します。これはC言語プログラミングの第一歩とも言える「Hello, World!」の動物版です。改行を表す\nも使っています。

#include <stdio.h> int main() { printf("こんにちは、ネコの世界!\n"); return 0; }

出力結果:

こんにちは、ネコの世界!

数値の出力

整数値を出力する基本的なコード例です。%d は整数(decimal)を表示するための書式指定子です。動物の数や年齢などの整数データを表示する際に役立つコード例になります。ただし、書式指定子の位置に変数の値が埋め込まれることに注目してください。

#include <stdio.h> int main() { int dogs = 3; printf("イヌ: %d匹\n", dogs); return 0; }

出力結果:

イヌ: 3匹

複数の値を出力

複数の変数値を一度に出力する方法です。異なる種類の動物とその数を表示しています。具体的な出力方法は、書式指定子を複数使用し、それぞれに対応する変数を順番に指定するものです。重要ポイントは、書式指定子と変数の順序が対応している点です。

#include <stdio.h> int main() { int cat = 2; int bird = 5; printf("ネコ: %d匹、トリ: %d羽\n", cat, bird); return 0; }

出力結果:

ネコ: 2匹、トリ: 5羽

書式指定子を使用した出力

さまざまな書式指定子を使ったコード例です。異なるデータ型に対応する書式指定子を使い分けることで、多様な情報を適切に表示できます。整数、浮動小数点数、文字を扱う例となっており、それぞれ%d、%f、%cの書式指定子を使用しています。

#include <stdio.h> int main() { int count = 4; float height = 5.5; char grade = 'A'; printf("ゾウの数: %d\n", count); printf("キリンの身長: %.1fm\n", height); printf("動物園評価: %c\n", grade); return 0; }

出力結果:

ゾウの数: 4
キリンの身長: 5.5m
動物園評価: A

文字列の出力

文字列を出力する例です。%s は文字列(string)を表示するための書式指定子になります。具体的には、動物の名前や種類といったテキストデータを扱う際に使うものです。文字列変数を定義したうえで、その内容をprintf関数で表示する流れになるでしょう。

#include <stdio.h> int main() { char name[] = "ポチ"; char type[] = "イヌ"; printf("ペット名: %s(%s)\n", name, type); return 0; }

出力結果:

ペット名: ポチ(イヌ)

浮動小数点数の出力

浮動小数点数(小数)を出力する方法です。%f は浮動小数点数を表示するための書式指定子です。%fは、動物の体重などの正確な数値が必要な場合に使います。%.2fのように精度を指定すると、小数点以下の桁数も制御可能です。

#include <stdio.h> int main() { float cat = 4.25; double tiger = 167.83; printf("ネコの体重: %f kg\n", cat); printf("トラの体重: %.2f kg\n", tiger); return 0; }

出力結果:

ネコの体重: 4.250000 kg
トラの体重: 167.83 kg

幅と精度の指定

出力の幅と精度を制御する方法です。フィールド幅の指定で出力を整形することで、表形式のデータをきれいに表示できます。%-10sは左寄せで幅10文字の文字列、%5dは右寄せで幅5文字の整数を表します。以下のコード例を活用すると、表のような整形出力が可能になるでしょう。

#include <stdio.h> int main() { printf("%-10s %5s\n", "動物名", "数"); printf("%-10s %5d\n", "ライオン", 5); printf("%-10s %5d\n", "キリン", 3); return 0; }

出力結果:

動物名     数
ライオン     5
キリン       3

エスケープシーケンスの活用

エスケープシーケンスを使った出力制御の例です。エスケープシーケンスとは、文字列内で通常は表記できない特殊文字を表示するために使用する特殊な記号のことです。具体的には、改行(\n)、タブ(\t)、引用符(\")などがあります。出力結果のコードを書くときにエスケープシーケンスを活用すると、出力の見た目を調整したり、特殊文字を含むテキストを正確に表示したりできるでしょう。

#include <stdio.h> int main() { printf("イヌ: \"ワン!\"\t(犬)\n"); printf("ネコ: \"ニャー\"\t(猫)\n"); return 0; }

出力結果:

イヌ: "ワン!"	(犬)
ネコ: "ニャー"	(猫)

まとめ

C言語のprintf関数は、簡単なテキスト出力から複雑なデータの整形表示まで対応できる、非常に強力で柔軟な関数です。この記事で紹介した基本構文と実用例をマスターすると、さまざまな場面でprintf関数を活用できるかと思われます。     

printf関数を使ううえで特に重要となるのは、書式指定子の理解と適切な使用です。%d、%f、%c、%sなどの書式指定子を使い分けることで、整数、浮動小数点数、文字、文字列といったさまざまなデータ型を適切に表示できます。また、幅と精度の指定やエスケープシーケンスを活用すると、見やすく整形された出力が実現できるでしょう。

printf関数は、C言語プログラミングにおける基本中の基本です。また、開発中にデバッグや情報表示をするうえでも欠かせないツールとなります。C言語プログラミングの初心者がこの関数を早くマスターすると、プログラムの動作確認や結果表示の質・スピードが格段に上がるでしょう。

この記事で紹介したコード例を参考にしながら、自分のプログラムでぜひprintf関数を活用してみてください。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. C言語のリファレンス記事一覧
  4. C言語 printfの使い方