在字符集中,有一類字元具有這樣的特性:當從鍵盤上輸入這個字元時,顯示器上就可以顯示這個字元,即輸入什麼就顯示什麼。這類字元稱為可顯示字元,如a、b、c、$、+和空格符等都是可顯示字元。
另一類字元卻沒有這種特性。它們或者在鍵盤上找不到對應的乙個鍵(當然可以用特殊方式輸入),或者當按鍵以後不能顯示鍵面上的字元。其實,這類字元是為控制作用而設計的,故稱為控制字元。
在c語言中,構成字元常量的控制字元必須用轉義字元表示。轉義字元是一種以「\」開頭的字元。例如退格符用'\b'表示,換行符用'\n'表示。轉義字元中的'\'表示它後面的字元已失去它原來的含義,轉變成另外的特定含義。反斜槓與其後面的字元一起構成乙個特定的
字元。
轉義字元是c語言中表示字元的一種特殊形式。轉義字元以反斜'\'開頭,後面跟乙個字元或乙個八進位制或十六進製制數表示。轉義字元具有特定的含義,不同於字元原有的意義,故稱轉義字元。
通常使用轉義字元表示ascii碼字符集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號('),用於表示字串常量的雙撇號(")和反斜槓(\)等。
例如,下面例子printf函式的格式串中用到的'\n'就是乙個轉義字元,其意義是「回車換行」。轉義字元主要用來表示那些用一般字元不便於表示的控制**。
常用的轉義字元及其含義
從表中可以看出,在c語言中有三種轉義字元,它們是:一般轉義字元、八進位制轉義字元和十六進製制轉義字元。
1. 一般轉義字元
這種轉義字元,雖然在形式上由兩個字元組成,但只代表乙個字元。常用的一般轉義字元為:
\a \n \t
\v \b
\r \f
\\ \』 \"
細心的讀者可能已經發現,轉義字元'\\'代表的反斜槓"\"、轉義字元』\』』代表的字元"'"和轉義字元'\"'代表的字元""",其本身就是可顯示字元,為什麼還要對它轉義呢?
這是因為它們的原有的字元形式已作它用,其中,單引號用作區分字元常量的括號,雙引號用作區分字串(下面將要介紹字串)的括號,而反斜槓本身已用來表示轉義字元的開頭,因此必須對它們用轉義字元重新宣告。
2. 八進位制轉義字元
它是由反斜槓'\'和隨後的1~3個八進位制數字構成的字串行。例如,'\60'、'\101'、'\141'分別表示字元'0'、'a'和'a'。因為字元'0'、'a'和'a'的ascii碼的八進位制值分別為60、101和141。
字符集中的所有字元都可以用八進位制轉義字元表示。
如果你願意,可以在八進位制數字前面加上乙個0來表示八進位制轉移字元。
3. 十六進製制轉義字元
它是由反斜槓'\'和字母x(或x)及隨後的1~2個十六進製制數字構成的字串行。例如,'\x30'、'\x41'、'\x61'分別表示字元'0'、'a'和'a'。因為字元'0'、'a'和'a'的ascii碼的十六進製制值分別為0x30、0x41和0x61。
可見,字符集中的所有字元都可以用十六進製制轉義字元表示。
由上可知,使用八進位制轉義字元和十六進製制轉義字元,不僅可以表示控制字元,而且也可以表示可顯示字元。但由於不同的計算機系統上採用的字符集可能不同,因此,為了能使所編寫的程式可以方便地移植到其他的計算機系統上執行,程式中應少用這種形式的轉義字元。
使用轉義字元時需要注意以下問題:
1)轉義字元中只能使用小寫字母,每個轉義字元只能看作乙個字元。
2)\v垂直製表和\f換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。
3)在c程式中,使用不可列印字元時,通常用轉義字元表示。
4)轉義字元』\0』表示空字元null,它的值是0。而字元'0'的ascii碼值是48。因此,空字元』\0』不是字元0。另外,空字元不等於空格字元,空格字元的ascii碼值為32而不是0。程式設計序時,讀者應當區別清楚。
5) 如果反斜線之後的字元和它不構成轉義字元,則』\』不起轉義作用將被忽略。
例如:
printf(「a\nbc\ndef\n」);
輸出:anbc
def6)轉義字元也可以出現在字串中,但只作為乙個字元看待。
例 求下面字串的長度
「\026[12,m」 長度為6
「\0mn」
長度為0。(想想:為什麼不是2)
C 常用轉義符
換行僅僅是換行,不表示完成,也不把游標放到行首 什麼都不輸入 回車僅僅是表示完成,把游標回到行首 pc的回車鍵就是先換行 n再回車 r 表示製表符,相當於鍵盤上的tab鍵按一次的效果 win 用 r n linux unix 用 n mac os 用 r 關於換行和回車其實平時我們不太在意,所以關於...
C語言轉義符
c語言轉義符 轉義字元是c語言中表示字元的一種特殊形式。通常使用轉義字元表示ascii碼字符集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號 用於表示字串常量的雙撇號 和反斜槓 等。轉義字元用反斜槓 後面跟乙個字元或乙個八進位制或十六進製制數表示。轉義字元 意義 ascii碼值 十...
常用轉義符
表示不換行輸出 輸出轉義字元,將轉義後的內容輸出到螢幕上 格式 echo e 字元 轉義符 b 轉義後相當於按退格鍵 backspace 但前提是 b 後面存在字元 b 表示刪除前乙個字元,blb 表示刪除前兩個字元。c 不換行輸出,在 c 後面不存在字元的情況下,作用相當於echo n 但是當 c...