画面への表示
文字列の表示
MMGames
printf関数、画面、表示
どうしても必要
これから、画面に文字列を表示する方法を解説します。
それは、この後、色々な解説を行うのに、どうしても必要だからです。
プログラムで色々な処理をさせることは実は簡単なのですが、
それを人間にわかるようにするのは、意外と難しいことです。
何故なら、コンピュータ内部の処理は電気信号の流れでしかないからです。
しかし、幸いなことに、現在では、それが容易に実現出来ます。
コンピュータには、ディスプレイがついています。
ですから、処理の内容を、ディスプレイに表示させれば良いのです。
処理の内容が表示されないと、プログラミングの学習は成り立ちません。
プログラムが、何をやり、そしてどうなったのか、それがわからないからです。
従って、今後のプログラミング学習のためには、
どうしても、画面に文字列を表示する方法を学んでおく必要があります。
つまり、画面に文字列を表示させるのは、学習のための準備なのです。
printf関数
C言語で文字列を表示するには、printf(プリントエフ)関数を使います。
printf関数は、次のようにして使います。
printf("文字列");
例えば、HelloWorldと表示させたい場合、次のようにします。
printf("HelloWorld");
この文をプログラムの中に書けば、画面に HelloWorld と表示されます。ところで、この文は、一体どこに書けばいいのでしょうか?
HelloWorldプログラム
HelloWorldは、ほとんどの入門書に登場します。
その意味では、世界一有名なプログラムだと思われます。
どこに書くのか?
前項で説明した通り、printf関数を使えば、画面に文字が表示されます。
しかし、始めにも説明したように、C言語は、main関数から始まります。
つまり、printf関数だけでは駄目であり、必ずmain関数が必要です。
とりあえず、始めに作った、main関数のプログラムを思い出してみます。
int main(void)
{
return 0;
}
C言語は、main関数から始まることは説明しましたが、その関数の中で、どんな順番でプログラムが動くのかは説明しませんでした。
関数の中では、単純に、上の文から順番に動いていきます。
そして、return文に到達すると、そこで関数の実行は終了します。
例えば、次のようなプログラムがあったと仮定した場合、
int main(void)
{
文1;
文2;
return 0;
文3;
}
プログラムは、文1->文2、という順番で動きます。文3に到達する前に、return文で関数が終わるので、文3は無視されてしまいます。
このことから考えると、printf関数を書くべき場所がわかります。
つまり、次のように書けば良いことになります。
int main(void)
{
printf("HelloWorld");
return 0;
}
説明書の取り込み
前項で、printf関数を使ったプログラムは完成したはずなのですが、
実は、このプログラムは準備不足なので、動かしても画面に文字は表示されません。
お節介を焼くコンパイラでは動いてしまいますが・・・
実は、printf関数は、C言語自体の機能ではありません。
言い換えるならば、C言語のコンパイラは、printfという関数のことを全く知りません。
従って、ただprintf関数を記述しただけでは、動かないのです。
動作させるには、コンパイラにprintf関数の説明書を読ませなければなりません。
C言語には、説明書を渡すための特別な命令が用意されています。
それは、#include(インクルード)疑似命令です。
#include疑似命令は、次のようにして使うことが出来ます。
疑似命令
疑似命令とは、プログラムコードではない命令のことです。
#includeはprintf関数などの準備をする命令なので、
この命令は機械語に翻訳されず、その前段階で処理されます。
#include <説明書のファイル名>
printf関数の説明書は、stdio.h と言うファイルです。つまり、次のようなプログラムを追加すれば、printf関数を使えるようになります。
#include <stdio.h>
ところで、この命令はどこに書けば良いのでしょうか?プログラムの説明書を渡すのですから、プログラムが実行される前である必要があります。
プログラムが実行されてしまった後では、説明書を渡しても手遅れなのです。
このことから考えて、1番先頭(main関数よりも先)に書くのが良さそうです。
つまり、printf関数で画面に文字列を表示するプログラムは、次のようになります。
#include <stdio.h>
int main(void)
{
printf("HelloWorld");
return 0;
}
なお、#includeは疑似命令なので、関数の外側に書くことが出来ます。お待たせしました
皆様、長らくお待たせいたしました。
これでやっと、画面に文字列を表示するプログラムが完成しました。
#include <stdio.h>
int main(void)
{
printf("HelloWorld");
return 0;
}
このプログラムの実行結果は、次のようになります。
HelloWorld
苦Cの方針
C言語の入門書では、1章からここまでの説明を全て飛ばして、
いきなり上記のプログラムを紹介していることが多いようですし、
#include はおまじないだとして説明を後回しにするようです。
初めに余計なことを説明すると混乱するとも言われるので
どちらの方針が正しいのかはわかりませんが、
筆者としては、できる限りの説明を行う方針でいきたいと思います。
サイト目次
第0部:プログラム概要編
1章:世界最小のプログラム
12章:変数の寿命
13章:複数の変数を一括して扱う
15章:ポインタ変数の仕組み
16章:複数の型をまとめる
17章:ファイルの取り扱い
18章:マクロ機能
19章:動的配列