”本気で”エンジニアを目指すなら『TECH BOOST』キャリアから逆算された講座内容で、あなたの未来をサポートします!

【C言語超入門(第29回)】重要関数printf、scanfの使い方を身に付けよう

Pocket

C言語にはたくさんの標準関数が用意されていますが、その中でも使用頻度が高い重要な関数としてprint関数とscanf関数があります。

printf関数は書式付きで文字列や数値をディスプレーに出力し、
scanf関数はデータ型を指定してキーボードから入力することができる関数です。

今回のC言語超入門は、C言語でプログラミングを行う上で覚えておきたいprint関数とscanf関数の基本的な使い方について解説いたします。

printf関数の基本的な使い方

printf関数は、ディスプレーに書式を指定して文字列や数値を出力する関数です。

ディスプレーに出力することができる関数にはputchar関数やputs関数がありますが、
printf関数は書式を指定できることに特徴があります。

putchar関数とputs関数でできることはprintf関数でも実現できますが、逆にprintf関数でできることの一部は、putchar関数とputs関数では実現できませんから、
printf関数は、オールマイティーなディスプレー出力関数と言えるでしょう。

printf関数の使い方は以下のとおりです。

書式指定文字列はダブルクォーテーションで囲んだ文字列です。

この文字列に、出力したい文字列と、%で始まる変換文字列を書きます。

変数には、書式指定文字列と対応する変数を書き、複数の変数を使いたいときは、変数をコンマで区切って列挙します。

printf関数の変換文字列

printf関数の変換文字列とは、printf関数で出力したい変数を、どのような型に変換して表示するのかを指定するものです。

例えば、変数の値を10進数で表示したいときは、変換文字列として “%d” を使用します。

代表的な変換文字列は以下のとおりです。

変換文字列 説明
%d 10進数
%x 16進数
%f 浮動小数点数
%c 1文字
%s 文字列

printf関数の変換文字列のオプション指定子

変換文字列には、出力結果の見栄えをよくするためのオプション指定子をつけることができます。

オプション指定子は以下のように使用します。

scanf関数の基本的な使い方

scanf関数は、printf関数とは逆に書式付きの出力を行う関数で、
printf関数と書式指定文字列や変換文字列も共通しているところが多々ありますから、セットで覚えておくとよいでしょう。

キーボードから入力する関数としてgetchar関数やgets関数がありますが、ほぼ同等のことをscanf関数で実現できます。

ただし、scanf関数は空白を含む文字列を読み込むことができない、という制限があります。

もし空白を含む文字列を読み込みたい場合は、scanf関数の代わりにgets関数を使ってください。

scanf関数の使い方は以下のとおりです。

書式指定文字列は、printf関数と同様にダブルクォーテーションで囲んだ文字列です。

この文字列に、%で始まる変換文字列を書きます。

また、printf関数と同様に書式指定文字列と対応する変数を書きますが、
scanf関数では変数名ではなく、変数のアドレスを書きます。

変数のアドレスは、変数名の前に & をつけることで、その変数のアドレスを取り出せます。

scanf関数の変換文字列

scanf関数の変換文字列は、入力されたデータの型を指定するものです。

例えばキーボードから 123 と入力された場合であっても、
10進数として入力するか16進数として入力するのかによって値が異なりますから、変換文字列でデータ型を指定する必要があります。

代表的なscanf関数の変換文字列は次のとおりです。

変換文字列 説明
%d 10進数
%x 16進数
%f float型変数の実数
%lf double型変数の実数
%c 1文字
%s 文字列

C言語超入門の第29回まとめ

今回のC言語超入門では、C言語の中でも特に重要な関数であるprintf関数とscanf関数について解説いたしました。

最後にprintf関数とscanf関数のポイントについておさらいしておきます。

・printf関数は書式を指定できるオールマイティーなディスプレー出力関数
・変数の値は、%から始まる変換文字列を使うことで、さまざまな型に変換することができる
・printf関数とscanf関数は共通しているところが多くあるので、セットで覚えておきたい

ステップ・バイ・ステップ。焦らず一歩ずつ進んでいきましょう。

投稿者:プロナビ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

この記事が気に入ったら
いいね!しよう

プロナビの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る