『楽しく!』『できる!!』C講座のページ




講座内容で、この色で示している <stdio.h> の部分がタグと誤認されて消えてしまっていました。
2000.4.7に修正しました。


第2回:喋るコンピュータを作ろう!

 今回のテーマは上のとおり「喋るコンピュータを作ろう」です。
なんだか、第1回目から物凄いテーマに取り組んでいるように聞こえるかもしれませんが、実際は…どうなのでしょう。……自分の目で確かめてみてください。

1.実際にプログラミングを体験しよう!
 いよいよ、プログラミングを体験しましょう。
手順は以下のとおりです。

@ VCを起動する。
A ワンポイントは飛ばす。
B ソースファイルを作成する。
C コンパイルする。
D 実行する。

 前回の講座の内容を使って説明していきますので、ブラウザのウィンドウを2つ開き、片方で前回の講座の内容を表示し、他方で今回の講座の内容を表示すると分かりやすいかもしれません。

@ VCを起動する。
 「スタート」→「プログラム」からVCを起動します。
A ワンポイントは飛ばす。
 ワンポイントが表示された場合は、サッと眺めて閉じます。
(もちろん興味のある内容ならじっくり読むことをオススメします)
B プロジェクトとソースファイルを作成する。
 上の2つは、前回の講座を開かなくても出来たかもしれませんが、ここは初めての人にとっては、複雑に感じる作業かもしれません。
 慣れてしまえばどうってことのない作業なので、慣れるまでは前回の講座を参照しつつやってみましょう。

a.前回の講座の"3.1(2)"の部分までを前回と同様の作業を行います。
b.前回の講座の"3.1(3)"において、プロジェクトの名前を"helloworld"とします。同時に位置も"\helloworld"となります。

※ プロジェクトの名前は""を含みません。helloworldのみで、""は強調表現、もしくは引用を表します。以下これにならいます。

c.つづいて3.1(6)"まで前回とまったく同じ作業を繰り返し、"ソースの新規 作成"に移ります。
d.(1)(2)は前回と同様の作業を行います。
e.(3)のファイル名は説明より、"helloworld"とします。
f.(5)(6)も前回と同様の作業を行います。
g.ソースを書きます。

 さて、いよいよ今回のメインイベントです。
今までの作業もソース作成作業の一部に違いありませんが、VCの仕様による部分が大きく、一般に「ソースを書く」と呼ばれるのはこれ以降の作業のことです。
 (6)によって開かれた白いウィンドウの中に以下のように記入して下さい。


#include <stdio.h>

void main()
{
 printf("Hello! Welcome to C-World!!");
}



C コンパイルする。
D 実行する。
 実行するどうでしょう?コンピュータがあなたに対し Hello! Welcome to C-World!! と喋りましたか?
 これがプログラミングの基本中の基本"Hello World"(ハローワールド)と呼ばれるものです。
ほとんどのプログラマーはこのプログラムからプログラミングをはじめるといわれます。
(多くの場合、表示する文章は"hello!"だけのようですが、ここでは都合で上のようにしました。)
声でコンピュータが話し掛けると思っていた人、ごめんなさい。
 しかし、今後あなたがプログラミングに興味を持ってやりつづければ、喋るコンピュータはもちろん、会話するコンピュータすら作れるようになるでしょう。
 この講座は、その記念すべき第一歩です。

● 今回の作業内容の説明

 内容は、前回とほとんど変わっていないと思います。
 変わったところと言えば、プロジェクト名、ファイル名、ソースの内容…ぐらいでしょうか。
 これは、前回の内容が本当に基本となっていることの証明なのです。今後の講座の内容も大半は、この3つしか変わらないでしょう。

1. まずはおまじない
 まず、1行目の

  #include <stdio.h>

ですが、これは今はおまじない。と考えておいておけばOKです。
下で紹介するprintf(プリントエフ)を使うためのおまじないです。

2. これがプログラムの骨格
 次の

  void main(void)
  {

なのですが、これは

  printf("Hello! Welcome to C-Wold!!");
  }
 
という部分の"}"に対応して

  void main(void)
  {

  }

というかたちをとります。C言語による今回のプログラムでは、このmainが骨格となり、 このなかに、いろいろな命令を記述していくことになります。

3. 画面に表示する命令
 上の2つは、今後ずっとでてくる基礎の説明でした。
では、今回のポイント『コンピュータを喋らせるしかけ』です。
 前回のソースと今回のソースを見比べてください。どこが違うでしょう。
一目瞭然ですね。
前回は

  void main(void)
  {

  }

とvoid main(void)の中({から}まで)がからっぽだったのに対し、今回は

  void main(void)
  {
   printf("Hello! Welcome to C-Wold!!");
  }

となっており、 printf("Hello! Welcome to C-Wold!!"); という一文が加わっています。
つまり、この一文によってコンピュータが喋ったのです。

 さて、ここでもう一度実行してみましょう。
そして、実行結果(今回は実行することで表示された文)とソースを見比べます。
すると、気付きますね?
表示された文と""の中の文が同じであることに。
つまり、

printf(" ");

という"と"の間に書いた文字が表示されるのです。
これはprintf(ぷりんとえふ)と呼ばれる命令で、画面に文字を表示するときなどに使用します。
この中には日本語を使用することもでき、日本語で記述すればそのとおり日本語で表示されます。
(※ これを使用して、今回最後の課題を解きます)
4. ソースの変更の反映
 では、試しに Welcome to C-World!! の C-World!! の部分を my house. とし全体が

  printf("Hello! Welcome to my house.");

になるように変更しましょう。
 変更できたら、実行します。
 ここで実行しようとすると、"更新されていないかまたは存在しません。ビルドしますか?"というようなことを聞いてきます。
 そもそもプログラムはソースを書いただけでは動かず、コンパイルした後に実行することで動くのでした。
 つまり変更後コンパイルされていないので、「このままでは変更した部分がプログラムに反映されないよ。」と言っているわけです。
 試しに「いいえ」を選択してみましょう。
 表示される結果は C-World!! のままですね。変更がプログラムに反映されていないわけです。
 では、次に「はい」を選択し実行してみましょう。

  Hello Welcome to my house.

と表示されましたね?
 メモ帳などで文章を書いているときは、自分の加えた変更がそのまま文章に反映されますが、プログラミングではコンパイルという作業が間に入るため、変更を加えた場合も実行前に再コンパイルする必要があるのです。
 これは、コンパイラを単独で用いる場合に再コンパイルを忘れ、「変更を加えたのに結果に反映されない」という状態を生み出します。
 意外によくやるミスなので心のどこかに留めておいて下さい。


課題
 プログラミングは、HPなどを参考にして丸写ししても、自分のものにはなりません。自分のものにする為には、自分で考えて、自分でプログラミングする必要があります。
 このページでは、それを助ける為、毎回課題を出すことにします。解答は次回に掲載します。
 丸写しというのは、実は大変危険なことです。なぜなら『できる』からです。写しているのでできるのは当たり前なのですが、まるで自分のチカラでできたかのように錯覚してしまうのです。
 その目を覚ます為には自分の実力を知るのが一番であり、その手段としては課題が一番なのです。
 これは、強制でも何でもありませんが、もし本当にC言語をやっていくつもりなのでしたら、課題もチャレンジすることをオススメします。

今回の課題
 今回のプログラムを利用し、自分のコンピュータに自己紹介をさせるプログラムを作成せよ。

例:「私はRX-2343です。歳は1000歳になります。」