5
1

More than 1 year has passed since last update.

【C言語入門】初心者がprintfについて語ってみた

Posted at

はじめに

突然ですが皆さん、printfしてますか?
今日はC言語を初めて2カ月の私がもう一度初心に帰り、printf関数について理解を深めていきたいと思います。

printf関数とは

C言語を使うとさまざまなことができるわけですが、計算ができても画面に表示されなければ結果が分かりません。そこで活躍するのがprintf関数です。

printf関数は結果を書式化して表示する関数であり、C言語を勉強するうえで一番最初に目にする関数なのではないでしょうか。

では早速、まずは基本的な文法からおさらいしていきましょう!

とりあえず表示してみる

print
printf("Hello World!!");

このように文字の並びを表示できるわけです。すごいですね。

続いて簡単な演算もやってみましょう。

calculation
printf("%d", 2 + 3);

簡単ですね。「5」と表示されます。

printf関数の呼び出しと表示

printf関数は書式化して表示をする関数でしたが、その構造はどうなっているのでしょうか。

先ほどの演算をもう一度見てみましょう。

calculation
printf("%d", 2 + 3);

printf という関数呼び出しから始まり、後ろの()に中に引数が与えられています。引数が2つ以上あるときはコンマで区切りらなければなりません。

ここでは "%d"2 + 3が引数ですね。

変換指定

もう一度だけ先ほどの演算を見てみましょう。

calculation
printf("%d", 2 + 3);

%d とありますが、これは10進数で表示してくださいという書式の指示です。

このように文字や数字を自分の表示したい方式に変換することができます。これが変換指定です。

変換指定の構造はこんな感じです。
image.png

それでは実際に変換指定で遊んでみましょう。

test.c
#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

楽しいですね。

特殊表記

特殊表記と呼ばれる、特別な機能を持った表記があります。例えばこんな感じ。

escape_sequence
printf("こんにちは\nおはよう");

これを実行すると下のように表示されます。

こんにちは
おはよう

お分かりいただけましたでしょうか。ここで\nは改行を表しています。
このように\のあとに文字が続く場合、これを特殊表記といいます。(一部の環境では\の代わりに¥を使います。)

では、いくつか例を見てみましょう。

表記 機能 表記 機能
\n 改行 \a 警報音を鳴らす
\b 後退 \f 書式送り
\t 次の水平タブ位置に移動する \v 次の垂直タブ位置に移動する
\\ \を入力 \? ?を入力
\' 'を入力 \" "を入力

たくさんありますね。ただ、書式送りやタブの移動はいつ使うんでしょうか。
多分使わないので覚える必要はなさそうです。

最後に

いかがだったでしょうか。
皆さんもprintfを使いこなして快適なC言語生活を楽しみましょう!

5
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1