かもブログ

主にC言語について初心者向けに書いています!

[C言語]【scanf】キーボードから入力した数字を画面に表示させてみよう[初心者]【C言語第4弾】

現役高校生の主がプログラミング言語のうちの一つであるC言語について初心者向きに解説していきたいと思います。

今回は、キーボードから入力した値を画面に表示させる方法を解説します。
前回のブログを読んでからのほうが、わかりやすいのでまず前回のブログを読んでから読み進めてください。

 

kamoburogu.hatenablog.com

 今回は、タイトルにもある通りキーボードから入力した値を画面に表示させるためにどうしたらいいのかについて解説していきます。

 

キーボードからどうやって入力するの?

今までのブログを読んできてくれた方はプログラムであらかじめ表示させる数字や文字を決めておいてその決めておいた文字を表示させる方法はわかると思います。「忘れたよ」という方は下のブログを読んで下さい。


↓ 文字を表示させる方法はこちら
kamoburogu.hatenablog.com

 ↓ 数字を表示させる方法はこちら
kamoburogu.hatenablog.com

 では、あらかじめプログラムで決めておいた文字ではなくプログラムを実行したタイミングでキーボードから入力して表示させるためには「scanf関数」という関数を使わなければいけません。

scanf関数ってどう使うの?

「scanf関数」の使い方をプログラムを実際に見ながら解説します。

f:id:kamoburogu:20201009212310p:plain

f:id:kamoburogu:20201009212735p:plain

どんなプログラム?

今回の例として用いるプログラムでは、「printf関数」を用いて入力してもらうデータの型を指定し、「scanf関数」を用いてキーボードからデータを入力してもらって、そのデータをまた「printf関数」を用いて画面に表示させるプログラムです。
大事なのは、最初の「printf関数」でデータ型を指定することです。
ここで指定しておかないと次の「scanf関数」でどの書式指定子、変数を用いればよいかわからないからです。例えば、今回のように「%d」や「int」を使っていたとして指定をしていないと実数を入力されるかもしれません。その場合プログラムは動きません。なので、あらかじめ指定することが大事なのです。
↓書式指定子、変数ってなんだったっけ?って方はこのブログを読んでみて下さい 

kamoburogu.hatenablog.com

 「scanf関数」とは?

「scanf関数」は、キーボードからデータを入力する関数です。
キーボードから入力したデータを受け取り変数の箱の中にいれるための関数です。なので、データと変数の箱の型があっていることが大事なのです。
注意として「"%d",」までは「printf関数」と同じなのですがこの後が違います。
「&a」となるのです。「printf関数」では「&」はいらないのですが「scanf関数」では必要なので注意してください。

実数の場合はどうなるの?

例で使用したプログラムは整数型だったので、実数型の場合も解説しようと思います。
ただこれは整数型で考え方がわかっていたら、その考え方のまま書式指定子と変数の型を整数から実数に変えるとできます。
なので、「int」→「float」、「%d」→「%f」に変えるだけで大丈夫です。

問題

身長、体重、年齢を入力してもらい、一つの関数で表示しなさい。
(整数で実行するように)

f:id:kamoburogu:20201009220641p:plain

f:id:kamoburogu:20201009220654p:plain

この問題の注意点は、変数を3つ必要とするところです。
今回は問題では整数で実行するようにと指定されているため整数と指定する表示があってもなくても大丈夫です。

終わりに

今回は「scanf関数」について解説しました。今までの知識がないとわかりにくくなってきていると思うので自分の中でしっかり理解を深めながらがんばりましょう。

コメントでの質問・感想もお待ちしています。答えられるものは答えていこうと思います。