MMGamesロゴ  MMGames
Twitterシェアボタン  Facebookシェアボタン   
 English 

しんで覚えるC言語
しんで覚えるC言語

改行文字

改行問題
前節では、printf関数を使用して画面に文字列を表示させました。
printf関数を使えば、いくらでも画面に文字列を表示できます。

ところで、次のプログラムを実行すると、どのように表示されるでしょうか?

ソースコード
#include <stdio.h>

int main(void)
{
    printf("Hello");
    printf("world");
    return 0;
}

実行結果は、次のようになりました。

実行結果
Helloworld

これを見ると、1つの重大なことに気づくと思います。
それは、改行されていないことです。

これでは、横にひたすら並べて表示させるしかなく、とても不便です。
画面の右端まで表示すればその位置で改行されることもありますが、
自分で改行したい位置で、改行させることは出来ないのでしょうか。
エスケープシーケンス
画面に文字列を表示するのに、改行が出来ないのでは、あまりにも不便です。
そこで、C言語には、好きな位置で改行させるための機能が用意されています。

C言語のプログラムで改行を行うには、エスケープシーケンスを使います。
エスケープシーケンスとは、画面に表示出来ない制御を行うために使われる特殊文字です。
エスケープシーケンスの1つに \n があり、これが改行を表すことになっています。

キーワード
【エスケープシーケンス】

画面に表示出来ない制御を行うために使われる特殊文字。


この \n と言う文字を表示する文字列の中に書き込んでおけば、
画面上では \n のある場所で改行されて表示されます。

なお、海外では、\(円記号)ではなく、\(バックスラッシュ)記号を使います。
これは、日本のパソコンの文字と、海外のパソコンのフォントが一部異なるためです。
しかし、どちらも内部的にはまったく同じ文字として扱われるので、問題は起こりません。

次のプログラムは、エスケープシーケンス \n を使って改行させる例です。

ソースコード
#include <stdio.h>

int main(void)
{
    printf("Hello\n");
    printf("world\n");
    return 0;
}

このプログラムの実行結果は、次の通りになります。

実行結果
Hello
world

この改行文字は、好きな位置に好きな数だけ使うことができます。
たとえば、先ほどのプログラムを次のように書き換えても、結果は同じです。

ソースコード
#include <stdio.h>

int main(void)
{
    printf("Hello\nworld\n");
    return 0;
}

少しわかりにくいかもしれませんが、中央に \n があります。

多くの場合は、1行表示するたびに改行した方が見やすくなるので、
今後は、とくに理由がない限り、1行の最あとで必ず改行を行います。

他にもさまざまなエスケープシーケンスがありますが、使われる物は限られています。
改行文字以外では、頭揃えのためにタブを挿入する \t がよく使われます。
次のプログラムは、\tで頭揃えを行う例です。

ソースコード
#include <stdio.h>

int main(void)
{
    printf("Windows\tMicrosoft\n");
    printf("MacOS\tApple\n");
    return 0;
}

このプログラムの実行結果は、次の通りになります。

実行結果
Windows Microsoft
MacOS  Apple

2番目の文字が頭揃えされて表示されています。


本サイトについて

苦しんで覚えるC言語(苦C)は
C言語入門サイトの決定版です。
C言語の基本機能を体系立てて解説しており、
市販書籍と同等以上の完成度です。

第0部:プログラム概要編
  1. プログラムとは何か?
2章:プログラムの書き方
  1. 書き方のルール
  2. 書き方の慣習
  3. 練習問題2
3章:画面への表示
  1. 文字列の表示
  2. 改行文字
  3. 練習問題3
6章:キーボードからの入力
  1. 入力用の関数
  2. 入力の恐怖
  3. 練習問題6
9章:回数が決まっている繰り返し
  1. 繰り返しを行う文
  2. ループ動作の仕組み
  3. 練習問題9
10章:回数がわからない繰り返し
  1. 回数不明ループ
  2. 入力チェック
  3. 練習問題10
13章:複数の変数を一括して扱う
  1. 複数の変数をまとめて扱う
  2. 配列の使い方
  3. 練習問題13
20章:複数のソースファイル
  1. 最小限の分割
  2. 分割の定石
  3. 練習問題20

コメント
COMMENT

💬 コメント投稿欄を開く