かもブログ

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

[C言語]【scanf】キーボードから文字を入力![初心者]【C言語第5弾】

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

前回は数字をキーボードから入力して画面に表示させましたが、
今回は文字をキーボードから入力して画面に表示させる方法について解説します。
前回のが基礎となっているので、少し自信のない方は前回のブログを読んでから今回のブログを読むようにするとわかりやすいと思います。

 

kamoburogu.hatenablog.com

 
では、解説していきます。

 

文字を入力するためにはどうするの?

前回のブログを読んでくれた方はキーボードから数字を入力する方法はわかると思います。
キーボードから入力したいときには「scanf関数」を使うのはわかるけど、文字の時の書式指定子と、変数はどうすればいいかわからないという方は今回のブログを読んでいただければわかるようになります。

今までの話で少しわからないところがあったなって人は一度前回のブログに復習をするためにさかのぼってからこのブログを読むほうがわかりやすいかも知れません。

文字の時の書式指定子と変数は?

整数や実数のときの書式指定子は「%d」、「%f」でしたが、文字を入力したいときの書式指定子は「%s」を使います。

また、変数の型は「char」型を使います。

プログラムを見ながら解説

f:id:kamoburogu:20201021232142p:plain

f:id:kamoburogu:20201021232204p:plain

今回のプログラムも前回と同じように「scanf関数」の前に「printf関数」で文字を入力することを指定するか、容量を多めに設定しておかなければいけません。また「char」を使用するときはあらかじめ文字数を指定しなければいけなく、また日本語を入力させる際には一文字で2バイト分必要になります。
なので、今回の場合は日本語5文字なので、10バイト必要になるためあらかじめ準備しておきます。
ほかにも、整数とか実数のときにはscanf関数を使うとき「&変数」にしないといけなかったのですが今回のように文字の入力のときのみ例外です。

ちなみに1バイトとは8ビットのことで、1ビットは情報の最小単位
(0か1で表される情報)のことです。

問題

 自分の名前、趣味、年齢を入力してもらって表示するプログラムを作りなさい。
名前、趣味は日本語、年齢は整数で入力するように宣言すること。

 

f:id:kamoburogu:20201021233238p:plain

f:id:kamoburogu:20201021233306p:plain

終わりに

今回は前回に引き続きキーボードから入力する方法について解説しました。
これで「scanf関数」についてはバッチリだと思います。

コメントでの質問・感想もお待ちしています。答えられるものは答えていこうと思います。 かもブログ(@kamo_burogu0)のフォローもぜひよろしくお願いします。