PC Technique logo

小学校高学年から中学生を対象にした、無料公開中のC言語の入門講座です。

【3時間目】文字の画面出力について詳しく知ろう

前回は、黒い画面に「Hello, C world!」と表示するプログラムを組みました。実行すると、下のような画面になったと思います。

もしも、まだプログラミングができていない方は、前の時間の復習からやってみましょう。
【2時間目】とりあえずプログラミングをしてみよう

ただ、よく見てください、「Hello, C world!続行するには何かキーを押してください...」といったように、全部の文章が一列に並んでしまっています。Hello, C worldの後ろで改行してくれたら見やすいんだけどなぁと思うかもしれません。実は、その改行について、「ここで改行してくれ」と言わなければ、改行は絶対にしてくれません。「改行して」といえば、絶対に改行してくれる、そんな機能があります。

※画面の端までたどり着くような長い文章だと、見えなくなるからという理由で改行してくれたかのように見えます。しかし、これは画面を広げれば改行の場所は変わりますし、「改行」とはみなさないことにします。

文字列中で改行をしてみよう

さて、そんな改行ですが、どうすればいいのでしょうか。簡単です。下のコードを見てください。

このように「"」の中身を少しだけ変えて、実行[Ctrl+F5キー](覚えましょう)をしてみてください。改行されたと思います。

新しいことば「文字列」

「文字列」というのは、そのまま、「文字の列」です。そして、その文字列は「"」(日本語配列キーボードなら、シフトを押しながら2キー)でくくります。その中の文字は、好きなように書き込んでも全部「文字列」として扱われることになります。

ただし、いくつか例外な文字があります。先頭に「\」(円マーク、もしくは「\」(バックスラッシュ、macとかlinuxとかの人はこっち))のついている文字は、特殊な意味を持っている文字になります。

「\n」で改行を意味する

その特殊な意味のうち、「改行」を意味するのが、「\n」です。「\n」のところで「改行しろ」という意味になります。

その他の特殊な意味を持つ文字は?

基本使うのは次の6つです。これらの文字はエスケープシーケンスと呼ばれます。

\n : 改行
今まで述べてきたとおり、「改行」を意味します。

\t : タブ
「タブ」を意味します。最大で8個(環境によって変わる?)、最小で1個のスペースを確保し、頭を揃えてくれます。

\\ : \マーク
「\」という文字そのものを出力します。

%% : %文字
「%」という文字そのものを出力します。「%」も、特殊な別の意味を持つものとして扱われています。この後、詳しくお話します。

\" : ダブルクォーテーション
「"」という文字そのものを出力します。「\」をつけないと、どれが「"」という文字で、どれが「文字列の終わり・始まり」なのかわからなくなってしまうからです。

\' : シングルクォーテーション
「'」という文字そのものを出力します。

数字を画面に出力する

さて、次は「数字」を画面に出力してみたいと思います。と言っても、みなさんお気づきのように、「普通に文字を打ったらだめなの?」と思うかもしれません。だめではありません。

このように、ちゃんと表示はされます。毎回の実行で、同じ数字を表示するならこれで大丈夫です。ただ、例えば、「商品の値段を入力すると、その消費税を計算する」という計算機を作るとしたら、入力される値段の数字も、計算した結果の数字も、毎回毎回変わる可能性がありますよね。そんな時には、上の写真のようなやり方だと少し難しいのです。

そこで、新しい方法で数字を表示させてみたいと思います。

printfで数字を出力してみよう

とにかく、このようにプログラムしてみてください。そして実行。

すると、結果としてはめでたく数字が表示されました。しかし、プログラムのほうはなんだかよくわからない感じになってしまいましたね。

%d : ここに数字を表示しますよ

今回の文字列の部分に、このような文字が入っていることにお気づきですか?これは、「ここに数字を表示しますよ」という場所を指定しています。

たとえば、日常生活において、「A君、そのリンゴの値段を、この紙の『ここ』に書いて」と指示すると思います。その、「ここ」という場所の指定が「%d」の役目です。

そして、実際に書く数字を、「,」(カンマ)で区切った後ろに書き足します。

複数の数字を表示したいとき

複数の数字を表示したいときでも簡単です。%dをたくさん並べればいいのです。そして、その%dの数の分だけ、後ろに「,」で区切って、数字を指定してあげましょう。

なんでこんな書き方ができるの?

とりあえず今は、こういう風にも書けるよ、と教えました。でも、なんで?って思われている方も多いと思います。その疑問の解決には、もう少し時間がかかります。次の時間は、「新しい分類の仕方、型って何?」についてお話しします。そこでなんとなく、わかっていただけるかと思います。

では、お疲れ様でした。