C语言转义字符的使用
字符集(Character Set)為每個字符分配了唯一的編號,我們不妨將它稱為編碼值。在C語言中,一個字符除了可以用它的實體(也就是真正的字符)表示,還可以用編碼值表示。這種使用編碼值來間接地表示字符的方式稱為轉義字符(Escape Character)。
轉義字符以\或者\x開頭,以\開頭表示后跟八進制形式的編碼值,以\x開頭表示后跟十六進制形式的編碼值。對于轉義字符來說,只能使用八進制或者十六進制。
字符 1、2、3、a、b、c 對應的 ASCII 碼的八進制形式分別是 61、62、63、141、142、143,十六進制形式分別是 31、32、33、61、62、63。下面的例子演示了轉義字符的用法:
char a = '\61'; //字符1 char b = '\141'; //字符a char c = '\x31'; //字符1 char d = '\x61'; //字符a char *str1 = "\x31\x32\x33\x61\x62\x63"; //字符串"123abc" char *str2 = "\61\62\63\141\142\143"; //字符串"123abc" char *str3 = "The string is: \61\62\63\x61\x62\x63" //混用八進制和十六進制形式轉義字符既可以用于單個字符,也可以用于字符串,并且一個字符串中可以同時使用八進制形式和十六進制形式。
示例:
#include <stdio.h> int main(){puts("\x68\164\164\x70://baidu.com\x6e\145\x74");return 0; }運行結果:
http://baidu.com轉義字符的初衷是用于 ASCII 編碼,所以它的取值范圍有限:
八進制形式的轉義字符最多后跟三個數字,也即\ddd,最大取值是\177;十六進制形式的轉義字符最多后跟兩個數字,也即\xdd,最大取值是\x7f。超出范圍的轉義字符的行為是未定義的,有的編譯器會將編碼值直接輸出,有的編譯器會報錯。
對于 ASCII 編碼,0~31(十進制)范圍內的字符為控制字符,它們都是看不見的,不能在顯示器上顯示,甚至無法從鍵盤輸入,只能用轉義字符的形式來表示。不過,直接使用 ASCII 碼記憶不方便,也不容易理解,所以,針對常用的控制字符,C語言又定義了簡寫方式,完整的列表如下:
\n和\t是最常用的兩個轉義字符:
\n用來換行,讓文本從下一行的開頭輸出,前面的章節中已經多次使用;\t用來占位,一般相當于四個空格,或者 tab 鍵的功能。單引號、雙引號、反斜杠是特殊的字符,不能直接表示:
單引號是字符類型的開頭和結尾,要使用\'表示,也即'\'';雙引號是字符串的開頭和結尾,要使用\"表示,也即"abc\"123";反斜杠是轉義字符的開頭,要使用\\表示,也即'\\',或者"abc\\123"。轉義字符示例:
#include <stdio.h> int main(){puts("C\tC++\tJava\n\"C\" first appeared!");return 0; }運行結果:
C C++ Java "C" first appeared!如果感覺不錯的話請點贊喲!!!
總結
以上是生活随笔為你收集整理的C语言转义字符的使用的全部內容,希望文章能夠幫你解決所遇到的問題。