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