C++與演算法

跳脫字元(Escape Character)

試試看,要怎麼用C++輸出以下這句話

The password is "11037".

你會發現要輸出 雙引號" 會讓程式碼變得很複雜



像是

cout << "The password is " << '"' << "11037" << '"' << "." << endl;

要把原字串拆成一截一截的,才能輸出"


用跳脫字元就能更方便處理這些事了!



加上 \ 跳脫

跳脫字元 指的是 脫離原字元的意思

例如 " 原來在C++中是用來當作字串的開頭或結尾

寫成 \" 就能在字串中當作單純的符號來看待


第一段提到的程式碼能改寫成

cout << "The password is \"11037\"." << endl;



常用跳脫字元

字元 意義
\' 單引號
\" 雙引號
\\ 反斜線
\0 空字元(NULL)
\t 定位字元(TAB)
\n 換行字元(ENTER)

同樣的,要在程式碼打出控制字元也是一件難事

也可以用跳脫字元達成



範例1 - 多行字串

[output]

[開始遊戲]
[讀取進度]
[遊戲說明]
[離開遊戲]

[code]

#include<iostream>
using namespace std;

int main()
{
    cout << "[開始遊戲]\n[讀取進度]\n[遊戲說明]\n[離開遊戲]\n" ;

    return 0;
}



範例2 - 整齊版九九乘法表

[output]

1*1=1   1*2=2   1*3=3   1*4=4   1*5=5   1*6=6   1*7=7   1*8=8   1*9=9
2*1=2   2*2=4   2*3=6   2*4=8   2*5=10  2*6=12  2*7=14  2*8=16  2*9=18
3*1=3   3*2=6   3*3=9   3*4=12  3*5=15  3*6=18  3*7=21  3*8=24  3*9=27
4*1=4   4*2=8   4*3=12  4*4=16  4*5=20  4*6=24  4*7=28  4*8=32  4*9=36
5*1=5   5*2=10  5*3=15  5*4=20  5*5=25  5*6=30  5*7=35  5*8=40  5*9=45
6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  6*7=42  6*8=48  6*9=54
7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  7*8=56  7*9=63
8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  8*9=72
9*1=9   9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81

[code]

#include<iostream>
using namespace std;

int main()
{
    int i, j;

    for( i=1 ; i<=9 ; i=i+1 )
    {
        for( j=1 ; j<=9 ; j=j+1 )
        {
            cout << i << "*" << j << "=" << i*j << "\t";
        }
        cout << endl;
    }

    return 0;
}