printf関数は、画面に文字を表示することができます。
文字だけではなく、数字も表示することができます。
この記事では、Part1から登場しているprintf関数を、さらに詳しく解説します。
エスケープシーケンス
printf関数内でよく使われる特殊文字です。改行やタブ、バックスペースなどの操作を行うことができます。
よく使われるエスケープシーケンスは次の2つです。
\n
改行をします。
例printf("Hello\nWorld");
↓実行Hello
World
\t
タブを挿入します。
プログラムを動作させる環境にもよりますが、8の倍数分の文字に整列させてくれます。
例printf("Hello\tWorld\n");
printf("Hi\tC Lang");
↓実行Hello World
Hi C lang
書式指定
文字の見た目を整えることができます。
調整できる要素を確認しましょう。
数値の表示
整数を表示するときは%d、小数を表示するときは%fを使います。
例printf("%d_%f",1000,3.000);
↓実行1000_3.000000
文字の表示
Part1で書いたソースファイルのように、直接書くこともできますが、
数字と同じように、記号を使って書くこともできます。
数字と同じように書く場合は、%sを使います。
例printf("Hello World\n");
printf("%s","Hello World");
↓実行Hello World
Hello World
表示する桁数の指定
整数の場合、%とdの間に数字を入れます。
小数の場合、%とfの間に数字を入れます。小数点以下の桁数も指定することができます。.5の場合、小数第5位まで表示します。
文字の場合、%とsの間に数字を入れます。桁数は、すべて半角で数えます。
指定した桁数以上の数字や文字を表示しようとしたときは、指定した桁数を超えて表示されます。
例printf("a=%10d\n",100);
printf("b=%10.3f\n",3.1415);
printf("%20s\n","Hello World");
↓実行a= 100
b= 3.142
Hello World
記事ではうまく表現できないですが、プログラムはいい感じに整列します。
左詰めで表示
数字の前に-をつけます。何もついてない場合は右詰めで表示されます。
例printf("a=%-3d,b=%-3d",10,3);
↓実行a=10␣,b=3␣␣
演習
下のような表を作ってみましょう。
下の表は買い物リストのイメージです。
きちんと整列させることができれば、列の区切りがなくてもきれいな表を作れます。
アイス | ジュース | クッキー | |
タロウ | 2 | 10 | 2 |
ハナコ | 3 | 0 | 0 |
タケシ | 1 | 5 | 1 |
ヒント:
半角英数字と、全角文字が混ざっていることに注意しながら、エスケープシーケンスや書式設定を行いましょう。
Part1はこちら
このシリーズの前回の記事はこちら
コメント