Contents menu
※この記事は2020年2月10日に更新されました。
前回の記事でC言語の文法の全体構造をなんとなく右脳で掴めたと思います。
本日は前回放置していたエスケープシーケンスについて書いていこうと思います。
この記事はこちらの書籍を参考にしています。
特殊文字

プログラミングで使う特殊な文字のことを表しています。
例えば前回使用したコード
#include<stdio.h>
int main() {
printf("hello, World\n");
return 0;
}
の
\n
の部分。
これは改行を指示しています。
海外では
\n
を使いますが、日本のプログラマーは¥nを使います。
¥n
これは単純にキーボードの使用の違いで、どちらを使っても結果は同じになります。
バックスラッシュって日本語キーボードではなかなか使うのが面倒だったりしますよね。。。
このあたりが、C言語は人間界の言葉という感じがしますよね!
実際の使用例

例えば以下のコードはどのようになるのか?見てみましょう。
実際にコマンドプロンプトで実行してみることをおすすめします。
エスケープシーケンスを使用しない場合・・・
#include <stdio.h>
int main(void)
{
printf("Hello");
printf("world");
return 0;
}
文字をダブルクォーテーション「”」ではさんだだけの場合の実行結果はこのようになります。
Helloworld
このように、プログラムコードの中では別の行で書いているにも関わらず、実行結果は改行されていません。
これらの二つの単語を改行して使いたい場合・・・
#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;
}
この書き方でも
Hello
world
になります。
他にもあるエスケープシーケンス
\a | 警告音 |
\b | バックスペース(カーソルを1文字左へ) |
\f | フォームフィールド(次ページの先頭に) |
\n | 改行 |
\r | 行頭 |
\t | タブ |
\\ | バックスラッシュ「\」、あるいは円記号「¥」を表示 |
\’ | シングルクォーテーション「’」を表示 |
\” | ダブルクォーテーション「”」を表示 |
\? | クエスチョンマーク「?」を表示 |
などなどがあります。
\t
なんかは結構使えるかもしれません。
例えばこんなやつ・・・
#include <stdio.h>
int main(void)
{
printf("Windows\tMicrosoft\n");
printf("MacOS\tApple\n");
return 0;
}
実行結果はこのようになります。
Windows Microsoft
MacOS Apple
これはタブを揃えるためのシーケンスで、実際にデバイスに表示させる際に綺麗に表示させることができるので、見栄え良く創れます。
#include <stdio.h>
int main(void)
{
printf("Hello\nworld\nHello\nworld\nHello\nworld\nHello\nworld\n");
return 0;
}
でも
Hello
world
Hello
world
Hello
world
Hello
world
こうなるはずです。
みなさんの実行結果はいかがでしたか?
Helloworldだけだと飽きてくるかもしれませんので、みなさんの名前を使ったり、学校の先生の名前を使ったりして楽しく学習していきましょう。