C 中一些特殊符號

2021-06-01 01:42:30 字數 2374 閱讀 7180

\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...