字符型變量
字符型變量中所存放的字符是計算機字符集中的字符。對于PC機上運行的C系統
,字符型數據用8位單字節的ASCII碼表示。程序用類型說明符char來聲明字符
型變量:
char ch;
這條聲明語句聲明了一個字符型變量,標識符為ch。當以這種形式聲明變量之
后,程序可以在表達式中引用這個變量,關于語句和表達式的知識在后面將會
介紹。
字符數據類型事實上是8位的整型數據類型,可以用于數值表達式中,與其他的
整型數據同樣使用。在這種情況下,字符型變量可以是有符號的,也可以是無
符號的。對于無符號的字符型變量可以聲明為:
unsigned char ch;
除非聲明為無符號型,否則在算術運算和比較運算中,字符型變量一般作為8位
有符號整型變量處理。
字符串中變量-如何計算C語言語言中變量有幾個字符
C語言中的字符變量為什么可以用正整數賦值?要得到正常的字符,條件是什么?若用負整數賦值情況又將如何? 答:C語言中各種類型的變量其實都是內存地址。
都可以通用的。 其中字符型最是最通用的一種,他是八位二進制的。
即一個字節,可以存任何一個字節的變量。 如: int a = 0xFF; char *p = &a; A在內存中的樣式: 低地址高位。
則 *p==0xff;*(p+1)==0; 這個你明白了吧。字符型可以存任何數據。
英文字符實際上是0-127的數字編碼存在內存中。 我們叫他們ACSII碼。
電腦在處理這些數據時比如打印: printf,如果用%d就打印他的的十進制ASCII碼,而%C就打印字符。 若用負整數賦值情況又將如何? 負數實際上會變成正數,如-1==255,當然,你要強制轉換成unsigned char型的。
下面舉個例子: #include int main (int argc, char *argv[]) { char ch = 97; char ch1 = -1; printf("ch = %d\n",ch); printf("ch = %c\n",ch); printf("ch1 = %d\n",ch1); printf("ch1 = %d\n",(unsigned char)ch1); return 0; } 點一下好評,真心的祝愿你萬事如意!。
關于字符常量和字符串語句定義
以下不合法的字符常量是
A)'\018' B)'\"' C)'\\' D)'\xcc'
選A
原因:
A)'\018'
\018是通過\這個轉義字符將018這個以0打頭的數轉義成一個八進制數,但是八進制數的取值范圍是0~7,所以018是不合法的
B)'\"' 合法,通過\這個轉義字符轉義成字符"
C)'\\' 合法,通過\這個轉義字符轉義成字符\
D)'\xcc' 合法,通過\這個轉義字符將xcc這個以x打頭的數轉義成一個十六進制數0xcc
以下能正確定義字符串的語句是
A)char str[]={'\064'}; B)char str="\x43"; C)char str="; D)char str[]="\0";
選D
原因:
A)char str[]={'\064'};//錯誤,字符串需要用""標注
B)char str="\x43";//錯誤,char str是聲明了一個字符變量,不能存放字符串
C)char str="; //錯誤,字符串需要用""標注
D)char str[]="\0"; //正確,這個字符串實際包含兩個字符,一個是'\0',另一個是作為字符串默認的串尾符'\0'