1. 程式人生 > >C語言常用轉義符

C語言常用轉義符

在字符集中,有一類字元具有這樣的特性:當從鍵盤上輸入這個字元時,顯示器上就可以顯示這個字元,即輸入什麼就顯示什麼。這類字元稱為可顯示字元,如a、b、c、$、+和空格符等都是可顯示字元。

另一類字元卻沒有這種特性。它們或者在鍵盤上找不到對應的一個鍵(當然可以用特殊方式輸入),或者當按鍵以後不能顯示鍵面上的字元。其實,這類字元是為控制作用而設計的,故稱為控制字元。

在C語言中,構成字元常量的控制字元必須用轉義字元表示。轉義字元是一種以“\”開頭的字元。例如退格符用'\b'表示,換行符用'\n'表示。轉義字元中的'\'表示它後面的字元已失去它原來的含義,轉變成另外的特定含義。反斜槓與其後面的字元一起構成一個特定的

字元。

轉義字元是C語言中表示字元的一種特殊形式。轉義字元以反斜'\'開頭,後面跟一個字元或一個八進位制或十六進位制數表示。轉義字元具有特定的含義,不同於字元原有的意義,故稱轉義字元。

通常使用轉義字元表示ASCII碼字符集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號('),用於表示字串常量的雙撇號(")和反斜槓(\)等。

例如,下面例子printf函式的格式串中用到的'\n'就是一個轉義字元,其意義是“回車換行”。轉義字元主要用來表示那些用一般字元不便於表示的控制程式碼。

常用的轉義字元及其含義


從表中可以看出,在C語言中有三種轉義字元,它們是:一般轉義字元、八進位制轉義字元和十六進位制轉義字元。

1. 一般轉義字元

這種轉義字元,雖然在形式上由兩個字元組成,但只代表一個字元。常用的一般轉義字元為:

\a \n \t \v \b \r \f \\ \’ \"

細心的讀者可能已經發現,轉義字元'\\'代表的反斜槓"\"、轉義字元’\’’代表的字元"'"和轉義字元'\"'代表的字元""",其本身就是可顯示字元,為什麼還要對它轉義呢?

這是因為它們的原有的字元形式已作它用,其中,單引號用作區分字元常量的括號,雙引號用作區分字串(下面將要介紹字串)的括號,而反斜槓本身已用來表示轉義字元的開頭,因此必須對它們用轉義字元重新宣告。

2. 八進位制轉義字元

它是由反斜槓'\'和隨後的1~3個八進位制數字構成的字元序列。例如,'\60'、'\101'、'\141'分別表示字元'0'、'A'和'a'。因為字元'0'、'A'和'a'的ASCII碼的八進位制值分別為60、101和141。

字符集中的所有字元都可以用八進位制轉義字元表示。

如果你願意,可以在八進位制數字前面加上一個0來表示八進位制轉移字元。

3. 十六進位制轉義字元

它是由反斜槓'\'和字母x(或X)及隨後的1~2個十六進位制數字構成的字元序列。例如,'\x30'、'\x41'、'\X61'分別表示字元'0'、'A'和'a'。因為字元'0'、'A'和'a'的ASCII碼的十六進位制值分別為0x30、0x41和0x61。

可見,字符集中的所有字元都可以用十六進位制轉義字元表示。

由上可知,使用八進位制轉義字元和十六進位制轉義字元,不僅可以表示控制字元,而且也可以表示可顯示字元。但由於不同的計算機系統上採用的字符集可能不同,因此,為了能使所編寫的程式可以方便地移植到其他的計算機系統上執行,程式中應少用這種形式的轉義字元。

使用轉義字元時需要注意以下問題:

1)轉義字元中只能使用小寫字母,每個轉義字元只能看作一個字元。

2)\v垂直製表和\f換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。

3)在C程式中,使用不可列印字元時,通常用轉義字元表示。

4)轉義字元’\0’表示空字元NULL,它的值是0。而字元'0'的ASCII碼值是48。因此,空字元’\0’不是字元0。另外,空字元不等於空格字元,空格字元的ASCII碼值為32而不是0。程式設計序時,讀者應當區別清楚。

5) 如果反斜線之後的字元和它不構成轉義字元,則’\’不起轉義作用將被忽略。

例如:

printf(“a\Nbc\nDEF\n”);

輸出:

aNbc

DEF

6)轉義字元也可以出現在字串中,但只作為一個字元看待。

例 求下面字串的長度

