計算機二級C語言字符型數(shù)據(jù)考點歸納
第6章 字符型數(shù)據(jù)考點歸納
6.1 字符常量
有兩種形式:一是用單引號括起來的一個單字符,如′a′,′?′,′=′;二是″轉(zhuǎn)義字符″,即以″\″開頭的字符序列。常用的轉(zhuǎn)義字符見下表。
字符形式 功 能
。躰 換行
。躷 橫向跳格(即跳到下一個輸出區(qū))
。躹 豎向跳格
\b 退格
。躵 回車
。躥 走紙換頁
\\ 反斜杠字符″\″
。堋 單引號(撇號)字符
\″ 雙引號(″)字符
。躣dd 1到3位8進(jìn)制數(shù)所代表的字符,如\123,表示8進(jìn)制數(shù)123
。躼hh 1到2位16進(jìn)制數(shù)所代表的字符,如\x21,表示16進(jìn)制數(shù)23
在轉(zhuǎn)義字符賦給字符變量時,也需要在其二側(cè)加單引號,如:
char c=′\n′;
字符串常量是用一對雙引號括起的字符序列,如″abc\n″。
請區(qū)別字符變量和字符串常量。′a′是字符常量,″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來定義。如:
char a,b;
a=′0′;b=′k′;
printf(″%c %c \n″,a,b);
將輸出兩個字符ok。
不能將一個字符串常量賦給一個字符變量,如:
a=″0″;b=″k″;
是錯誤的。
給字符變量賦值可以采用如下三種方法:
(1)直接賦以字符常量,如char=′A′;
(2)賦以″轉(zhuǎn)義字符″,如:
char c=′\\′;
printf(″%c″,c);
輸出一個字符″\″。
(3)賦以一個字符的ASCII代碼,如字符′a′的ASCII代碼為97,則
char c=97;
printf(″%c″,c);
將輸出一個字符″a″。實際上,字符數(shù)據(jù)在內(nèi)存中是以整數(shù)形式(字符ASCII代碼)存放的,例如,字符′a′的ASCII碼為97,在內(nèi)存字節(jié)中的存放形式為:
01 10 00 01
在輸出時,如果指定輸出字符的格式符″%c″輸出,則輸出字符′a′(在輸出時先將ASCII碼轉(zhuǎn)換為字符)。如果指定按輸出整數(shù)的格式″%d″輸出(如printf(″%d″,c)),則輸出一個整數(shù)97。
應(yīng)記住,字符數(shù)據(jù)與整型數(shù)據(jù)二者間是通用的,可以互相賦值和運算,如:
int a=′A′;
char c=97;
print(″%d\n″,c-a);
將輸出一個整數(shù)32,因為′A′的ASCII碼為65。