C語言中的轉義字元

2021-09-06 10:22:01 字數 2060 閱讀 6813

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 和空格符等都是可顯示字元。另一類字元卻沒有這種特性。它們或者在鍵盤上找不到對應的乙個鍵 當然可以用特殊方式輸入 或者當按鍵以後不能顯示鍵面上的字元。...