第6章 入力の基礎を理解しよう <前編>

この章では、入力の基礎を紹介します。なぜなら入力は、出力の次に大切だし、 また、入力が出来なければ、面白いアプリケーションを作成することが困難になるからです。
ためしに、コントローラを挿し込まずに(入力を一切拒否した状態で)、 ドリキャス(無ければ、MDでも、スーファミでもいいです)で遊んでみてください。 楽しいですかと聞かれたら、多くの人がつまらないと答えるでしょう。
ではなぜ、つまらないと答えるか考えてみてください。
おそらくその答えは、なにも出来ないからと答える思います。
つまり、入力が出来なければ、なにも出来ないし、面白いアプリケーションを 作成することが困難な作業になります。
だから、この章では、入力の基礎を紹介し、この章を読めば、誰でも簡単に、 基礎的な入力方法をマスターできるようにします。

■数値を入力して表示するまで流れを、簡単に理解しよう
    ここでは大まかに、数値を入力し、入力した数値を表示するまで 流れを紹介します。
ただし今回は、文字および文字列の入力は行いません。 なぜなら、数値の入力と、文字および文字列の入力は、似ているようでぜんぜん違うので、 同時に紹介すると、頭の中で混乱する恐れがあるからです。
だから、文字および文字列の入力については、後で紹介するので今は疑問に感じていてください。

まずは、 数値を入力して表示するまで流れを体で体感してほしいので、サンプルプログラムを載せます。 だから、このサンプルをエディタに打ちこんで、実行ファイルを作成しなければいけません。なぜならサンプルを眺めるだけよりも、自分で実行ファイルを作成し、動かしたほうが、体感しやすいからです。

00:/* 数値入力プログラム */
01:#include<stdio.h>
02:
03:void main()
04:{
05:   int hoge;
06:  
07:   printf("数値を入力してさい:");
08:   /* ↓ここで入力を行う */
09:   scanf("%d",&hoge);
10:   printf("あなたが入力した数値は");
11:   /* ↓ここでさっき入力した数値の表示を行う */
12:   printf("%d",hoge);
13:   printf("です\n");
14:}

■上記のプログラムの解説
    ここでは上記のプログラムの解説を大まかに行います。

まずは、前回の復習をかねて、1、2、3、4、7、8、10、11、13、14行目の説明を簡単に書きます。

1行目の#include<stdio.h>は、printfおよびscanfを使用する際、必要になります。だから、printfおよびscanfを使用するときは、必ず記述しなければいけません。

2行目は、プログラムを見やすくするためにわざと空けてあります。だから、詰めて書いた方が見やすいなら、空けなくてもいいです。なぜなら、cには行の概念があまり無いからです。

3行目、4行目、14目のmain(){}は、c言語を組む上で必ず必要ですので、必ず記述しなければいけません。

7、10、13行目はprintfです。(12行目もprintfには変わりないのですが、今までのprintfとは、意味が異なるのでわざと省略します) printfは文字列の表示に使う命令(この命令のことを関数といいます、以後命令のことを関数と記述します)です。
printf関数を使って文字列を表示する方法は、まず初めにすべて半角で、printf("")と打ち込み、その後で、""の中に表示したい文字列を打ち込めばいいです。

8行目と11行目は、コメントです。コメントに書かれた内容は、コンパイラが無視するので全角でメモ書きが出来ます。

後説明していないのは、5,9,12行目ですが、5行目のint hogeは、hogeという変数をint型で宣言し、変数を用意しています。

変数とは、今は(説明を簡単にし、理解しやすくするために)値を入れる箱のようなもの考えてください。また、型とは、変数の種類を表す記号で、intは整数向きという意味があります。
つまり、 int hoge;は
1:変数hogeを用意した
2:hogeは整数に適したint型である。
ということになります。

では、なぜこのような手順をふまなければならないかといえば、 コンピュータは変数(箱)を使って数値などを管理したほうが都合がいいし、 又、変数(箱)の種類が指定できるということは、プログラマーにとって使い勝手のよい変数(箱)が 用意できるので、プログラマーのプラスになるからです。
だから、値を入力するときは、必ず変数と型を宣言し、用意しなければいけません。

9行目のscanf("%d",&hoge);意味は、入力した数値を整数型にして、変数hogeに入れろという意味になります。

このときなぜ、型まで指定しなければいけないのかといえば、人間が入力した物が、小数なのか、整数なのか、コンピュータが理解できないため、プログラマが尻拭いをしなければいけないからです。

最後に12行目のprintf("%d",hoge);の意味は、変数(箱)hogeの中にある数値を、整数型で表示しています。

後は、ここまでの説明を、理解しているか調べるための問題を、とかなければい けません。なぜなら、数学と同じで、理解しないで次を読んでいくと、だんだん理 解できなくなるからです。

 問題は、ここをクリックすると出てきます。

問題が解けたら、次のページにある細かい説明を読まなければいけません。なぜなら、 大まかな説明だけよりも、細かい説明を受けたようが、理解が深まるからです。

前の章に戻る     この章の続き     次の章へ進む      トップページに戻る