在字符集中,有一類字元具有這樣的特性:當從鍵盤上輸入這個字元時,顯示器上就可以顯示這個字元,即輸入什麼就顯示什麼。這類字元稱為可顯示字元,如a、b、c、$、+和空格符等都是可顯示字元。
另一類字元卻沒有這種特性。它們或者在鍵盤上找不到對應的乙個鍵(當然可以用特殊方式輸入),或者當按鍵程式設計客棧以後不能顯示鍵面程式設計客棧上的字元。其實,這類字元是為控制作用而設計的,故稱為控制字元。
在c語言中,構成字元常量的控制字元必須用轉義字元表示。轉義字元是一種以「\」開頭的字元。例如退格符用'\b'表示,換行符用'\n'表示。轉義字元中的'\'表示它後面的字元已失去它原來的含義,轉變成另外的特定含義。反斜槓與其後面的字元一起構成乙個特定的字元。
轉義字元是c語言中表示字元的一種特殊形式。轉義字元以反斜'\'開頭,後面跟乙個字元或乙個八進位制或十六進製制數表示。轉義字元具有特定的含義,不同於字元原有的意義,故稱轉義字元。
通常使用轉義字元表示ascii碼字符集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號('),用於表示字串常量的雙撇號(")和反斜槓(\)等。
例項講解:
通過puts可以輸出字串,例如:
puts("123abc");
"123abc" 對應的ascii碼值的八進位制分別是 61、62、63、141、142、143,上面的**也可以寫為:
puts("\61\62\63\141\142\143");
在c語言中,所有的ascii碼都可以用反斜槓\加數字(預設是8進製)來表示,稱為轉義字元(escape character),因為\後面
的字元都不是它原來的ascii字元的意思了。
除了八進位制,也可以用十六進製制來表示。用十六進製制表示時數字要以x開頭。"123abc" 對應的ascii碼值的十六進製制分別是 31、
32、33、61、62、63,所以也可以寫為:
puts("\www.cppcns.comx31\x32\x33\x61\x62\x63");
注意:只能使用八進位制或十六進製制,不能使用十進位制。
乙個完整的例子:
#include
int main()
執行結果:
the string is: 123abc
在ascii碼中,從 0~31(十進位制)的字元為控制字元,它們都是看不見的字元,不能在顯示器上顯示,也沒法書寫,只能以轉
義字元的形式來表示。不過,直接使用awww.cppcns.comscii碼值記憶不方便,針對常用的控制字元,c語言又定義了簡寫方式,完整的列表如下:
轉義字元
意義ascii 碼值(十進位制)
\a響鈴(bel)
007\b
退格(bs) ,將當前位置移到前一列
008\f
換頁(ff),將當前位置移到下頁開頭
012\n
換行(lf) ,將當前位置移到下一行開頭
010\r
回車(cr) ,將當前位置移到本行開頭
013\t
水平製表(ht) (跳到下乙個tab位置)
009\v
垂直製表(vt)
011轉義字元示例:
#include
int main()
執行結果:
c c++ j**a
c first appeared!
同時會聽到喇叭發出「嘟」的聲音,這是使用\a的效果。
以上就是對c語言的轉義字元的資料整理,學習c語言的同學可以看下。
本文標題: c語言轉義字元例項詳解
本文位址: /ruanjian/c/156953.html
c語言轉義字元
轉義字元是一種特殊的字元常量。轉義字元以反斜線 開頭,後跟乙個或幾個字元。轉義字元具有特定的含義,不同於字元原有的意義,故稱 轉義 字元。例如,在前面各例題printf函式的格式串中用到的 n 就是乙個轉義字元,其意義是 回車換行 轉義字元主要用來表示那些用一般字元不便於表示的控制 常用的轉義字元及...
C語言轉義字元
轉義字元 意義 ascii 碼值 十進位制 1.n 換行 lf 將單簽位置移到到下一行開頭 010 2.a 響鈴 bel 007 3.b 退格 bs 將當前位置移到前一列 008 4.f 換頁 ff 將當前位置移到下頁開頭 012 5.r 回車 cr 將當前位置移到本行開頭 013 6.t 水平製表...
c語言轉義字元
今天遇到一道題 有以下程式 void main 編譯時出現錯誤,以下敘述中正確的是 a.程式中只有a 語句不正確 b.b xbc 語句不正確 c.p 0127 語句不正確 d.a 和c 0xab 語句都不正確 答案是d,不知道為什麼,於是又去複習了一下c語言的轉義字元。常用的c語言轉義字元如下表所示...