- 相關(guān)推薦
C語(yǔ)言轉(zhuǎn)義字符
C語(yǔ)言之所以命名為C,是因?yàn)?C語(yǔ)言源自Ken Thompson發(fā)明的B語(yǔ)言,而 B語(yǔ)言則源自BCPL語(yǔ)言。下面是小編分享的C語(yǔ)言轉(zhuǎn)義字符,一起來(lái)看一下吧。
通過(guò)printf可以輸出字符串,例如:
printf("123abc");
"123abc" 對(duì)應(yīng)的ASCII碼值的八進(jìn)制分別是 61、62、63、141、142、143,上面的代碼也可以寫(xiě)為:
printf("616263141142143");
在C語(yǔ)言中,所有的ASCII碼都可以用反斜杠加數(shù)字(默認(rèn)是8進(jìn)制)來(lái)表示,稱為轉(zhuǎn)義字符(Escape Character),因?yàn)楹竺娴淖址疾皇撬瓉?lái)的ASCII字符的意思了。
除了八進(jìn)制,也可以用十六進(jìn)制來(lái)表示。用十六進(jìn)制表示時(shí)數(shù)字要以x開(kāi)頭。"123abc" 對(duì)應(yīng)的ASCII碼值的十六進(jìn)制分別是 31、32、33、61、62、63,所以也可以寫(xiě)為:
printf("x31x32x33x61x62x63");
注意:只能使用八進(jìn)制或十六進(jìn)制,不能使用十進(jìn)制。
一個(gè)完整的例子:
#includeint main(){ printf("616263x61x62x63"); return 0;}
運(yùn)行結(jié)果:
123abc
在ASCII碼中,從 0~31(十進(jìn)制)的字符為控制字符,它們都是看不見(jiàn)的字符,不能在顯示器上顯示,也沒(méi)法書(shū)寫(xiě),只能以轉(zhuǎn)義字符的形式來(lái)表示。不過(guò),直接使用ASCII碼值記憶不方便,針對(duì)常用的控制字符,C語(yǔ)言又定義了簡(jiǎn)寫(xiě)方式,完整的列表如下:
轉(zhuǎn)義字符 | 意義 | ASCII碼值(十進(jìn)制) |
---|---|---|
a | 響鈴(BEL) | 007 |
退格(BS) ,將當(dāng)前位置移到前一列 | 008 | |
f | 換頁(yè)(FF),將當(dāng)前位置移到下頁(yè)開(kāi)頭 | 012 |
換行(LF) ,將當(dāng)前位置移到下一行開(kāi)頭 | 010 | |
回車(CR) ,將當(dāng)前位置移到本行開(kāi)頭 | 013 | |
水平制表(HT) (跳到下一個(gè)TAB位置) | 009 | |
v | 垂直制表(VT) | 011 |
轉(zhuǎn)義字符示例:
#includeint main(){ printf("C C++ Javaa"); return 0;}
運(yùn)行結(jié)果:
C C++ Java
同時(shí)會(huì)聽(tīng)到喇叭發(fā)出“嘟”的聲音,這是使用a的效果。
【拓展】如何在字符串中輸出"和
"和在字符串中都有特殊含義:"表示字符串的開(kāi)始和結(jié)束,表示轉(zhuǎn)義字符的開(kāi)始。它們都不能直接出現(xiàn)在字符串中,必須要經(jīng)過(guò)轉(zhuǎn)義,也就是在前面加\,如"、\。
例如,輸出字符串a(chǎn)bc61"xyz的代碼:
#includeint main(){ printf("abc\61"xyz"); return 0;}
運(yùn)行結(jié)果:
abc61"xyz
如果不經(jīng)過(guò)轉(zhuǎn)義,寫(xiě)作puts("abc61"xyz");,那么會(huì)輸出abc1"xyz,61被當(dāng)做轉(zhuǎn)義字符處理。
如果"不經(jīng)過(guò)轉(zhuǎn)義,寫(xiě)作puts("abc\61"xyz");,就會(huì)出現(xiàn)錯(cuò)誤,編譯器會(huì)把"abc\61"作為一個(gè)字符串,而xyz"不知道是什么,也不應(yīng)該出現(xiàn)在這里,所以報(bào)錯(cuò)。
總結(jié):字符串中出現(xiàn)、"時(shí)必須要轉(zhuǎn)義。
【C語(yǔ)言轉(zhuǎn)義字符】相關(guān)文章:
C語(yǔ)言字符串07-24
C語(yǔ)言中的字符(char)09-24
C語(yǔ)言的字符集05-17
詳解c語(yǔ)言字符數(shù)組與字符串的使用09-19
C語(yǔ)言字符數(shù)據(jù)的合法形式10-17
C語(yǔ)言的字符集有哪些10-03
C語(yǔ)言字符串操作講解08-03