糯米文學吧

位置:首頁 > 計算機 > C語言

C語言轉義字符

C語言7.42K

C語言之所以命名為C,是因為 C語言源自Ken Thompson發明的B語言,而 B語言則源自BCPL語言。下面是小編分享的C語言轉義字符,一起來看一下吧。

C語言轉義字符

通過printf可以輸出字符串,例如:

printf("123abc");

"123abc" 對應的ASCII碼值的八進制分別是 61、62、63、141、142、143,上面的代碼也可以寫為:

printf("616263141142143");

在C語言中,所有的ASCII碼都可以用反斜槓加數字(默認是8進制)來表示,稱為轉義字符(Escape Character),因為後面的字符都不是它原來的ASCII字符的'意思了。

除了八進制,也可以用十六進制來表示。用十六進制表示時數字要以x開頭。"123abc" 對應的ASCII碼值的十六進制分別是 31、32、33、61、62、63,所以也可以寫為:

printf("x31x32x33x61x62x63");

注意:只能使用八進制或十六進制,不能使用十進制。

一個完整的例子:

#includeint main(){ printf("616263x61x62x63"); return 0;}

運行結果:

123abc

在ASCII碼中,從 0~31(十進制)的字符為控制字符,它們都是看不見的字符,不能在顯示器上顯示,也沒法書寫,只能以轉義字符的形式來表示。不過,直接使用ASCII碼值記憶不方便,針對常用的控制字符,C語言又定義了簡寫方式,完整的列表如下:

rap: break-word !important; MAX-WIDTH: 100%; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; MARGIN: 0px; PADDING-RIGHT: 0px" class="firstRow">
轉義字符意義ASCII碼值(十進制)
a響鈴(BEL)007
退格(BS) ,將當前位置移到前一列008
f換頁(FF),將當前位置移到下頁開頭012
換行(LF) ,將當前位置移到下一行開頭010
回車(CR) ,將當前位置移到本行開頭013
水平製表(HT) (跳到下一個TAB位置)009
v垂直製表(VT)011

轉義字符示例

#includeint main(){ printf("C C++ Javaa"); return 0;}

運行結果:

C C++ Java

同時會聽到喇叭發出“嘟”的聲音,這是使用a的效果。

【拓展】如何在字符串中輸出"和

"和在字符串中都有特殊含義:"表示字符串的開始和結束,表示轉義字符的開始。它們都不能直接出現在字符串中,必須要經過轉義,也就是在前面加,如"、。

例如,輸出字符串abc61"xyz的代碼:

#includeint main(){ printf("abc61"xyz"); return 0;}

運行結果:

abc61"xyz

如果不經過轉義,寫作puts("abc61"xyz");,那麼會輸出abc1"xyz,61被當做轉義字符處理。

如果"不經過轉義,寫作puts("abc61"xyz");,就會出現錯誤,編譯器會把"abc61"作為一個字符串,而xyz"不知道是什麼,也不應該出現在這裏,所以報錯。

總結:字符串中出現、"時必須要轉義。

標籤:轉義字符 語言