當前位置:首頁 » 編程語言 » c語言不合法的字元串
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言不合法的字元串

發布時間: 2023-08-31 08:09:21

1. c語言的一道題:以下不合法的字元常量是()A.'\2' B.'"' c.' ' D.'\483' 問一下該選哪一項,為什麼

你好!
D
'\ddd'類似這種形式代蔽野岩表八進制數,八進制數中每個數的值小於8,則'\483'是錯誤宏御脊缺的
如果對你有幫助,望採納。

2. C語言中,下列不合法的字元常量是

C語言中,不合法的字元常量是「A、'xff'」,因為這雖然屬於ASCII碼字元,但是「ff」超出了ASCII碼最大的「7f」,所以不合法。

「B、'65'」屬於ASCII碼字元,「C、'&'」屬於普通字元,「D'28'」屬於ASCII碼字元。字元常量主要以下三類:

1、普通字元

即用單撇號括起來的一個字元,如'b' ,'y',『?』。字元常量在儲存在計算機的儲存單元中時,是以其代碼(一般採用ASCII代碼)儲存的。

2、轉義字元

即特殊字元常量,轉移字元是C語言中表示字元的一種特殊形式,其含義是將反斜杠後面的字元轉換成另外的意義。

3、ASCII碼字元

還可以用字元的ASCII碼表示,即用反斜符()開頭,後跟字元的ASCII碼,這種方法也稱為轉義序列表示法,具體方法是:

(1)用字元的八進制ASCII碼,表示為:dd.這里,0dd是八進制值(0可以省略)。

(2)使用字元的十六進制ASCII碼值,表示為xhh或Xhh這里hh是兩位十六進制值。

(2)c語言不合法的字元串擴展閱讀:

C語言中合法標識符的規則:

1、標識符由字母(A-Z,a-z)、數字(0-9)、下劃線「_」組成,並且首字元不能是數字,但可以是字母或者下劃線。例如,正確的標識符:abc,a1,prog_to。

2、不能把C語言關鍵字作為用戶標識符,例如if ,for, while等。

3、標識符長度是由機器上的編譯系統決定的,一般的限制為8字元(註:8字元長度限制是C89標准,C99標准已經擴充長度,其實大部分工業標准都更長)。

3. 在c語言中為什麼它是不合法的轉義字元

因為這是兩個字元,是字元串了,不是單個字元,而字元串是需要放在雙引號中的
'\\'算一個轉義字元
'0'也算一個字元

4. C語言:'\1011'為什麼不是合法轉義字元

所有的ASCII碼都可以用「」加數字(一般是8進制數字)來表示。而C中定義了一些字母前加""來表示常見的那些不能顯示的ASCII字元,如, , 等,就稱為轉義字元,因為後面的字元,都不是它本來的ASCII字元意思了。


所有的轉義字元和所對應的意義:

字元型常量編輯

字元型常量所表示的值是字元型變數所能包含的值。我們可以用ASCII表達式來表示一個字元型常量,或者用單引號內加反斜杠表示轉義字元。

'A', 'x2f', '13';

其中:x表示後面的字元是十六進制數,表示後面的字元是八進制數。

注意:在Turbo C 2.0中,字元型常量表示數的范圍是-128到127,除非你把它聲明為unsigned,這樣就是0到255。

上面我們見到的x, ,a等等都是叫轉義字元,它告訴編譯器需要用特殊的方式進行處理。



轉義字元串(Escape Sequence),即字元實體(Character Entity)分成三部分:第一部分是一個&符號,英文叫ampersand;第二部分是實體(Entity)名字或者是#加上實體(Entity)編號;第三部分是一個分號。

比如,要顯示小於號(<),就可以寫 &lt; 或者 < 。

用實體(Entity)名字的好處是比較好理解,一看lt,大概就猜出是less than的意思,但是其劣勢在於並不是所有的瀏覽器都支持最新的Entity名字。而實體(Entity)編號,各種瀏覽器都能處理。

提示:實體名稱(Entity)是區分大小寫的。

備註:同一個符號,可以用「實體名稱」和「實體編號」兩種方式引用,「實體名稱」的優勢在於便於記憶,但不能保證所有的瀏覽器都能順利識別它,而「實體編號」則沒有這種擔憂,但它實在不方便記憶。



作用

轉義字元串(Escape
Sequence)也稱字元實體(Character
Entity)。在HTML中,定義轉義字元串的原因有兩個:第一個原因是像「<」和「>」這類符號已經用來表示HTML標簽,因此就不能直

當做文本中的符號來使用。為了在HTML文檔中使用這些符號,就需要定義它的轉義字元串。當解釋程序遇到這類字元串時就把它解釋為真實的字元。在輸入轉義
字元串時,要嚴格遵守字母大小寫的規則。第二個原因是,有些字元在ASCII字元集中沒有定義,因此需要使用轉義字元串來表示。

其實所有編程語言,擁有轉義字元的原因基本上是兩點:一、使用轉義字元來表示字元集中定義的字元,比如ASCll裡面的控制字元及
回車換行等字元,這些字元都沒有現成的文字代號。所以只能用轉義字元來表示
。二、某一些特定的字元在編輯語言中被定義為特殊用途的字元。這些字元由於被定義為特殊用途,它們失去了原有的意義。比如說Html中,<被
HTML定義為標簽的開始,所以當我們轉入<時,HTML就會把它當作為開始,而不是當作一個<來看待。再如PHP
的雙引號("),被PHP定義為字元串的外圍標簽,所以如果你在一對雙引號裡面,還想要使用雙引號,只能使用轉義字元了。不然PHP就會報錯了。

從上面也可以看出轉義無非是兩種情況:1:將普通字元轉為特殊用途,一般是編程語言中,用於表示不能直接顯示的字
符,比如後退鍵,回車鍵,等。2:用來將特殊意義的字元轉換回它原來的意義。一般用在正則表達式中。還有有些腳本語言是弱類型,有些語言比如html
並不是編程語言,而是標記語言,有些語言只有一種類型 比如shell 腳本語言,這些語言中字元串都不加引號」 」 ,或者可以不加引號「
」,所以有時候需要轉移字元說明某字元此時的身份是普通字元,而不是有特殊意義的元字元。

另外出於網站的安全。在數據寫入資料庫前,都會使用轉義字元(函數)對一些敏感字元進行轉義。這樣做可以避免一些別有用心的人利用特殊符號的注入攻擊。

5. c語言中非法字元有哪些

首先看定義,用單引號括起來的單個字元,或用雙引號括起來的一串字元即字元常量。
C '&' 是用單引號括起來的單個字元,正確。
A '\xff' B '\65' D'\028' 是用單引號括起來的多個字元,但因它們前面都 有一個轉義符 『\『 ,就不能說它們都不符合定義,都不合法的。

A '\xff' 中 '\x' 組合表示是一個十六進制數 ffH = 10 進制的 255 ,它代表一個不可見字元的ASCII 碼, 合法 。

B '\65' 同理 '\' + 三個十進制數 '\ddd' 表示的是 八進制數。'\65' = '\065' = 10 進制的 53, 是 『F』 的ASCII 碼表示。單 字,合法。

D '\028' 同上表示是八進制數,但八進制數中逢八則進一,是不會出現 8 的,所以格式雖對但數值錯了。不合法。