とある科学の備忘録

とある科学の備忘録

CやPythonのプログラミング、Arduino等を使った電子工作をメインに書いています。また、木製CNCやドローンの自作製作記も更新中です。たまに機械学習とかもやってます。

【C言語】NO.5 printf() の使い方 ver.2

今回は、printf()関数の様々な使い方を紹介していきます。

STEP1 文字列を出力する

もちろん、printf()関数は、かっこの中の文字列を出力(表示)する関数です。

	printf("猫でもわかるC言語");

と書けば、

猫でもわかるC言語

と表示されます。

STEP2 文字列を工夫して表示する

もし、下のような文字列を表示させたい時、どうすればよいでしょうか?

猫でも
わかる
C言語

つまり、改行させたいのです。その答えは...

	printf("猫でも\nわかる\nC言語");

つまり、改行したいところに、「\n」の文字を書けば、改行してくれます。このように、出力方法を拡張する特別な文字を、「エスケープシーケンス」と呼びます。エスケープシーケンスには、次のようなものがあります。

  • \n : 改行
  • \t : タブ(次の水平タブ位置に移動)
  • \b : バックスペース(現在の行で前に移動する)
  • \r : キャリッジリターン(現在行の最初の位置に移動)
  • \f : ページフィード(次の論理ページに移動)

まあ、いろいろ実行してみてください。例えば、

printf("ぽぷちん\tぽぷこ\tおるが\t\n");
printf("Pop\tTeam\tEpic\n");
print("希望\t\t\n");

の実行結果は、

ぽぷちん ぽぷこ おるが
Pop   Team  Epic
希望   の   華

のように、上下の列がそろっているはずです。


STEP3 変数のデータを表示する

そして、printf()の一番多い使い方が、変数の中身(データ)の値を表示する、というものです。
例えば、

int a = 30;
printf("%d", a);

と実行すると、

3

と、表示されます。
つまり、printf("文字列")という使い方をしますが、この文字列の間に「%c」や「%d」、「%f」などが存在すると、その部分に「"文字列”,」の右側の変数のデータを埋め込むことができます。

こんな感じです。(実行結果はコメントを見てね)

        int a;
        a = 3+5;
	printf("3+5の計算結果は%dです。", a);  //「8」と表示される

       char str = "エンダァァイヤァァ";
  printf("%c", str);     //「エンダァァイヤァァ」と表示される
  
       float b;
       b = 3.141592
       printf("円周率は%fです", b);    //「3.141592」と表示される

では、「%c」「%d」「%f」の使い分けは何か。それは、表示する変数のデータ型の違いです。
char型の場合は、「%c」と書いて、int型(整数型)の時は「%d」と書いて、浮動小数点型の場合は、「%f」と書きます。


STEP4 STEP3の書き方を進化させる。

STEP3の「%d」や「%c」の使い方には、まだ上があります。
それはまた今度。