\n ------------------------- 換行
\r ------------------------- 回車
\t ------------------------- 製表符
\b ------------------------- 退格
\f ------------------------- 換頁
\0 ------------------------- 空符號
\" ------------------------- 雙引號
\'''' -------------------------單引號
\\ -------------------------反斜槓
\t 橫向跳到下一製表位置
\v 豎向跳格
\b 退格
\f 走紙換頁
\a 鳴鈴
注:有些 ascii 字元是不可列印的。例如退格、另起一行、警報等。c 語言提供了兩種方法來表示這種不可列印字元。
第一種方法是使用 ascii 編碼。例如,ascii 編碼中,7 用於表示警報:
char beep = 7;
第二種方法是使用特殊符號序列,也就是所謂的轉義字元(escape sequences)。參見下表:
轉義字元 含義
\a 警報( alert (ansi c) )
\b 退格(backspace)
\f 換頁(form feed)
\n 換行(newline)
\r 回車(carriage return)
\t 水平製表符(horizontal tab)
\v 垂直製表符(vertical tab)
\\ 反斜桿( backslash (\) )
\' 單引號( single quote (') )
\" 雙引號( double quote (") )
\? 問號( question mark (?) )
\0oo 八進位制數( octal value (o 代表乙個八進位制數字) )
\xhh 十六進製制數( hexadecimal value (h 代表乙個十六進製制數字) )
給變數賦值的時候,轉義字元必須使用單引號引住。例如:
char nl = '\n';
下面我們詳細學習每個轉移字元的含義。
\a(警報)是 ansi c89 新增的,用於產生可聽或者可視的警報。\a 產生的效果取決於硬體。一般來說,輸出 \a 會產生鳴響。但是在某些系統,輸出 \a 不會產生任何效果,或者僅僅顯示乙個特殊字元。標準明確指出,\a 不應該改變當前活躍位置(active position)。所謂活躍位置,是指顯示裝置(顯示器、打字機、印表機等等)顯示下乙個字元的位置。以顯示器為例,活躍位置就是指游標所處的位置,輸出 \a 不會導致游標移動位置。
\\、\',以及 \" 使我們可以把 \,' 和 " 用作字元常量。如果要列印以下句子:
"\ is called 'backslash'."
我們需要使用如下語句:
printf("\"\\ is called \'backslash\'.\"");
或者printf("\"\\ is called 'backslash'.\"");
注意,在字串字面量中,無論寫 \' 還是 ',輸出都是一樣的。但是,在給字元變數賦值時,一定要寫 \'。例如:
char ch = '''; /* 錯誤! */
char ch = '\''; /* 正確。 */
\0oo 和 \xhh 是ascii碼的兩種特殊表示形式。如果想用八進位制ascii碼表示字元,可以在八進位制數前面加上 \ ,然後用單引號引起來。例如:
beep = '\007'; /* \007 代表 \a */
打頭的那些0可以省略,也就是說,寫成 '\07' 或者 '\7' 都一樣。無論有沒有打頭的0 ,7 都會被當成八進位制數處理。
從 c89 開始,c提供了用十六進製制表示字元常量的方法:在反斜桿後面寫乙個 x ,然後再寫 1 到 3 個十六進製制數字。例如:
nl = '\xa'; /* \xa 代表 \n */
注意:使用ascii碼時,要注意區分數字和數字字元。例如:字元4的ascii碼是52 ,'4' 代表字元 4 ,而不是數字4。此外,儘管 '\n' 和 '\xa' ,'\a' 和 '\007' 是等價的,但是我們應該盡可能使用 '\n' 和 '\a' ,而不要用 '\xa' 和 '\007' 。這是因為前者易懂、便於記憶,而且移植性更高。而後者只對使用ascii碼的系統有效。
shell指令碼中一些特殊符號
1 大括號 用法一 萬用字元擴充套件 eg ls my s 這條命令相當於如下命令的組合 ls my fingers my toes eg mkdir 我們將得到 usera home,usera bin,usera data,userb home,userb bin,userb data,user...
shell指令碼中一些特殊符號
1 大括號 用法一 萬用字元擴充套件 eg ls my s 這條命令相當於如下命令的組合 ls my fingers my toes eg mkdir 我們將得到 usera home,usera bin,usera data,userb home,userb bin,userb data,user...
shell指令碼中一些特殊符號
1 大括號 用法一 萬用字元擴充套件 eg ls my s 這條命令相當於如下命令的組合 ls my fingers my toes eg mkdir 我們將得到 usera home,usera bin,usera data,userb home,userb bin,userb data,user...