1樓:越答越離譜
'\0'是八進位制的轉移字元,如果看到:\087這就是非法的,'\0x'表示十六進製制,還有一些必備的如:'\n','\r'這些。
和普通的字元判斷相同,比如判斷和'a'是否相同,ch=='a',那麼判斷轉義一樣,如ch=='\n',邏輯表示式的結果只有兩個,true和false,所有的邏輯表示式都一樣,為真就是true,否則就是false。
#include
int main(){
char a[20]="abc\'efgh";
int i=0;
for(i=0;i<20;i++){
if(a[i]=='\\'&&a[i+1]=='\'')
printf("true,%d",i);
if(a[i]=='\'')
printf("false");
if(a[i]==0){
printf("%d",i);
break;
資料型別關鍵字
short:修飾int,短整型資料,可省略被修飾的int。(k&r時期引入)
long:修飾int,長整型資料,可省略被修飾的int。(k&r時期引入)
long long:修飾int,超長整型資料,可省略被修飾的int。(c99標準新增)
signed:修飾整型資料,有符號資料型別。(c89標準新增)
unsigned:修飾整型資料,無符號資料型別。(k&r時期引入)
restrict:用於限定和約束指標,並表明指標是訪問乙個資料物件的初始且唯一的方式。(c99標準新增)
複雜型別關鍵字
struct:結構體宣告。(k&r時期引入)
union:聯合體宣告。(k&r時期引入)
enum:列舉宣告。(c89標準新增)
typedef:宣告型別別名。(k&r時期引入)
sizeof:得到特定型別或特定型別變數的大小。(k&r時期引入)
inline:內聯函式用於取代巨集定義,會在任何呼叫它的地方。(c99標準新增)
2樓:墨汁諾
分為兩類
乙個是固定字母的,比如 \t \n
另一類就是通用的,包括8進製 16進製制
8進製的 \ooo 後面的ooo是1到3個合法的8進製字元。
16進製制 \xhh 後面的hh是1到2個合法的16進製制字元。
符合以上的就是合法的,否則非法。
控制字元:轉義字元不屬於控制字元;控制字元也不屬於轉義字元。如果控制字元的定義是非圖形的字元,或者對輸出裝置(印表機、文字終端)有特殊意義的字元,那麼針對這些裝置的轉義字元也是控制字元。
但是程式設計用的轉義字元是圖形字元,因此它們不是控制字元。相反地,大多數ascii控制字元單獨都具有控制功能,因此它們不是轉義字元。
3樓:an你若成風
以下是例項:
\a 響鈴
\b 退格
\f 換頁
\n 換行
\r 回車
\t 水平製表
\v 垂直製表
\\ 反斜線字元''\'
\? 問號「?」
\' 單引號(撇號)字元
\" 雙引號字元
\0 空字元(null)
\ddd 三位八進位制
\xhh 二位十六進製制
總的轉義符就這些啦,
所謂合法的,就是符合以上形式的轉義符,除此之外的均不是,比如\ba,這就是先退格再讓a覆蓋在上面,而不是先退格再響鈴,凡是碰到反斜槓「\」就要警惕了,看看有沒有以上所述的轉義,若沒有基本上是錯的;
還要注意的是如果輸入的是\其他英文本母(不在上述之列),輸出的會是ascii碼(具體參見ascii碼對照表)
下面的例項可以幫助您理解轉義符:
#include
int main(void)
4樓:匿名使用者
提問能再具體點嗎,合法轉義字元? 你想判斷什麼?實現什麼?
5樓:匿名使用者
a) '\"' b) '\1011' c) '\011' d) '\abc'
'\\' '\' '\f' '\101'
'\xf' '\a' '\}' 'x1f'
2.下面4個選項中,均是正確的八進位制數和十六進製制數的選項是: 這個我還真無法判斷了
a) -10 b) 0abc c) 0010 d) 0a12
0x8f -017 -0x11 -0x123
-011 0xc 0xf1 -0xa
3.下面4個選項中,均是非法常量的選項是: 為什麼是選 a, '\0xa'應該是合法的吧
a) 'as' b) '\\' c) -0x18 d) 0xabc
-0fff '\01' 01177 '\0'
'\0xa' 12,456 0xf "a"
如何判斷c語言中的變數是否合法
6樓:育知同創教育
l【規則3-2-1】類名和函式名用大寫字母開頭的單詞組合而成。
例如:class node;// 類名
class leafnode;// 類名
void draw(void);// 函式名
void setvalue(int value);// 函式名
l【規則3-2-2】變數和引數用小寫字母開頭的單詞組合而成。
例如:bool flag;
int drawmode;
l【規則3-2-3】常量全用大寫的字母,用下劃線分割單詞。
例如:const int max = 100;
const int max_length = 100;
l【規則3-2-4】靜態變數加字首s_(表示static)。
例如:void init(…)
l【規則3-2-5】如果不得已需要全域性變數,則使全域性變數加字首g_(表示global)。
例如:int g_howmanypeople;// 全域性變數
int g_howmuchmoney;// 全域性變數
l【規則3-2-6】類的資料成員加字首m_(表示member),這樣可以避免資料成員與成員函式的引數同名。
例如:void object::setvalue(int width, int height)
l【規則3-2-7】為了防止某一軟體庫中的一些識別符號和其它軟體庫中的衝突,可以為各種識別符號加上能反映軟體性質的字首。例如三維圖形標準opengl的所有庫函式均以gl開頭,所有常量(或巨集定義)均以gl開頭。
在c語言中為什麼它是不合法的轉義字元? 10
7樓:萢萢
因為這是兩個字元,是字串了,不是單個字元,而字串是需要放在雙引號中的
'\\'算乙個轉義字元
'0'也算乙個字元
8樓:匿名使用者
c中的轉義字元是只使用\+字母來表示ascii字元中的不可見字元(例如空白字元、控制字元等)。
『\0』是空字元,是以字元形式儲存的零值,並非ascii碼,自然是「不合法的轉義字元」咯
c語言如何判斷字串中是否包含轉義字元,比如乙個字串 「abc\'efgh」,我如何判斷這個字串中包含轉義呢 10
9樓:匿名使用者
不管用單引號還是雙引號,只要帶反斜槓就是轉義,如果需要列印反斜槓,就"\\" 。
你是想判斷字串中有沒有使用轉義?
讓我試試。。。。。
。。。。。。
。。。。。。
。。。。。。
。。。。。。
暈死,今天我大腦進屎了,轉義是編譯器幹的,二進位制**中沒有任何轉義字元的資訊了。
#include
int main()
}printf("\n%s",a);
} 或許你可以另寫乙個程式去讀原始檔。。。。。
10樓:匿名使用者
不可以。轉義字元是給人看的,電腦可不分什麼轉不轉義的
11樓:七月愛如煙火
其實字元中要使用轉義符的就那麼幾個,可以用群舉的辦法判斷
c語言怎樣判斷合法轉義字元
12樓:墨汁諾
'\0'是八進位制的轉移字元,如果看到:\087這就是非法的,'\0x'表示十六進製制,還有一些必備的如:'\n','\r'這些。
和普通的字元判斷相同,比如判斷和'a'是否相同,ch=='a',那麼判斷轉義一樣,如ch=='\n',邏輯表示式的結果只有兩個,true和false,所有的邏輯表示式都一樣,為真就是true,否則就是false。
#include
int main(){
char a[20]="abc\'efgh";
int i=0;
for(i=0;i<20;i++){
if(a[i]=='\'')
printf("false");
if(a[i]==0){
printf("%d",i);
break;
13樓:僧香蝶秘康
a)'\"'
b)'\1011'
c)'\011'
d)'\abc'
'\\'
'\''\f'
'\101'
'\xf'
'\a'
'\}'
'x1f'
2.下面4個選項中,均是正確的八進位制數和十六進製制數的選項是:
這個我還真無法判斷了
a)-10
b)0abc
c)0010
d)0a12
0x8f
-017
-0x11
-0x123
-011
0xc0xf1
-0xa
3.下面4個選項中,均是非法常量的選項是:
為什麼是選
a,'\0xa'應該是合法的吧
a)'as'
b)'\\'
c)-0x18
d)0xabc
-0fff
'\01'
01177
'\0'
'\0xa'
12,456
0xf"a"
14樓:盧初南滿閎
#include
void
main()
//若程式能執行,就認為轉義符合法。
15樓:暢曄曄劍弼
有13個字元。分別如下:1:
\x182:\0123:'3'4:
\015:\06:\x187:
\08:'8'9:'q'10:
'w'11:\01612:'8'13:
\0對於你的問題\012,你得看看轉義字元的定義了。\ddd的乙個轉義字元,注意,只是乙個字元,是用1-3位8進製常數來表示字元的轉義字元。\0當然就算是這個轉義字元了,只有1位。
而\012是有3位,所以當然看成是3位的,而不會看成是1位的\0和『1』和『2』這3個字元了。注意\ddd中的d代表乙個8進製常數字,編譯器會一直讀取到無法讀取為止,無法讀取有兩種情況,一種就是後面的數字根本不是乙個8進製常數字(注意8進製常數字只有0到7),比如\08這裡就不是乙個字元,而是兩個字元了\0和『8』,因為8不是8進製常數字。同理可知\0a,\019這些都不是乙個轉義字元了。
第二種情況就是讀取的位數達到了上限(上限是3位),比如\01234,這裡就不止乙個字元了,而是\012,'3','4'這個3個字元構成的字串了。這樣說你應該能明白了吧。祝學習進步~~~
如何用C語言判斷ip位址是否合法
b類是。255,c類是。然後判斷身份證的長度。在a級ip位址中,網路標識的長度為8位,主機標識的長度為24位,子網掩碼為。b類適用於網路id長度為16位 主機id長度為16位 子網掩碼為。0的中型網路。c類適用於網路標識長度為24位 主機標識長度為8位 子網掩碼為。的小型區域網。3.最後,判斷是否合...
c語言中“0”到底是不是空格,C語言在中,空格是 0 的標誌嗎
充實生活 肯定不是空格啊,那個是個顯示不出來的字元,使用來做字串結束標誌的,ascii 碼裡面好多都顯示不出來的字元,列印出來應該都是這個效果的啊。 金色潛鳥 c語言中 0 不是空格,是空字串。0 是字元常量,null 字元,ascii碼數值0,用作字串結尾符。0 是字串,裡面有一個寫入的字串結尾符...
在c語言中如何輸出空格,在C語言中如何輸出空格
向日葵一樣暖 c語言輸出空格的語句為printf 為轉義字元,用printf 是不能輸出空格的。printf 函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。printf 函式的呼叫格式為 printf 格式化字串 參量表 格式輸出,它是c語言中產生格式化輸出的函式 在 stdio....