轉義字符是C語言中表示字符的一種特殊形式。通常使用轉義字符表示ASCII碼字符集中不可打印的控制字符和特定功能的字符,如用於表示字符常量的單撇號( '),用於表示字符串常量的雙撇號( ")和反斜槓( \)等。轉義字符用反斜槓\後面跟一個字符或一個八進制或十六進制數表示。
轉義字符 意義 ASCII碼值(十進制)
轉義字符 | 意義 | ASCII碼值(十進制) |
\a | 響鈴(BEL) | 007 |
\b | 退格(BS) | 008 |
\f | 換頁(FF) | 012 |
\n | 換行(LF) | 010 |
\r | 回車(CR) | 013 |
\t | 水平製表(HT) | 009 |
\v | 垂直製表(VT) | 011 |
\\ | 反斜槓 | 092 |
\' | 單引號字符 | 039 |
\" | 雙引號字符 | 034 |
\0 | 空字符(NULL) | 000 |
\ddd | 任意字符 | 三位八進制 |
\xhh | 任意字符 | 二位十六進制 |
字符常量中使用單引號和反斜槓以及字符常量中使用雙引號和反斜槓時,都必須使用轉義字符表示,即在這些字符前加上反斜槓。
在C程序中使用轉義字符\ d d d或者\ x h h可以方便靈活地表示任意字符。\ d d d爲斜槓後面跟三位八進制數,該三位八進制數的值即爲對應的八進制A S C I I碼值。\ x後面跟兩位十六進制數,該兩位十六進制數爲對應字符的十六進制A S C I I碼值。
使用轉義字符時需要注意以下問題:
1) 轉義字符中只能使用小寫字母,每個轉義字符只能看作一個字符。
2) \v 垂直製表和\f 換頁符對屏幕沒有任何影響,但會影響打印機執行響應操作。
3) 在C程序中,使用不可打印字符時,通常用轉義字符表示
注:
1,\v垂直製表和\f換頁符對屏幕沒有任何影響,但會影響打印機執行響應操作。
2,\n其實應該叫回車換行。換行只是換一行,不改變光標的橫座標;回車只是回到行首,不改變光標的縱座標。
3,\t 光標向前移動四格或八格,可以在編譯器裏設置
4,\' 在字符裏(即單引號裏)使用。在字符串裏(即雙引號裏)不需要,只要用 ' 即可。
5,\? 其實不必要。只要用 ? 就可以了(在windows VC6 和tc2 中驗證)
轉義字符是一種特殊的字符常量。轉義字符以反斜線"\"開頭,後跟一個或幾個字符。轉義字符具有特定的含義,不同於字符原有的意義,故稱“轉義”字符。例如,在前面各例題printf函數的格式串中用到的“\n”就是一個轉義字符,其意義是“回車換行”。轉義字符主要用來表示那些用一般字符不便於表示的控制代碼。
常用的轉義字符及其含義
轉義字符 轉義字符的意義
廣義地講,C語言字符集中的任何一個字符均可用轉義字符來表示。表2.2中的\ddd和\xhh正是爲此而提出的。ddd和hh分別爲八進制和十六進制的ASCII代碼。如\101表示字母A" ,\102表示字母"B",\134表示反斜線,\XOA表示換行等。轉義字符的使用
void main()
{
int a,b,c;
a=5; b=6; c=7;
printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);
}
此程序練習轉義字符的使用
a、b、c爲整數 5->a,6->b,7->c
調用printf顯示程序運行結果
printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);
程序在第一列輸出a值5之後就是“\n”,故回車換行;接着又是“\t”,於是跳到下一製表位置(設製表位置間隔爲8),再輸出b值6;空二格再輸出c 值7後又是"\n",因此再回車換行;再空二格之後又輸出a值5;再空三格又輸出b的值6;再次後"\t"跳到下一製表位置(與上一行的6 對齊),但下一轉義字符“\b”又使退回一格,故緊挨着6再輸出c值7。