C語言中字元常量與字串常量有什麼區別

2021-03-08 01:35:08 字數 4089 閱讀 1515

1樓:小哥

字元常量:在c語言中一個字元常量代表ascii字符集中的一個字元,在程式中用單引號把一個字元括起來作為字元常量。大小寫字母代表不同的字常量;單引號中的空格也是;字元常量只能包含一個字元;字元常量只能用但括號括起來。

下面是常用字元的sacii

'a』--'z' 97------122'a』--'z' 65-------90'0'---'9' 48-------57字串常量:字串常量是用雙引號括起來的,在c語言中系統會在每個字串的最後自動加入一個'\0'作為字串的結束標誌。

區別:'z'是字元常量,佔一個位元組;"z"是字串常量,佔兩個位元組,其中一個放'\0'。

它們兩個的用法都明白了,區別就知道了

2樓:靖蓄宇辰錕

字元常量是一個字元,如'a','4','\0','\b','\142'等等,字串常量可以是一個字元"n",也可以沒有字元('\0'),更多的是多個字元。

作為字元常量,二者間沒有區別,在c++中,為了方便,將字串定義成一個類string,但用char

*說明和定義的串常量仍然是一樣的,沒有任何區別。

c語言中字元常量與字串常量有什麼區別?

3樓:小哥

字元常量:在c語言中一個字元常量代表ascii字符集中的一個字元,在程式中用單引號把一個字元括起來作為字元常量。大小寫字母代表不同的字常量;單引號中的空格也是;字元常量只能包含一個字元;字元常量只能用但括號括起來。

下面是常用字元的sacii

'a』--'z' 97------122'a』--'z' 65-------90'0'---'9' 48-------57字串常量:字串常量是用雙引號括起來的,在c語言中系統會在每個字串的最後自動加入一個'\0'作為字串的結束標誌。

區別:'z'是字元常量,佔一個位元組;"z"是字串常量,佔兩個位元組,其中一個放'\0'。

它們兩個的用法都明白了,區別就知道了

4樓:壬存邵代雙

字元常量是一個字元,如'a','4','\0','\b','\142'等等,字串常量可以是一個字元"n",也可以沒有字元('\0'),更多的是多個字元。

作為字元常量,二者間沒有區別,在c++中,為了方便,將字串定義成一個類string,但用char

*說明和定義的串常量仍然是一樣的,沒有任何區別。

5樓:like—耳機

首先,它們都是常量,所以不可以被改值。

字元常量永遠是一個個體,也就是它只是一個字元而已。

而字串常量是一個群體,就像人們說的一句話,字串常量中是由若干個字元常量構成的,當然可以沒有,不過系統會給其加一個『\0』,至於為什麼要加,找d.m.ritchie。

就像人們說的話一樣,字元常量是單詞,而每一句話的後面都要加上句號,表示這句話說完了,這個大概是『\0』擬人的一個作用吧,我這麼認為。

另外字元常量其實對於計算機來說是一個二進位制數,也就是它是一個數值,所以你可以對一個字元常量來進行邏輯運算,比如『b』 - 『a』 = 1。

字串常量是話語,作為條件的判斷以及顯示器輸出的物件。

祝你好運~

6樓:匿名使用者

字元常量可以用%c的格式或putchar函式輸出,字串常量不可以,另外在記憶體中佔得位元組不一樣

7樓:微雨31初霽

字元常量是一個字元,在程式中字元是用單引號括起來的。字元常量由0個或若干個字元組合而成,在程式中字串是用雙引號括起來的,在儲存時系統自動在字串最後面加一個結束符"\0"

8樓:月光下的日軍

都是常量,不能修改,區別是字元常量是一個字元,用『 』單引號,而字串常量用雙引號,如「a」,雖然是一個字元,但他是字串常量。

c語言中字元常量 字串常量和識別符號的區別

9樓:匿名使用者

字元常量是單引號括起來的,如'a'。也可以認為是一個int;字串常量是雙引號括起來的,如"abc"。是以\0結尾的字元陣列;標示符就是常量或者變數的名字,不用帶任何引號。

10樓:匿名使用者

c語言中只要是常量就表示它的值是無法修改的,如:

const unsigned char a =0; //用const關鍵字宣告瞭就表示a是個常量,其值在定義的時候就必須確定,後期無法修改,a的值等於0無法再修改。

unsigned char a =0 //這裡的a就是變數,雖然定義的時候賦予了值0,但由於它是一個變數所以在後期使用中可以隨意修改其值。

宣告是識別符號?變數的名字,常量的名字,巨集定義的名字,函式名都可以說是標符。

