C言語を学ぶ

【Part3】printf関数をきちんと理解する

C言語を学ぶ
この記事は約3分で読めます。

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␣␣

演習

下のような表を作ってみましょう。
下の表は買い物リストのイメージです。
きちんと整列させることができれば、列の区切りがなくてもきれいな表を作れます。

アイスジュースクッキー
タロウ2102
ハナコ300
タケシ151

ヒント:
半角英数字と、全角文字が混ざっていることに注意しながら、エスケープシーケンスや書式設定を行いましょう。

Part1はこちら

このシリーズの前回の記事はこちら

 

コメント

タイトルとURLをコピーしました