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

2021-03-08 01:35:08 字數 4021 閱讀 5320

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

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

3樓:like—耳機

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

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

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

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

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

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

祝你好運~

4樓:匿名使用者

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

5樓:微雨31初霽

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

6樓:月光下的日軍

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

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

7樓:小哥

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

下面是常用字元的sacii

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

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

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

8樓:靖蓄宇辰錕

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

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

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

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),下劃線(_),區分大小寫,還有字元數限制等;

c語言裡面的字串常量和字元常量有什麼區別

12樓:匿名使用者

字串常量是一個或多個字元組成的常量

比方說 一個字串常量a 給它的初始值是 『abc123』,可以是一個字元『5』構成

但是字元常量只能是一個字元

比方說一個字元常量 a 它的初始值為『1』,不能多於一個字元的

13樓:匿名使用者

字串是以\0結束的

而字元常量是沒有的

14樓:笑熬將胡

字串常量和字元常量有什麼區別就是多個字元和單個字元的區別。

在c語言中,常量與變數有何區別呢?字元常量與字串常量有何區別呢?

15樓:古古

常量就是不變

bai的量。du

變數顧名思義就是可以變化zhi的,這個dao變數是一個儲存空間,內裡面可以放1,2,3等等,但是常量容就不行了,你一開始在這個儲存空間裡放了1就不能再放2了,變數或者常量的名字是指向這個儲存空間的地址。

字元常量是一個字元,而字串 顧名思義是一串字元。後面都有常量這個修飾,也就是不可以變化的字元常量或者字串常量。

16樓:萬楊

常量就是固定不變bai

的量,du不能通過函式進行修zhi改的變數;

dao變數是可以通內

過賦值,函式等手段進容行修改的一個變數。

字串常量:char *a = "hello world";首先,作業系統在編譯器規劃記憶體方案中的的文字常量區分配一段記憶體,儲存"hello world"字串,然後在棧區分配一個記憶體,儲存"hello world"字串所在記憶體的首地址,字串常量一旦分配是不允許修改的。

字元常量:char b = "hello world";作業系統在編譯器規劃的記憶體方案中的棧區分配一段連續記憶體空間(12個位元組),儲存"hello world"字串,字串常量就相當於字元的一個陣列,是可以修改的。

17樓:封魔閃神的宣告

常量的值不能改變,變數可以。

字元是一個字,字串是一個字元陣列。

18樓:匿名使用者

變數可以進行賦值,常量的值是固定的吧。。我也不是太清楚

在c語言中,字元型常量和字串常量有什麼區別

19樓:匿名使用者

字串對於字元 相當於 int型陣列對於int型變數

20樓:匿名使用者

字串常量 可以理解成

字元型常量

的陣列形式

在c語言中以下合法的字元常量是在C語言中,以下合法的字元常量是

選ca 有雙引號,是字串 b 單引號裡只能一個字元 d 0表明是8進位制,只能出現0 7的數字e 書寫不完整,右半邊的單引號沒了 答案是c。各答案解析 a 有雙引號,是字串 b 單引號裡只能一個版字元 d 0表明是8進位制,只 能出現權0 7的數字 e 書寫不完整,右半邊的單引號沒了 拓展 在c語言...

不能把字串常量賦予字元變數這句話怎麼理解,不是

程式的儲存區分為4塊 1 全域性靜態區 儲存全域性變數 靜態變數 2 字元常量版區 存放字串常量 3 棧權區 區域性變數 4 堆區 動態分配的記憶體 字元變數儲存的內容不是字串常量,可以被修改 字串常量是不能修改的 巨集定義的不是變數,只是一個標記,在程式預編譯的時候就是進行簡單的替換操作 記得采納...

跪求c語言字串處理函式,跪求 c語言字串 7個處理函式

1.字串連線函式 strcat 原型 char strcat char str1,const char str2 2.字串查詢函式 strchr 原型 char strchr const char str1,const char str2 3.字串比較函式 strcmp 原型 int strcmp ...