“\026[12,m” 長度為6

“\0mn” 長度為0。(想想:為什麼不是2)

相關推薦

C語言常用轉義

在字符集中,有一類字元具有這樣的特性:當從鍵盤上輸入這個字元時,顯示器上就可以顯示這個字元,即輸入什麼就顯示什麼。這類字元稱為可顯示字元,如a、b、c、$、+和空格符等都是可顯示字元。 另一類字元卻沒有這種特性。它們或者在鍵盤上找不到對應的一個鍵(當然可以用特殊方式輸入

c語言轉義與空白符

出現 字符 回車 clu 垂直 urn 一行 水平 turn 1.在C語言中,用反斜杠 \ 加數字來表示稱為轉義字符,因為 \ 後面字符都不是它原來的ASCll字符的意思。 2.轉義字符 意義

C語言對字串進行轉義excape操作的代碼

++ code 幫助 != turn cas 進行 urn null 把做工程過程比較重要的一些內容片段做個珍藏,下面內容內容是關於C語言對字符串進行轉義excape操作的內容,希望對大夥有些幫助。 { int i = 0, j; while( i &l

C語言——常用標準輸入輸出函數 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字串拷貝函數 strcpy(), strncpy(), strchr(), strstr()函數用法特點

文件 換行 strncpy 第一個 搜索字符串 標準輸入輸出 交流 一次 span 1 首先介紹幾個常用到的轉義符 (1) 換行符“\n”, ASCII值為10; (2) 回車符“\r”, ASCII值為13; (3) 水平制表符“\t”, ASCI

C語言之運算和條件結構

比較運算 第三名 user 石頭 年齡 pan 註意 break -1 表達式:是有操作數和運算符組成的。 操作數:常量、變量、子表達式 X=(x+2)*(y-2); 運算符: 賦值運算符:= 。其作用是做賦值運算,將等號後邊的值賦值給等號前邊的。 復合賦值運算符: +=

C語言中字、字串、字數組

文件 getc order 知識點 技術 ima 數組 c語言 align char a = ‘h‘; memory h char a[] = "Hello"; memory H e l l o ‘\0‘ stri

C語言實現字串截取函數left、mid和right

popu pan con 結束 一個 spa 時代 span while 作者:iamlaosong C語言字符串截取須要自己編程實現,只是。網絡時代,自然不用自己從頭寫了。網上各種方法的實現代碼已經多如牛毛了,這兒抄錄一個感覺不錯的備案。 #include &

C語言將字串轉換成對應的數字(十進制、十六進制)【轉】

字符串表 .com 表示 == 還需要 ref lower href tar 轉自:http://wawlian.iteye.com/blog/1315133 問題1:講一個十進制數字的字符串表示轉換成對應的整數。舉例:將“1234”轉換成整

C語言之字單向鏈表

c 鏈表 /* * @Author: suifengtec * @Date: 2017-09-02 16:06:33 * @Last Modified by: suifengtec * @Last Modified time: 2017-09-02 20:47:13 **/ /* 字符單向

C語言char*字串數組和unsigned char[]數組的相互轉換

sso pri sprint %x chart += ++ nbsp class #include <iostream> #include <string> using namespace std; void convertUnC

C語言提取字

get clu pass col not found swd strstr while use 在只給<stdio.h>和<string>頭文件的情況下,從下文中提取UserId=123456 https://www.cnblogs.com/ysjd

C#語言中字類char的使用方法(總結)

目前 小寫字母 使用方法 string 符號 數字 字符串 類別 toupper char類在C#中表示一個unicode字符,正是這些unicode字符構成了字符串。unicode字符是目前計算機中通用的字符編碼,它為針對不同語言中的每個字符設定了統一的二進制編碼,用於滿

C語言常用的編程規範

source get fin 順序 完整 tina 大量 dex 清晰 1排版 1-1相對獨立的程序塊之間、變量說明之後必須加空行。 示例:如下例子不符合規範。 if (!valid_ni(ni)) { ... // program code } repssn_ind =

27.C語言寬字

har gpo wchar_t body -c pre col char spa #include <locale.h> 1 setlocale(LC_ALL, "zh-CN"); 2 wchar_t wch = L‘我‘; 3 putwcha

c語言之字串數組

輸出 ray hello 數字0 並且 ros sed 分享 總結 一、字符串與字符串數組   1、字符數組的定義     char array[100];   2、字符數組初始化     char array[100] = {‘a‘,‘b‘,‘c‘}; //array[

C語言的運算與表達式(下)

C語言;編程入門;  通過昨天的介紹,大家知道了+、-、*、/、%這額運算符的使用方法。今天我們來講講昨天沒說的++和--運算符。  在C語言中,++和--占了很重要的地位,比如循環,判斷等語句都需要使用。下面我們來說一下他們的使用方法:1、++運算符:使用++運算符的

【STL】【HDU2024】C語言合法標識【水題】

AI info targe == () 簡潔 技術分享 type #define 鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2024 既然要求了全體同學都要刷完杭電100題,那我還是以身作則,也都給刷完吧~~~ 這些水題真的是

C語言對字串的一些操作

語言 void cti bsp har AR sign urn spa 1. 字符串中移除一個字符 1 void removeChar(char *str, char c) 2 { 3 char *s = str; 4 int j, k; 5

C語言占位(待完善)

tps %u c語言 語言 待完善 csdn 有效 article 指數 %c       讀入一個字符 %s       讀入一個字符串,遇到空格制表符或者換行符時結束。 %d       讀入一個十進制整數 %x或者%X    讀入一個十六進制整數 %o      

C語言常用庫函數實現

沖突 nbsp 常用 tr1 mov 一個 就會 || 參數 1.strcpy char * strcpy(char *dst,const char *src) { if((dst==NULL)||(src==NULL))