小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

C語言字符型數(shù)據(jù)(字符)

 昵稱34122805 2016-06-15

字符型數(shù)據(jù)就是字符。

字符型數(shù)據(jù)的表示

字符型數(shù)據(jù)是用單引號括起來的一個字符。例如:
'a'、'b'、'='、'+'、'?'
都是合法字符型數(shù)據(jù)。

在C語言中,字符型數(shù)據(jù)有以下特點:
  • 字符型數(shù)據(jù)只能用單引號括起來,不能用雙引號或其它括號。
  • 字符型數(shù)據(jù)只能是單個字符,不能是字符串。
  • 字符可以是字符集中任意字符。但數(shù)字被定義為字符型之后就不能參與數(shù)值運算。如'5'和5 是不同的。'5'是字符型數(shù)據(jù),不能參與運算。

轉義字符

轉義字符是一種特殊的字符。轉義字符以反斜線'\'開頭,后跟一個或幾個字符。轉義字符具有特定的含義,不同于字符原有的意義,故稱“轉義”字符。例如,在前面各示例中printf函數(shù)的格式串中用到的“\n”就是一個轉義字符,其意義是“回車換行”。轉義字符主要用來表示那些用一般字符不便于表示的控制代碼。
常用的轉義字符及其含義
轉義字符 轉義字符的意義 ASCII代碼
\n 回車換行 10
\t 橫向跳到下一制表位置 9
\b 退格 8
\r 回車 13
\f 走紙換頁 12
\\ 反斜線符'\' 92
\' 單引號符 39
\” 雙引號符 34
\a 鳴鈴 7
\ddd 1~3位八進制數(shù)所代表的字符
\xhh 1~2位十六進制數(shù)所代表的字符

廣義地講,C語言字符集中的任何一個字符均可用轉義字符來表示。表中的\ddd和\xhh正是為此而提出的。ddd和hh分別為八進制和十六進制的ASCII代碼。如\101表示字母'A' ,\102表示字母'B',\134表示反斜線,\XOA表示換行等。

【例3-8】轉義字符的使用。
  1. #include
  2. int main(void){
  3. int a,b,c;
  4. a=5; b=6; c=7;
  5. printf(' ab c\tde\rf\n');
  6. printf('hijk\tL\bM\n');
  7. return 0;
  8. }
#includeint main(void){ int a,b,c; a=5; b=6; c=7; printf(' ab c\tde\rf\n'); printf('hijk\tL\bM\n'); return 0;}

字符變量

字符變量的類型說明符是char。字符變量類型定義的格式和書寫規(guī)則都與整型變量相同。例如:
char a,b;

字符變量在內存中的存儲形式及使用方法

每個字符變量被分配一個字節(jié)的內存空間,因此只能存放一個字符。字符值是以ASCII碼的形式存放在變量的內存單元之中的。

如x的十進制ASCII碼是120,y的十進制ASCII碼是121。對字符變量a、b賦予'x'和'y'值:
a='x';
b='y';
實際上是在a、b兩個單元內存放120和121的二進制代碼:


所以也可以把它們看成是整型量。C語言允許對整型變量賦以字符值,也允許對字符變量賦以整型值。在輸出時,允許把字符變量按整型量輸出,也允許把整型量按字符量輸出。

整型量為二字節(jié)量,字符量為單字節(jié)量,當整型量按字符型量處理時,只有低八位字節(jié)參與處理。

【例3-9】向字符變量賦以整數(shù)。
  1. #include
  2. int main(void){
  3. char a,b;
  4. a=120;
  5. b=121;
  6. printf('%c,%c\n',a,b);
  7. printf('%d,%d\n',a,b);
  8. return 0;
  9. }
#includeint main(void){ char a,b; a=120; b=121; printf('%c,%c\n',a,b); printf('%d,%d\n',a,b); return 0;}

本程序中定義a,b為字符型,但在賦值語句中賦以整型值。從結果看,a,b值的輸出形式取決于printf函數(shù)格式串中的格式符,當格式符為'c'時,對應輸出的變量值為字符,當格式符為'd'時,對應輸出的變量值為整數(shù)。

【例3-10】
  1. #include
  2. int main(void){
  3. char a,b;
  4. a='a';
  5. b='b';
  6. a=a-32;
  7. b=b-32;
  8. printf('%c,%c\n%d,%d\n',a,b,a,b);
  9. return 0;
  10. }
#includeint main(void){ char a,b; a='a'; b='b'; a=a-32; b=b-32; printf('%c,%c\n%d,%d\n',a,b,a,b); return 0;}

本例中,a,b被說明為字符變量并賦予字符值,C語言允許字符變量參與數(shù)值運算,即用字符的ASCII 碼參與運算。由于大小寫字母的ASCII 碼相差32,因此運算后把小寫字母換成大寫字母。然后分別以整型和字符型輸出。

字符串

字符串是由一對雙引號括起的字符序列。例如: 'CHINA' , “C program” , '$12.5' 等都是合法的字符串。字符串和字符不同,它們之間主要有以下區(qū)別:
  • 字符由單引號括起來,字符串由雙引號括起來。
  • 字符只能是單個字符,字符串則可以含一個或多個字符。
  • 可以把一個字符型數(shù)據(jù)賦予一個字符變量,但不能把一個字符串賦予一個字符變量。在C語言中沒有相應的字符串變量,也就是說不存在這樣的關鍵字,將一個變量聲明為字符串。但是可以用一個字符數(shù)組來存放一個字符串,這將在數(shù)組一章內予以介紹。
  • 字符占一個字節(jié)的內存空間。字符串占的內存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1。增加的一個字節(jié)中存放字符'\0' (ASCII碼為0)。這是字符串結束的標志。

例如,字符串 'C program' 在內存中所占的字節(jié)為:


字符'a'和字符串'a'雖然都只有一個字符,但在內存中的情況是不同的。

'a'在內存中占一個字節(jié),可表示為:


'a'在內存中占二個字節(jié),可表示為:

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多