はじめに
突然ですが皆さん、printfしてますか?
今日はC言語を初めて2カ月の私がもう一度初心に帰り、printf関数について理解を深めていきたいと思います。
printf関数とは
C言語を使うとさまざまなことができるわけですが、計算ができても画面に表示されなければ結果が分かりません。そこで活躍するのがprintf関数です。
printf関数は結果を書式化して表示する関数であり、C言語を勉強するうえで一番最初に目にする関数なのではないでしょうか。
では早速、まずは基本的な文法からおさらいしていきましょう!
とりあえず表示してみる
printf("Hello World!!");
このように文字の並びを表示できるわけです。すごいですね。
続いて簡単な演算もやってみましょう。
printf("%d", 2 + 3);
簡単ですね。「5」と表示されます。
printf関数の呼び出しと表示
printf関数は書式化して表示をする関数でしたが、その構造はどうなっているのでしょうか。
先ほどの演算をもう一度見てみましょう。
printf("%d", 2 + 3);
printf という関数呼び出しから始まり、後ろの()に中に引数が与えられています。引数が2つ以上あるときはコンマで区切りらなければなりません。
ここでは "%d" と 2 + 3が引数ですね。
変換指定
もう一度だけ先ほどの演算を見てみましょう。
printf("%d", 2 + 3);
%d とありますが、これは10進数で表示してくださいという書式の指示です。
このように文字や数字を自分の表示したい方式に変換することができます。これが変換指定です。
それでは実際に変換指定で遊んでみましょう。
#include <stdio.h>
int main(void){
char number[] = "12345";
printf("%s\n", number); //そのまま表示
printf("%.3s\n", number); //3桁まで表示
printf("%7s\n", number); //最低7桁で右よせ
printf("%-7s\n",number); //最低7桁で左よせ
printf("%07.7s\n", number); //7桁まで表示して空白を0で埋める
return(0);
}
これを実行すると下のように表示されます。
12345
123
12345
12345
0012345
楽しいですね。
特殊表記
特殊表記と呼ばれる、特別な機能を持った表記があります。例えばこんな感じ。
printf("こんにちは\nおはよう");
これを実行すると下のように表示されます。
こんにちは
おはよう
お分かりいただけましたでしょうか。ここで\nは改行を表しています。
このように\のあとに文字が続く場合、これを特殊表記といいます。(一部の環境では\の代わりに¥を使います。)
では、いくつか例を見てみましょう。
表記 | 機能 | 表記 | 機能 | |
---|---|---|---|---|
\n | 改行 | \a | 警報音を鳴らす | |
\b | 後退 | \f | 書式送り | |
\t | 次の水平タブ位置に移動する | \v | 次の垂直タブ位置に移動する | |
\\ | \を入力 | \? | ?を入力 | |
\' | 'を入力 | \" | "を入力 |
たくさんありますね。ただ、書式送りやタブの移動はいつ使うんでしょうか。
多分使わないので覚える必要はなさそうです。
最後に
いかがだったでしょうか。
皆さんもprintfを使いこなして快適なC言語生活を楽しみましょう!