TPY ENGINEERING VLOG

TPY ENGINEERING VLOG(C,JAVA)

*C言語* 〜8時限目〜 キーボードから入力する・・・

 〜目次〜

 

キーボードから入力する

今回は、ユーザーにキーボードから色々な文字や数値を入力させ、

その値を出力するプログラムを記述してみます。

キーボードからの入力ができるようになることで、

プログラムの幅が今までよりも広がります。

キーボードからの入力を受け付けるには、

scanf

という言葉を使います。

scanfにはキーボードから入力された値を読み込んで、

変数に値を格納する機能を持っています。

scanfはprintfと似ていて、

printfを同じように、整数を入力する場合には、

%dという変換仕様を使います。

注意ですが、

scanfを使う変数には、必ず記号をつけてください。

scanfという文の処理が行われると、

実行画面は、

ユーザーからの入力を待つ状態

で止まります。

そこで、数値などを入力してエンターキーを押すことで、

scanfの最後に指定した変数に読み込まれるのです。

実際にプログラムを入力してみましょう。

sample11.c

f:id:YuyaTerayama:20180902202455p:plain

ーsample11の実行画面ー

整数を入力してください。

7(ここでEnterを押す)

7が入力されました。

実行するとわかるように、

入力待ちになり、好きな数値を入力しEnterを押すことで、

その数値が代入され、出力されたと思います。

 

小数を入力する

整数値以外の入力を試して見ることにします。

以下のコードを入力してみてください。

sample12.c

f:id:YuyaTerayama:20180902203322p:plain

ーsample12の実行画面ー

小数を入力してください。

1.25

1.25が入力されました。

sample12では小数値を読み込んで出力しています。

変換仕様として

%lf

という指定をしています。

double型の変数に入力するには、

この変換仕様を使います。

double型の変数の値を出力する際には%fを使うので、

この違いについては間違えやすいので注意です。

尚、入力する値がfloat型の場合は、

scanfでも%fを使うことになっています。

 

誤った入力

整数を入力するプログラムに対して、

ユーザーが小数を入力してしまった場合などには、

エラーが起きてしまったり、予想してない出力結果になることがあります。

実際のプログラムを作成する際には、

そのようなエラーにも対応できるような処理を書く必要があります。

その方法についてもこの先学ぶことになります。

 

文字を入力する

文字を入力する場合には、

scanfではなく、

getchar

という指定を使うことがあります。

変数名 = getchar( ); (変数に1文字読み込みます)

getcharの文が処理されると、

ユーザーがキーボードから文字を入力できるようになります。

実際に入力してみましょう。

sample13.c

f:id:YuyaTerayama:20180902204502p:plain

ーsample13の実行画面ー

文字を入力してください。

a(ここでEnterを押す)

aが入力されました。

1文字を入力する際には、getcharを使います。

変換仕様は%cを使うことで出力することができます。

 

標準入力の仕組みについて

printfが「標準出力」に対して処理を行うものであったように、

scanfやgetcharは「標準入力」という場所から、

数値や文字を読み込む処理を表しています。

通常、標準入力とは「キーボード」のことを指しています。

scanfやgetcharを使う際には、

printfと同様にコードの最初でstdio.hを読み込まなくてはいけません。

他にも、入出力の方法はあるのですが、

それはもっと後に勉強します。

長い間この3つを使うことで十分にプログラムを書くことができます。

 

〜END〜