6.1字符常量
有兩種形式:一是用單引號括起來的一個單字符,如′a′,′?′,′=′;二是″轉(zhuǎn)義字符″,即以″\″開頭的字符序列。常用的轉(zhuǎn)義字符見下表。
字符形式功能
\n換行
\t橫向跳格(即跳到下一個輸出區(qū))
\v豎向跳格
\b退格
\r回車
\f走紙換頁
\\反斜杠字符″\″
\′單引號(撇號)字符
\″雙引號(″)字符
\ddd1到3位8進制數(shù)所代表的字符,如\123,表示8進制數(shù)123
\xhh1到2位16進制數(shù)所代表的字符,如\x21,表示16進制數(shù)23
在轉(zhuǎn)義字符賦給字符變量時,也需要在其二側(cè)加單引號,如:
charc=′\n′;
字符串常量是用一對雙引號括起的字符序列,如″abc\n″。
請區(qū)別字符變量和字符串常量!鋋′是字符常量,″a″是字符串常量。在內(nèi)存中,字符常量占一個字節(jié),而對字符串常量,則在字符串的后面加一個″字符串結(jié)束標(biāo)志″,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。用′\0′(即ASCII代碼為0的字符,即″空字符″)作為字符串結(jié)束的標(biāo)志。例如,′a′內(nèi)存占兩個字節(jié),即:a\0。
6.2字符變量
字符變量用來存放一個字符常量,字符變量用char來定義。如:
chara,b;
a=′0′;b=′k′;
printf(″%c%c\n″,a,b);
將輸出兩個字符ok。
不能將一個字符串常量賦給一個字符變量,如:
a=″0″;b=″k″;
是錯誤的。
給字符變量賦值可以采用如下三種方法:
(1)直接賦以字符常量,如char=′A′;
(2)賦以″轉(zhuǎn)義字符″,如:
charc=′\\′;
printf(″%c″,c);
輸出一個字符″\″。
(3)賦以一個字符的ASCII代碼,如字符′a′的ASCII代碼為97,則
charc=97;
printf(″%c″,c);
將輸出一個字符″a″。實際上,字符數(shù)據(jù)在內(nèi)存中是以整數(shù)形式(字符ASCII代碼)存放的,例如,字符′a′的ASCII碼為97,在內(nèi)存字節(jié)中的存放形式為:
01100001
在輸出時,如果指定輸出字符的格式符″%c″輸出,則輸出字符′a′(在輸出時先將ASCII碼轉(zhuǎn)換為字符)。如果指定按輸出整數(shù)的格式″%d″輸出(如printf(″%d″,c)),則輸出一個整數(shù)97。
應(yīng)記住,字符數(shù)據(jù)與整型數(shù)據(jù)二者間是通用的,可以互相賦值和運算,如:
inta=′A′;
charc=97;
print(″%d\n″,c-a);
將輸出一個整數(shù)32,因為′A′的ASCII碼為65。
![]() | ![]() .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |
![]() | ![]() .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |