ゾンビでもわかるC言語プログラミング

C言語入門者の応援をします

printf関数の基本的な使い方

Index

1. サンプルを実行してみる

今回は、printf関数を使用して様々なものを出力します。
とりあえず、以下のコードを実行してみましょう。

 1  #include <stdio.h>
 2  
 3  int main() {
 4  
 5    printf("Hello World!\n");
 6    printf("Hello %s\n", "World!");
 7    printf("%s is %d\n", "number", 100);
 8    printf("%f\n", 0.25);
 9    printf("A の次は %c\n", 'B');
10
11    return 0;
12  }

実行すると、次のような出力を得られると思います。

Hello World!
Hello World!
number is 100
0.250000
A の次は B

2. コード解説

4行目からみていきましょう。

printf("Hello World!\n")

printf関数に"Hello World!\n" と書くことで、これを出力します。

次に5行目をみましょう。

printf("Hello %s\n", "World!")

なにやら "%s" というよくわからない文字列が出てきました。
これは、フォーマット指定子と呼ばれるもので、その後の ,(カンマ)で区切られた後に "World!" を書いています。

この "%s" は、文字列を取るフォーマット指定子で、カンマの後に記述した文字列を "%s" の代わりに出力します。

なので、上記では、"%s" が "World!" に置き換わって、"Hello World" と出力されたということです。

6行目をみてみましょう。

printf("%s is %d\n", "number", 100)

今度は、"%s" と "%d" と二つのフォーマット指定子が出てきました。
"%s" は文字列、"%d" は数値をとります。

また、フォーマット指定子を記述した数だけ ","(カンマ)が必要になり、左のフォーマット指定子から順番に指定子した書式のものを記述します。

今回は、左から順番に、文字列、数値 を取っているので、文字列である "number" と 数値である 100 をカンマ区切りで記述しています。

"%s" が最初なのに、カンマ区切りで数値を最初に書いてしまうとエラーになります。

また、文字列は、 " (ダブルクォーテーション)で囲む必要がありますが、数値は囲みません。

コード上で 100 は数値ですが、"100" は文字列になります。

printf("%f\n", 0.25)

"%f"は、少数のフォーマット指定子になります。

printf("A の次は %c\n", 'B')

文字列(文字が複数)は、"(ダブルクォーテーション)で囲む必要がありますが、文字は、'(シングルクォーテーション)で囲む必要があります。
また、文字のフォーマット指定子は、"%c" になります。

その他のフォーマット指定子は、以下の記事を参考してください。
printfフォーマット指定子一覧

3. ついでに

printf関数の中で、%(パーセント)を表示するには、以下のように%を二つ続けて書きます。

pinrtf("%%\n");

また、\(バックスラッシュ)を出力するときは、\を二つ続けて書きます。

書籍

新・明解C言語 入門編 (明解シリーズ)

新・明解C言語 入門編 (明解シリーズ)

苦しんで覚えるC言語

苦しんで覚えるC言語

やさしいC 第5版 (「やさしい」シリーズ)

やさしいC 第5版 (「やさしい」シリーズ)

C実践プログラミング 第3版

C実践プログラミング 第3版