表紙 <戻 進>

   改行文字   

  1. 第1項:改行問題
  2. 第2項:エスケープシーケンス

[1]改行問題

前節では、printf関数を使用して画面に文字列を表示させました。
printf関数を使えば、いくらでも画面に文字列を表示することが出来ます。

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


#include <stdio.h>

int main(void)
{
	printf("Hello");
	printf("world");
	return 0;
}
実行結果は、次のようになりました。

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

これでは、横にひたすら並べて表示させるしかなく、とても不便です。
最も、画面の右端まで表示すればその位置で改行されますが、
もっと自由に改行させることは出来ないのでしょうか。

目次に戻る


[2]エスケープシーケンス

画面に文字列を表示するのに、改行が出来ないのでは、あまりにも不便です。
そこで、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番目の文字が頭揃えされて表示されています。

目次に戻る



<−前に戻る  先頭に戻る  次へ進む−>