C語言中的轉義序列



C語言中的轉義序列

C語言中的轉義序列是由多個字元組成的字面量,包含在單引號中。通常,字元字面量僅包含單引號內的單個字元。但是,轉義序列會為反斜槓字元 (\) 後出現的字元賦予特殊的含義。

\ 符號導致編譯器跳出字串,併為其後的字元提供附加的含義。

\n為例。當放在字串中時,\n 充當換行符,產生按下 Enter 鍵的效果。以下語句 -

printf(" Hello \n World ");

將產生以下輸出 -

Hello
World

換行符是一個不可列印字元。\n 轉義序列用於生成其效果。類似地,轉義序列\t相當於在鍵盤上按下 Tab 鍵。

轉義序列是指在字元或字串字面量中使用時不代表自身,而是轉換為另一個字元或一系列字元的字元序列,這些字元可能難以或不可能直接表示。

C語言中的所有轉義序列

在 C 語言中,所有轉義序列都由兩個或多個字元組成,第一個字元是反斜槓\(稱為“跳脫字元”);其餘字元根據下表中的解釋來解釋轉義序列。

以下是 C 語言中可用的轉義序列列表 -

轉義序列 含義
\\ \ 字元
\' ' 字元
\" " 字元
\? ? 字元
\a 響鈴或警報
\b 退格
\f 換頁
\n 換行
\r 回車
\t 水平製表符
\v 垂直製表符
\ooo 1到3位的八進位制數
\xhh . . . 一個或多個十六進位制數字

讓我們透過一些示例來了解這些轉義序列是如何工作的。

換行轉義序列 (\n)

換行符由 C 語言中的轉義序列\n表示,用於在輸出螢幕上插入回車效果。您可以使用此轉義序列在單獨的行中列印文字並提高輸出的可讀性。

示例

請看下面的例子 -

#include <stdio.h>

int main(){

   printf("Hello.\nGood morning.\nMy name is Ravi");
}
輸出

執行此程式碼後,您將獲得以下輸出 -

Hello.
Good morning.
My name is Ravi

製表符轉義序列 (\t)

製表符 (\t) 表示鍵盤上的 Tab 鍵。當在字串中遇到製表符時,它會導致游標移動到下一個水平製表位。水平製表位通常以 8 個字元為間隔設定。

示例

請看下面的例子 -

#include <stdio.h>

int main(){

   printf("Name:\tRavi\tMarks:\t50");
}
輸出

執行程式碼並檢查其輸出 -

Name:   Ravi    Marks:  50

反斜槓轉義序列 (\\)

要將反斜槓字元本身作為字串的一部分新增,它必須以另一個反斜槓開頭。第一個反斜槓跳出字串,第二個反斜槓起作用。

示例

請看下面的例子 -

#include <stdio.h>

int main(){

   printf("Directory in Windows: C:\\users\\user");
}
輸出

執行此程式碼後,您將獲得以下輸出 -

Directory in Windows: C:\users\user

雙引號和單引號轉義序列 (\" 和 \')

這些字元在 C 語言中具有特殊含義,因為 " 和 ' 符號分別用於表示字元字面量和字串字面量。因此,要將這些字元視為字串的一部分,它們必須在其前面加上一個額外的反斜槓進行轉義。

示例

請看下面的例子 -

#include <stdio.h>

int main(){

   printf("Welcome to \"TutorialsPoint\"\n");
   printf ("\'Welcome\' to TutorialsPoint");
}
輸出

執行程式碼並檢查其輸出 -

Welcome to "TutorialsPoint"
'Welcome' to TutorialsPoint

退格轉義序列 (\b)

轉義序列 "\b" 表示退格符。它用於擦除已列印在螢幕上的字元或文字的特定部分。

示例

檢查以下示例程式碼 -

#include <stdio.h>

int main(){

   printf("Welcome to\b TutorialsPoint");
}
輸出

執行程式碼並檢查其輸出 -

Welcome t TutorialsPoint

請注意,to中的o已被擦除。

C 語言還有一個\r轉義序列。換行轉義序列 (\n) 將游標移動到下一行的開頭,而回車轉義序列 (\r) 將游標移動到當前行的開頭。

八進位制數轉義序列 (\ooo)

此轉義序列用於 1 到 3 位的八進位制數。八進位制轉義序列是一個反斜槓後跟一個、兩個或三個八進位制數字 (0-7)。它將目標序列中的字元與這些數字指定的數值匹配。

示例

請看下面的例子 -

#include <stdio.h>

int main(){

   printf("%c", '\141');

   return 0;
}
輸出

執行此程式碼時,將產生以下輸出 -

a

十六進位制數轉義序列 (\xhh)

十六進位制轉義序列是一個反斜槓後跟字母 "x",再後跟兩個十六進位制數字 (0-9a-fA-F)。它將目標序列中的字元與這兩個數字指定的數值匹配。

示例

請看下面的例子 -

#include <stdio.h>

int main(){

   printf("%c", '\x41');

   return 0;
}
輸出

在這裡,您將獲得以下輸出 -

A

響鈴或警報轉義序列 (\a)

轉義序列\a表示響鈴或警報字元。執行時,它會發出聲音或視覺警報,具體取決於所使用的終端或控制檯。

示例

請看下面的例子 -

#include <stdio.h>

int main(){

   printf("Hello \a world\n");

   return 0;
}
輸出

執行程式碼並檢查其輸出 -

Hello  world

轉義序列廣泛用於許多其他程式語言,如 Java、PHP、C# 等。

廣告