
- C程式設計教程
- C - 首頁
- C語言基礎
- C - 概述
- C - 特性
- C - 歷史
- C - 環境設定
- C - 程式結構
- C - Hello World
- C - 編譯過程
- C - 註釋
- C - 詞法單元
- C - 關鍵字
- C - 識別符號
- C - 使用者輸入
- C - 基本語法
- C - 資料型別
- C - 變數
- C - 整數提升
- C - 型別轉換
- C - 型別強制轉換
- C - 布林值
- C語言中的常量和字面量
- C - 常量
- C - 字面量
- C - 轉義序列
- C - 格式說明符
- C語言中的運算子
- C - 運算子
- C - 算術運算子
- C - 關係運算符
- C - 邏輯運算子
- C - 位運算子
- C - 賦值運算子
- C - 一元運算子
- C - 自增和自減運算子
- C - 三元運算子
- C - sizeof 運算子
- C - 運算子優先順序
- C - 其他運算子
- C語言中的決策
- C - 決策
- C - if 語句
- C - if...else 語句
- C - 巢狀 if 語句
- C - switch 語句
- C - 巢狀 switch 語句
- C語言中的迴圈
- C - 迴圈
- C - while 迴圈
- C - for 迴圈
- C - do...while 迴圈
- C - 巢狀迴圈
- C - 無限迴圈
- C - break 語句
- C - continue 語句
- C - goto 語句
- C語言中的函式
- C - 函式
- C - 主函式
- C - 按值呼叫函式
- C - 按引用呼叫函式
- C - 巢狀函式
- C - 可變引數函式
- C - 使用者自定義函式
- C - 回撥函式
- C - 返回語句
- C - 遞迴
- C語言中的作用域規則
- C - 作用域規則
- C - 靜態變數
- C - 全域性變數
- C語言中的陣列
- C - 陣列
- C - 陣列的特性
- C - 多維陣列
- C - 將陣列傳遞給函式
- C - 從函式返回陣列
- C - 可變長陣列
- C語言中的指標
- C - 指標
- C - 指標和陣列
- C - 指標的應用
- C - 指標運算
- C - 指標陣列
- C - 指標到指標
- C - 將指標傳遞給函式
- C - 從函式返回指標
- C - 函式指標
- C - 指向陣列的指標
- C - 指向結構體的指標
- C - 指標鏈
- C - 指標與陣列
- C - 字元指標和函式
- C - 空指標
- C - 空指標
- C - 野指標
- C - 解引用指標
- C - 近、遠和巨型指標
- C - 指標陣列的初始化
- C - 指標與多維陣列
- C語言中的字串
- C - 字串
- C - 字串陣列
- C - 特殊字元
- C語言中的結構體和聯合體
- C - 結構體
- C - 結構體和函式
- C - 結構體陣列
- C - 自引用結構體
- C - 查詢表
- C - 點(.)運算子
- C - 列舉(或列舉)
- C - 結構體填充和打包
- C - 巢狀結構體
- C - 匿名結構體和聯合體
- C - 聯合體
- C - 位域
- C - Typedef
- C語言中的檔案處理
- C - 輸入和輸出
- C - 檔案I/O(檔案處理)
- C預處理器
- C - 預處理器
- C - 預處理程式
- C - 預處理器運算子
- C - 宏
- C - 標頭檔案
- C語言中的記憶體管理
- C - 記憶體管理
- C - 記憶體地址
- C - 儲存類
- 其他主題
- C - 錯誤處理
- C - 可變引數
- C - 命令執行
- C - 數學函式
- C - static關鍵字
- C - 隨機數生成
- C - 命令列引數
- C程式設計資源
- C - 問答
- C - 快速指南
- C - 速查表
- C - 有用資源
- C - 討論
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# 等。