WhiteAtelier Archives
Another side of life, Behind the real.
2018-11-17 16:09:12 - Category : C言語入門
4. printfについて少しだけ解説
前回、Hello, C World.と画面に出力するプログラムを書きました。今回はそのプログラムを少し掘り下げてみたいと思います。画面に文字を表示するprintf関数について、基本的な使い方を説明します。

前回は、黒い画面に「Hello, C world.」と表示するプログラムを組みました。このプログラムについて、もう少し詳しく見ていきましょう。

#include <stdio.h>
int main(int argc, char * argv[]){
    printf("Hello, C World.\n");
    return 0;
}

なぜ画面に「Hello, C world.」と表示されたのでしょうか。

注意:ここでは、初心者のための記事として、難しいことを最小限にして説明しています。玄人のプログラマーにとって、それぞれの説明は不足していると思われるかもしれませんが、今はこれで大丈夫だと私は思います。

画面に文字列を表示する関数「printf」

このプログラムで注目すべきなのは、1行目と3行目です。

まず先に3行目のprintfから始まるところですが、これは「printf(プリントフとかプリントエフなどと呼ばれます)関数」です。使い方は非常に簡単です。

    printf("画面に表示したい文字列");

これだけで、黒画面に白い文字列を出力することができます。基本的な使い方はこれだけです。文字列はダブルクォーテーション(")で囲む必要があります。

また、1行目の#include <stdio.h>では、このprintf関数を使うために記述をしています。

特別な文字

C言語には「エスケープシーケンス」といわれる、特殊な意味を持つ文字というものが存在します。そのうち今の段階で知っておくべきものは\nです。 文字列の途中で\n(バックスラッシュと小文字のエヌ)を使うと、その場所で文字列を改行することができます。

日本語キーボードでバックスラッシュを打つ場合は、¥(円マーク)キーで打てます。また、表示上も¥となる場合もありますが、バックスラッシュと同じ意味を持ちます。

逆に、\nで改行しなければ、たとえprintf関数をふたつに分けたとしても、一行に続いて表示されてしまいます。

#include <stdio.h>
int main(int argc, char * argv[]){
    printf("AAAAA");
    printf("BBBBB");
    printf("CCCCC\n");
    printf("DDDDD\n");
    return 0;
}

実行してみると、このような結果となります。

AAAAABBBBBCCCCC
DDDDD

つまり、初めに\nが出てくるCCCCCまで、すべて一行で表示されます。

この改行文字は、表示したい文字列の中のどこにでも挿入でき、好きなように改行できますが、基本的にはprintfの文字の最後に配置することが多いです。

数値を画面に表示する方法

次に、printf関数を使って、数値を表示してみたいと思います。もちろん、次のようなコードでも数値は表示できます。

    printf("あなたのHPは20/100です\n");

本当はプログラムに日本語は使わないようにするべきですが、わかりやすさを重要視して敢えて使っています。

ただしこれだと、「文字列としての数字」になっていますので、例えばHPに変動があった場合、その変化を反映するのが難しくなります。これについては、後程「変数」が出てきたときに意味が分かると思います。

というわけで、これとは別の方法で数字を表示してみましょう。

#include <stdio.h>
int main(int argc, char * argv[]){
    printf("あなたのHPは%d/%dです\n", 20, 100);
    return 0;
}

なにやら、今まで20と100があった場所は、%dに置き換えられています。さらにその後ろ、文字列が終わった後に、カンマで区切りながら、20と100を用意していますね。 これは、%dを前から順番に、20と100に置き換える、というものです。%dを3つ用意しているなら、後ろの数字も3つ用意し、それぞれは前から順番に置き換えられて表示されます。

ただし、%dの置き換えは整数の数字についてのみ使うことができます。少数を表示する場合は、%dの代わりに%fを使用しなければなりません。

次回

今回はprintfの基本的な使い方について学習しました。

次は、C言語でプログラミングを続けていく前に、知っておくべきもの「型」について、説明したいと思います。