<戻る  目次  進む>  
          <戻 進> 雑誌 白黒 明暗   フォント 既定 ゴシック 明朝 手書き   サイズ   標準  


   文字列の表示   

  1. 第1項:どうしても必要
  2. 第2項:printf関数
  3. 第3項:どこに書くのか?
  4. 第4項:説明書の取り込み
  5. 第5項:お待たせしました

[1]どうしても必要

これから、画面に文字列を表示する方法を解説します。
それは、この後、色々な解説を行うのに、どうしても必要だからです。

プログラムで色々な処理をさせることは実は簡単なのですが、
それを人間にわかるようにするのは、意外と難しいことです。
何故なら、コンピュータ内部の処理は電気信号の流れでしかないからです。

しかし、幸いなことに、現在では、それが容易に実現出来ます。
コンピュータには、ディスプレイがついています。
ですから、処理の内容を、ディスプレイに表示させれば良いのです。

処理の内容が表示されないと、プログラミングの学習は成り立ちません。
プログラムが、何をやり、そしてどうなったのか、それがわからないからです。

従って、今後のプログラミング学習のためには、
どうしても、画面に文字列を表示する方法を学んでおく必要があります。
つまり、画面に文字列を表示させるのは、学習のための準備なのです。

目次に戻る


[2]printf関数

C言語で文字列を表示するには、printf(プリントエフ)関数を使います。
printf関数は、次のようにして使います。


printf("文字列");
例えば、Hello, worldと表示させたい場合、次のようにします。

printf("Hello, world");
この文をプログラムの中に書けば、画面に Hello,world と表示されます。

ところで、この文は、一体どこに書けばいいのでしょうか?


[  Hello,  ]
Hello, worldは、ほとんどの入門書に登場します。
その意味では、世界一有名なプログラムだと思われます。

目次に戻る


[3]どこに書くのか?

前項で説明した通り、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("Hello, world");
	return 0;
}

目次に戻る


[4]説明書の取り込み

前項で、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("Hello, world");
	return 0;
}
なお、#includeは疑似命令なので、関数の外側に書くことが出来ます。

目次に戻る


[5]お待たせしました

皆様、長らくお待たせいたしました。
これでやっと、画面に文字列を表示するプログラムが完成しました。

#include <stdio.h>

int main(void)
{
	printf("Hello, world");
	return 0;
}
このプログラムの実行結果は、次のようになります。

Hello, world

[  苦Cの方針  ]
C言語の入門書では、1章からここまでの説明を全て飛ばして、
いきなり上記のプログラムを紹介していることが多いようですし、
#include はおまじないだとして説明を後回しにするようです。
初めに余計なことを説明すると混乱するとも言われるので
どちらの方針が正しいのかはわかりませんが、
筆者としては、できる限りの説明を行う方針でいきたいと思います。

目次に戻る


<−前に戻る  先頭に戻る  次へ進む−>