官术网_书友最值得收藏!

  • C++教程
  • 鄭阿奇 丁有和編著
  • 763字
  • 2018-12-30 06:47:24

2.3.3 字符常量

在 C++中,用單引號將其括起來的字符稱為字符常量。如‘B’、‘b’、‘%’、‘ ’(表示一個空格)等都是合法的字符,但若只有一對單引號(‘’)則是不合法的,因為 C++不支持空字符常量。注意‘B’和‘b’是兩個不同的字符。

除了上述形式的字符常量外,C++還可以用“\”開頭的字符序列來表示特殊形式的字符。例如在以前程序中的‘\n’,它代表回車換行,即相當于按 Enter 鍵,而不是表示字母 n。這種將反斜杠(\)后面的字符轉換成另外意義的方法稱為轉義序列表示法。‘\n’稱為轉義字符,“\”稱為轉義字符引導符,單獨使用沒有任何意義,因此若要表示反斜杠字符,則應為‘\\’。表2.2列出了常用的轉義序列符。

表2.2 C++中常用轉義序列符

例如,有下列語句:

cout<<"ab\tcd\n";

則先在第1行第1列輸出a,第2列輸出b,然后遇到‘\t’,它的作用相當于按了一次Tab鍵,即跳到下一個水平制表位置。由于一個制表等于 8列,因而下一個制表位置從第 9 列開始,所以在第9列輸出c,第10列輸出d。結果如圖2.5所示。

圖2.5 “ab\tcd\n”輸出結果

需要說明的是:

(1)當轉義字符引導符后接數字時,用來指定字符的ASCII碼值。默認時,數字為八進制,此時數字可以是1位、2位或3位。若采用十六進制,則需在數字前面加上X或x,此時數字可以是 1 位或多位。例如:‘\101’和‘\x41’都表示字符‘A’。若為‘\0’,則表示 ASCII 碼值為0的字符。

要注意,ANSI/ISO C++中由于允許出現多字節編碼的字符,因此對于“\x”或“\X”后接的十六進制的數字位數已不再限制。

(2)不是每個以轉義序列表示的字符都是有效的轉義字符,當C++無法識別時,就會將該轉義字符解釋為原來的字符。例如:‘\A’和‘\N’等雖然都是合法的轉義字符,但卻都不能被C++識別,此時‘\A’當做‘A’,‘\N’當做‘N’。

(3)注意 0、‘0’和‘\0’的區別,0 表示整數,‘0’表示數字 0 字符,‘\0’表示ASCII碼值為0的字符

主站蜘蛛池模板: 积石山| 沙雅县| 侯马市| 七台河市| 安义县| 涟源市| 芷江| 台湾省| 简阳市| 磐石市| 铁力市| 祁连县| 福贡县| 兴山县| 万全县| 化州市| 萍乡市| 安平县| 普定县| 东台市| 千阳县| 安徽省| 景泰县| 秭归县| 和硕县| 奉新县| 布拖县| 固安县| 简阳市| 临夏县| 内乡县| 赫章县| 山丹县| 三河市| 静安区| 延津县| 景洪市| 台北县| 皮山县| 穆棱市| 苏州市|