前回は、黒い画面に「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言語でプログラミングを続けていく前に、知っておくべきもの「型」について、説明したいと思います。