C言語基礎|printfで文字をそのまま表示する

まずは「文字を表示する」だけで十分です

C言語を学び始めたばかりの段階では、
数値の計算や難しい処理よりも、

「画面に文字が表示された!」

という体験がとても大切です。

printf 関数は、
計算結果だけでなく、文字をそのまま画面に表示する
こともできます。

この章では、
書式化(%d など)をいったん使わずに、
文字列をそのまま表示する方法
をゆっくり確認していきます。

書式化を行わない printf の使い方

printf 関数は、
実引数を1つだけ 与えて呼び出すことができます。

その場合、
与えた文字列が そのまま画面に表示 されます。

まずは、次のサンプルプログラムを見てみましょう。
(内容と表示メッセージは変更しています)

サンプルプログラム①:1行でメッセージを表示

プロジェクト名:chap1-7-1 ソースファイル名:chap1-7-1.c

// あいさつメッセージを表示

#include <stdio.h>

int main(void)
{
    printf("はじめまして。C言語の学習を始めました。\n");  // 最後に改行
    return 0;
}

実行結果

はじめまして。C言語の学習を始めました。

このプログラムで使われている要素

この短いプログラムにも、いくつか大切な要素があります。
表で整理してみましょう。

要素内容
printf画面に表示するための関数
" "表示したい文字列
\n改行を表す特別な記号
;文の終わりを示す

この表は、
「文字を表示するだけでも、いくつかの記号が使われている」
という点を示しています。

なぜ文字列は " " で囲むの?

C言語では、
文字をそのまま表示したい場合は、必ず " " で囲む
という決まりがあります。

printf("文字列");

この " " は、
ここからここまでが文字です
という範囲をコンピュータに伝えるためのものです。

\n は改行を表す特別な記号

文字列の中に書かれている \n は、
改行(new line) を意味します。

見た目は
\ と n の2文字ですが、
実際には 1つの改行文字 として扱われます。

そのため、

printf("A\nB\n");

と書くと、次のように表示されます。

A
B

サンプルプログラム②:途中で改行する

次は、
1回の printf で 2行に分けて表示 する例です。

プロジェクト名:chap1-7-2 ソースファイル名:chap1-7-2.c

// あいさつを2行で表示(その1)

#include <stdio.h>

int main(void)
{
    printf("おはようございます。\nC言語を楽しく学びましょう。\n");
    return 0;
}

実行結果

おはようございます。
C言語を楽しく学びましょう。

ここでは、
書式文字列の 途中に \n を入れる ことで、
表示を改行しています。

printf を分けて書く方法もあります

同じ表示結果でも、
printf 関数を 2回に分けて呼び出す
こともできます。

プロジェクト名:chap1-7-3 ソースファイル名:chap1-7-3.c

// あいさつを2行で表示(その2)

#include <stdio.h>

int main(void)
{
    printf("おはようございます。\n");
    printf("C言語を楽しく学びましょう。\n");
    return 0;
}

実行結果

おはようございます。
C言語を楽しく学びましょう。

どちらの書き方がよいの?

2つの書き方を比べてみましょう。

書き方特徴
1回の printf短く書ける
複数の printf読みやすく、修正しやすい

学習段階では、
後から読んで分かりやすい書き方
を選ぶのがおすすめです。

printf は「文」であることを忘れずに

printf の行の最後には、必ず
セミコロン ;
を付けます。

printf("表示する文字列\n");

セミコロンは、
ここで1つの文が終わります
という合図です。

この章で身につけたい感覚

この章では、次のことを意識できれば十分です。

ポイント内容
printf文字を画面に表示できる。
" "文字列の範囲を表す。
\n改行を表す。
表示方法1回でも複数回でもよい。

まずは、
自分の名前や好きな言葉に書き換えて実行してみる
のがおすすめです。