2017年計算機二級C語言考點解析:字符型數(shù)據(jù)

字號:


    6.1 字符常量
    有兩種形式:一是用單引號括起來的一個單字符,如′a′,′?′,′=′;二是″轉(zhuǎn)義字符″,即以″\″開頭的字符序列。常用的轉(zhuǎn)義字符見下表。
    字符形式 功 能
    \n 換行
    \t 橫向跳格(即跳到下一個輸出區(qū))
    \v 豎向跳格
    \b 退格
    \r 回車
    \f 走紙換頁
    \\ 反斜杠字符″\″
    \′ 單引號(撇號)字符
    \″ 雙引號(″)字符
    \ddd 1到3位8進制數(shù)所代表的字符,如\123,表示8進制數(shù)123
    \xhh 1到2位16進制數(shù)所代表的字符,如\x21,表示16進制數(shù)23
    在轉(zhuǎn)義字符賦給字符變量時,也需要在其二側(cè)加單引號,如:
    char c=′\n′;
    字符串常量是用一對雙引號括起的字符序列,如″abc\n″。
    請區(qū)別字符變量和字符串常量?!鋋′是字符常量,″a″是字符串常量。在內(nèi)存中,字符常量占一個字節(jié),而對字符串常量,則在字符串的后面加一個″字符串結(jié)束標志″,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。用′\0′(即ASCII代碼為0的字符,即″空字符″)作為字符串結(jié)束的標志。例如,′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。