字元常量
字元常量是用單引號括起來的一個字元
例如:'a'、'b'、'='、'+'、'?'
•字元常量只能用單引號括起來,不能用雙引號或其他括弧。
•字元常量只能是單個字元,不能是字串。
•字元可以是字元ijizhong任一字元。但數字被定義為字元型之後就不能參與數值運算。
例如:'5'和5是不同的。'5'是字元常量,不能參與運算。
--------------------------------------------------------------------------------
字元變數
字元變數用來儲存字元常量,即單個字元。
字元變數的類型說明符是char。
字元變數類型定義的格式和書寫規則都與真心變數相同。
例如:char a,b;
--------------------------------------------------------------------------------
字元資料在記憶體中的儲存形式及使用方法
每個字元變數被分配一個記憶體空間,因此只能存放一個字元。
字元值是以ASCII碼的形式存放在變數的記憶體單元中的。
例如:x的十進位ASCII碼是120,y的十進位ASCII碼是121。對字元變數a,b賦值a='x'; b='y';
實際上是在a,b兩個單元記憶體放120和121的二進位代碼:
a: 0 1 1 1 1 0 0 0
b: 0 1 1 1 1 0 0 1
所以也可以把字元型變數看作整形量。
C語言允許對整形變數賦以字元值,也允許對字元變數賦以整形值。在輸出時,允許把字元變數按整形輸出,也允許把整形量按字元量輸出。
來看一下這個例子:
#include
main()
{
char a,b;
a=120;
b=121;
printf("%c,%c/n",a,b);
printf("%d,%d/n",a,b);
}
程式運行結果為:
x,y
120,121
--------------------------------------------------------------------------------
字串常量
字串常量是由一對雙引號括起來的字元序列。
例如:"CHINA","$12.5","C program"
字串常量和字元常量是不同的來那個。他們之間的區別如下:
•字元常量由單引號括起來,字串常量由雙引號括起來。
•字元常量只能是單個字元,字串常量則可以含一個或多個字元。
•可以把一個字元常量賦予一個字元變數,但不能把一個字串常量賦予一個字元變數。在C語言中沒有相應的字串變數。但是可以用一個字元數組來存放相應的字串變數。在數組一節中予以介紹。
•字元常量佔一個位元組的記憶體空間。字串常量占的記憶體位元組數等於字串中位元組數加1.增加的一個位元組中存放字元"/0"(ASCII碼為0).這是字串結束的標誌。