C語言中的轉義字元

2021-08-27 12:44:14 字數 2044 閱讀 4126

c語言中的轉義字元

在字符集中,有一類字元具有這樣的特性:當從鍵盤上輸入這個字元時,顯示器上就可以顯示這個字元,即輸入什麼就顯示什麼。這類字元稱為可顯示字元,如a、b、c、$、+和空格符等都是可顯示字元。

另一類字元卻沒有這種特性。它們或者在鍵盤上找不到對應的乙個鍵(當然可以用特殊方式輸入),或者當按鍵以後不能顯示鍵面上的字元。其實,這類字元是為控制作用而設計的,故稱為控制字元

在c語言中,構成字元常量的控制字元必須用轉義字元表示。轉義字元是一種以「\」開頭的字元。例如退格符用'\b'表示,換行符用'\n'表示。轉義字元中的'\'表示它後面的字元已失去它原來的含義,轉變成另外的特定含義。反斜槓與其後面的字元一起構成乙個特定的字元。

轉義字元是c語言中表示字元的一種特殊形式。轉義字元以反斜'\'開頭,後面跟乙個字元或乙個八進位制或十六進製制數表示。轉義字元具有特定的含義,不同於字元原有的意義,故稱轉義字元。

通常使用轉義字元表示ascii碼字符集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號('),用於表示字串常量的雙撇號(")和反斜槓(\)等。

例如,printf函式的格式串中用到的'

\n'就是乙個轉義字元,其意義是「回車換行」。轉義字元主要用來表示那些用一般字元不便於表示的控制**。

下表是常用的轉義字元及其含義:

轉義字元

意義ascii碼值(十進位制)

\a響鈴(bel)

007\b

退格(bs) ,將當前位置移到前一列

008\f

換頁(ff),將當前位置移到下頁開頭

012\n

換行(lf) ,將當前位置移到下一行開頭

010\r

回車(cr) ,將當前位置移到本行開頭

013\t

水平製表(ht) (跳到下乙個tab位置)

009\v

垂直製表(vt)

011\\

代表乙個反斜線字元''\'

092​​​

\'代表乙個單引號(撇號)字元

039\"

代表乙個雙引號字元

034\0

空字元(null)

000\ddd

1到3位八進位制數所代表的任意字元

三位八進位制

\xhh

1到2位十六進製製所代表的任意字元

二位十六進製制

從表中可以看出,在c語言中有三種轉義字元,它們是:一般轉義字元、八進位制轉義字元和十六進製制轉義字元。

這種轉義字元,雖然在形式上由兩個字元組成,但只代表乙個字元。常用的一般轉義字元為:

\a \n \t \v \b \r \f \\

\』 \"

細心的讀者可能已經發現,轉義字元'\/'代表的反斜槓"/"、轉義字元』\』』代表的字元"'"和轉義字元'\"'代表的字元""",其本身就是可顯示字元,為什麼還要對它轉義呢?

這是因為它們的原有的字元形式已作它用,其中單引號用作區分字元常量的括號,雙引號用作區分字串(下面將要介紹字串)的括號,而反斜槓本身已用來表示轉義字元的開頭,因此必須對它們用轉義字元重新宣告。

它是由反斜槓'/'和隨後的1~3個八進位制數字構成的字串行。例如,'\60'、'\101'、'\141'分別表示字元'0'、'a'和'a'。因為字元'0'、'a'和'a'的ascii碼的八進位制值分別為60、101和141。字符集中的所有字元都可以用八進位制轉義字元表示。如果你願意,可以在八進位制數字前面加上乙個0來表示八進位制轉移字元。

它是由反斜槓'/'和字母x(或x)及隨後的1~2個十六進製制數字構成的字串行。例如,'\x30'、'\x41'、'\x61'分別表示字元'0'、'a'和'a'。因為字元'0'、'a'和'a'的ascii碼的十六進製制值分別為0x30、0x41和0x61。

可見,字符集中的所有字元都可以用十六進製制轉義字元表示。

由上可知,使用八進位制轉義字元和十六進製制轉義字元,不僅可以表示控制字元,而且也可以表示可顯示字元。但由於不同的計算機系統上採用的字符集可能不同,因此,為了能使所編寫的程式可以方便地移植到其他的計算機系統上執行,程式中應少用這種形式的轉義字元。

C語言中的轉義字元

在字符集中,有一類字元具有這樣的特性 當從鍵盤上輸入這個字元時,顯示器上就可以顯示這個字元,即輸入什麼就顯示什麼。這類字元稱為可顯示字元,如a b c 和空格符等都是可顯示字元。另一類字元卻沒有這種特性。它們或者在鍵盤上找不到對應的乙個鍵 當然可以用特殊方式輸入 或者當按鍵以後不能顯示鍵面上的字元。...

C語言中的轉義字元

c語言中的轉義字元 在字符集中,有一類字元具有這樣的特性 當從鍵盤上輸入這個字元時,顯示器上就可以顯示這個字元,即輸入什麼就顯示什麼。這類字元稱為可顯示字元,如a b c 和空格符等都是可顯示字元。另一類字元卻沒有這種特性。它們或者在鍵盤上找不到對應的乙個鍵 當然可以用特殊方式輸入 或者當按鍵以後不...

C語言中的轉義字元

在字符集中,有一類字元具有這樣的特性 當從鍵盤上輸入這個字元時,顯示器上就可以顯示這個字元,即輸入什麼就顯示什麼。這類字元稱為可顯示字元,如a b c 和空格符等都是可顯示字元。另一類字元卻沒有這種特性。它們或者在鍵盤上找不到對應的乙個鍵 當然可以用特殊方式輸入 或者當按鍵以後不能顯示鍵面上的字元。...