const char a=『a『或a=『b'』或a= 'x' 都是字元常量,長度為1個位元組,因為加了const所以值不能修改

const unsigned char p =「0123abx」就是一個字串常量,因為加了const所以值不能修改

11樓:匿名使用者

字串常量是用雙引號(「」)括起來的一個或多個字元組成。字元常量存放在記憶體中佔一個位元組的空間標示符是由若干個字元組成的字元序列,用來命名程式中的一些實體。可用作常量名、變數名和函式名等;標示符有它特定的命名規則,如必須是a~z或a~z、數字(0~9),下劃線(_),區分大小寫,還有字元數限制等;

字元常量與字串常量有什麼區別?

12樓:愛上夜色深沉

字串常量是以雙引號引起來的資料,比如說"12343" "chinere" "這是一個字串常量"等等

是以'\0'為結束標誌的;也是就是說比如"1234"其實長度是5,因為其實還有一個隱藏的'\0';

而字元常量是單引號引起來的資料,比如說'a' '7' '百';在c語言中字元的長度是一個位元組,所以

如果是ascii碼錶中的字元其值就是0到255範圍內的數值,如果是漢字,那麼你看看gbk編碼,是用兩個位元組長度來表示漢字的,這是如果在c語言中,那麼久需要連個位元組才是完整的一個漢字了

13樓:員映諸芹

字元常量:在c語言中一個字元常量代表ascii字符集中的一個字元,在程式中用單引號把一個字元括起來作為字元常量。大小寫字母代表不同的字常量;單引號中的空格也是;字元常量只能包含一個字元;字元常量只能用但括號括起來。

下面是常用字元的sacii

'a』--'z'

97------122

'a』--'z'

65-------90

'0'---'9'

48-------57

字串常量:字串常量是用雙引號括起來的,在c語言中系統會在每個字串的最後自動加入一個'\0'作為字串的結束標誌。

區別:'z'是字元常量,佔一個位元組;"z"是字串常量,佔兩個位元組,其中一個放'\0'。

它們兩個的用法都明白了,區別就知道了

14樓:逄富前曼雁

二者都是常量,區別在於使用方法不同

字元常量使用時直接拿變數使用

而字串常量由於含不止一個字元,不易使用其全部字元內容,所以使用時通常是使用它的首地址,即指標

15樓:遇晤夏安宜

單引號裡一個字元為字元常量,『a』雙引號裡一串字元為字串常量,「a」,「abc」沒錯

字串實際上就是

"字元陣列",字元就是且只能為一個位元組,而字串可以是多個,在系統中儲存時,為了識別是否為字串,系統預設為字串加上「\0".所佔記憶體實際=字元數+1

16樓:薊君向新文

字元常量只有一個字元,如'a';

字串常量是一個字元陣列,包括一串字元和一個結束標記0.

17樓:堅壁疏曉燕

1)形式上:

...字元常量是單引號引起的一個字元

...字串常量是雙引號引起的若干個字元

2)含義上:

...字元常量相當於一個整形值(ascii值),可以參加表示式運算...字串常量代表一個地址值(該字串在記憶體中存放位置)3)佔記憶體大小

...字元常量只佔一個位元組

...字串常量佔若干個位元組(至少一個字元結束標誌)

C語言中字串常量和字元常量的區別

字元常量是單引號中的,在ascii表中有對應編號,字串是雙引號中的,單引號是字元常量 雙引號是字串常量 字串常量是一個或多個字元組成的常量 比方說一個字串常量a 給它的初始值是 abc123 可以是一個字元 5 構成但是字元常量只能是一個字元 比方說一個字元常量 a它的初始值為 1 不能多於一個字元...

2在c語言中合法的字元常量是a, 2 在C語言中,合法的字元常量是( ) A 084 B x43 C ab D

a 084 非法,0開頭表示8進位制,8進位制沒有符號8b x43 合法 c ab 非法,兩個字元 d 0 非法,這是字串 字元常量bai是用單引號du括起來的一個字元。有兩種表示方zhi 法 一種是dao用該字元的回圖形符號,如 b y 另外還可以用答字元的ascii碼錶示,即用反斜符 開頭,後跟...

如何定義定義的字串,C語言中如何定義字串?

定義的字串 可以通過字元陣列或字元指標來定義字串,也可以用巨集定義對常量字串進行定義。下面通過舉例來分別進行說明 char str1 helloworld 通過字元陣列來定義字串 helloworld 陣列中每個儲存單元存放一個字元 char str2 helloworld 通過字元指標來定義字串 ...