C初級:エスケープシーケンス文字

C言語初級カテゴリのロゴ画像 C言語初級

サンプルプログラム 02escape.c

/* 02escape.c エスケープシーケンス文字 */
#include <stdio.h>
int main(void)
{
	printf("\tわたしの毎月の小遣いは、\\200です\n");
	printf("\a");		/* ビープ音がなる */

	return 0;
}

コンピュータで扱う文字の中には、見た目では分からないけれどもある機能を持っているという文字があります。

例えば、「改行文字」です。
見た目では改行文字は見えませんが、文章を構成する上で重要です。位置揃えなどに使うタブキー(TAB)なども同様です。
これらの文字は制御文字と呼ばれています。
AやBと同じく文字の1つです。

C言語で改行を表すときは、「¥n」を用います。
単純にキーボードからEnterキーを押してしまうとプログラムの意味が変わってしまうからです。
同様にタブキーは、「¥t」と表します。
C言語では、文字列をあらわすときに”(ダブルクォーテーション)で文字列をくくります。
“ABCDEF”
”(ダブルクォーテーション)自体を文字列として表したいときは困ってしまいます。
ですからこういう場合にエスケープシーケンス文字が用意されています。

例えば、

文字は”と”でくくります

という表示を行うには、

printf("文字は\"と\"でくくります\n");

とC言語では記述します。

ASCIIコード表の8番目の文字「¥a」は、ビープ音という特殊な文字です。
この文字を表示すると画面に文字が表示されずにシステムのビープ音がなります。(サンプル6行目)

主なものをまとめました。

改行 ¥n
タブ ¥t
ダブルクォーテーション ¥” または ””
シングルクォーテーション ¥’ または ’’
ビープ音 ¥a
¥マーク \\

例えば次のように表示したいとします。

おはようございます。
今日の天気は雨です。
わたしは昨日\2000円使いました。
雨は、英語で”rain”です。

プログラムはこうなります。

#include <stdio.h>
int main(void)
{
	printf("おはようございます。\n");
	printf("今日の天気は雨です。\n");
	printf("わたしは昨日\\2000円使いました。\n");
	printf("雨は、英語で\"rain\"です。\n");

	return 0;
}

もちろん次のようにprintfを1文だけで記述してもいいですが、ちょっと見にくいと思います。
プログラムは、あくまで作る側のものなので見やすさを心掛けるといいでしょう。

#include <stdio.h>
int main(void)
{
	printf("おはようございます。\n今日の天気は雨です。\nわたしは昨日\\2000円使いました。\n雨は、英語で\"rain\"です。\n");

	return 0;
}

コメント

タイトルとURLをコピーしました