機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
C語言初學(xué)者入門講座 第二講 數(shù)據(jù)類型(2)
C語言初學(xué)者入門講座 第二講 數(shù)據(jù)類型(2)
 更新時間:2008-7-27 16:05:10  點(diǎn)擊數(shù):2
【字體: 字體顏色
字符型量

  字符型量包括字符常量和字符變量。

  字符常量

  字符常量是用單引號括起來的一個字符。例如'a','b','=','+','?'都是合法字符常量。在C語言中,字符常量有以下特點(diǎn):

  1.字符常量只能用單引號括起來,不能用雙引號或其它括號。

  2.字符常量只能是單個字符,不能是字符串。

  3.字符可以是字符集中任意字符。但數(shù)字被定義為字符型之后就不能參與數(shù)值運(yùn)算。如'5'和5 是不同的。'5'是字符常量,不能參與運(yùn)算。

  轉(zhuǎn)義字符

  轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線"\"開頭,后跟一個或幾個字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。例如,在前面各例題printf函數(shù)的格式串中用到的“\n”就是一個轉(zhuǎn)義字符,其意義是“回車換行”。轉(zhuǎn)義字符主要用來表示那些用一般字符不便于表示的控制代碼。

  常用的轉(zhuǎn)義字符及其含義

轉(zhuǎn)義字符 轉(zhuǎn)義字符的意義
\n   回車換行
\t 橫向跳到下一制表位置
\v  豎向跳格
\b 退格
\r  回車
\f  走紙換頁
\\ 反斜線符"\"
\'  單引號符
\a  鳴鈴
\ddd  1~3位八進(jìn)制數(shù)所代表的字符
\xhh 1~2位十六進(jìn)制數(shù)所代表的字符
 
  廣義地講,C語言字符集中的任何一個字符均可用轉(zhuǎn)義字符來表示。表2.2中的\ddd和\xhh正是為此而提出的。ddd和hh分別為八進(jìn)制和十六進(jìn)制的ASCII代碼。如\101表示字?quot;A" ,\102表示字母"B",\134表示反斜線,\XOA表示換行等。轉(zhuǎn)義字符的使用。

void main()
{
 int a,b,c;
 a=5; b=6; c=7;
 printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);
}

  此程序練習(xí)轉(zhuǎn)義字符的使用:

a、b、c為整數(shù) 5->a,6->b,7->c

  調(diào)用printf顯示程序運(yùn)行結(jié)果:

printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);

  程序在第一列輸出a值5之后就是“\n”,故回車換行;接著又是“\t”,于是跳到下一制表位置(設(shè)制表位置間隔為8),再輸出b值6;空二格再輸出c 值7后又是"\n",因此再回車換行;再空二格之后又輸出a值5;再空三格又輸出b的值6;再次后"\t"跳到下一制表位置(與上一行的6 對齊),但下一轉(zhuǎn)義字符“\b”又使退回一格,故緊挨著6再輸出c值7。

  字符變量

  字符變量的取值是字符常量,即單個字符。字符變量的類型說明符是char。字符變量類型說明的格式和書寫規(guī)則都與整型變量相同。

  例如:

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

  十進(jìn)制ASCII碼是120,y的十進(jìn)制ASCII碼是121。對字符變量a,b賦予'x'和'y'值: a='x';b='y';實(shí)際上是在a,b兩個單元內(nèi)存放120和121的二進(jìn)制代碼:

a 0 1 1 1 1 0 0 0
b 0 1 1 1 1 0 0 1

  所以也可以把它們看成是整型量。 C語言允許對整型變量賦以字符值,也允許對字符變量賦以整型值。在輸出時, 允許把字符變量按整型量輸出,也允許把整型量按字符量輸出。 整型量為二字節(jié)量,字符量為單字節(jié)量,當(dāng)整型量按字符型量處理時, 只有低八位字節(jié)參與處理。

main(){
char a,b;
a=120;
b=121;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
a ■ b ■
a <-- 120
b <--- 121

  顯示程序結(jié)果 char a,b;

a=120;
b=121;

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

void main(){
 char a,b;
 a='x';
 b='y';
 a=a-32;
 b=b-32;
 printf("%c,%c\n%d,%d\n",a,b,a,b);
}

  a,b被說明為字符變量并賦予字符值

  把小寫字母換成大寫字母

  以整型和字符型輸出

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

[Practice] //charint a=49;
char b;
char d;
b=a+10;
d=a+b;'Vtable
a,2,49
b,1,隨機(jī)
d,1,隨機(jī)
of Vtable
'Vupdate
1,49
2,隨機(jī)
3,隨機(jī)
2,';'
3,'l'
of Vupdate
of Practice
[Practice] //char c1,c2;
c1='a';c2='b';
c1=c1-32;c2=c2-32;'Vtable
c1,1,隨機(jī)
c2,1,隨機(jī)
of Vtable
'Vupdate
1,隨機(jī);2,隨機(jī)
1,'a';2,'b'
1,'A';2,'B'
of Vupdate
of Practice

  字符型量

  字符型量包括字符常量和字符變量。

  字符常量

  字符常量是用單引號括起來的一個字符。例如'a','b','=','+','?'都是合法字符常量。在C語言中,字符常量有以下特點(diǎn):

  1.字符常量只能用單引號括起來,不能用雙引號或其它括號。

  2.字符常量只能是單個字符,不能是字符串。

  3.字符可以是字符集中任意字符。但數(shù)字被定義為字符型之后就不能參與數(shù)值運(yùn)算。如'5'和5 是不同的。'5'是字符常量,不能參與運(yùn)算。

  轉(zhuǎn)義字符

  轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線"\"開頭,后跟一個或幾個字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。例如,在前面各例題printf函數(shù)的格式串中用到的“\n”就是一個轉(zhuǎn)義字符,其意義是“回車換行”。轉(zhuǎn)義字符主要用來表示那些用一般字符不便于表示的控制代碼。

  常用的轉(zhuǎn)義字符及其含義

轉(zhuǎn)義字符 轉(zhuǎn)義字符的意義
\n   回車換行
\t 橫向跳到下一制表位置
\v  豎向跳格
\b 退格
\r  回車
\f  走紙換頁
\\ 反斜線符"\"
\'  單引號符
\a  鳴鈴
\ddd  1~3位八進(jìn)制數(shù)所代表的字符
\xhh 1~2位十六進(jìn)制數(shù)所代表的字符
 
  廣義地講,C語言字符集中的任何一個字符均可用轉(zhuǎn)義字符來表示。表2.2中的\ddd和\xhh正是為此而提出的。ddd和hh分別為八進(jìn)制和十六進(jìn)制的ASCII代碼。如\101表示字?quot;A" ,\102表示字母"B",\134表示反斜線,\XOA表示換行等。轉(zhuǎn)義字符的使用。

void main()
{
 int a,b,c;
 a=5; b=6; c=7;
 printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);
}

  此程序練習(xí)轉(zhuǎn)義字符的使用:

a、b、c為整數(shù) 5->a,6->b,7->c

  調(diào)用printf顯示程序運(yùn)行結(jié)果:

printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);

  程序在第一列輸出a值5之后就是“\n”,故回車換行;接著又是“\t”,于是跳到下一制表位置(設(shè)制表位置間隔為8),再輸出b值6;空二格再輸出c 值7后又是"\n",因此再回車換行;再空二格之后又輸出a值5;再空三格又輸出b的值6;再次后"\t"跳到下一制表位置(與上一行的6 對齊),但下一轉(zhuǎn)義字符“\b”又使退回一格,故緊挨著6再輸出c值7。

  字符變量

  字符變量的取值是字符常量,即單個字符。字符變量的類型說明符是char。字符變量類型說明的格式和書寫規(guī)則都與整型變量相同。

  例如:

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

  十進(jìn)制ASCII碼是120,y的十進(jìn)制ASCII碼是121。對字符變量a,b賦予'x'和'y'值: a='x';b='y';實(shí)際上是在a,b兩個單元內(nèi)存放120和121的二進(jìn)制代碼:

a 0 1 1 1 1 0 0 0
b 0 1 1 1 1 0 0 1

  所以也可以把它們看成是整型量。 C語言允許對整型變量賦以字符值,也允許對字符變量賦以整型值。在輸出時, 允許把字符變量按整型量輸出,也允許把整型量按字符量輸出。 整型量為二字節(jié)量,字符量為單字節(jié)量,當(dāng)整型量按字符型量處理時, 只有低八位字節(jié)參與處理。

main(){
char a,b;
a=120;
b=121;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
a ■ b ■
a <-- 120
b <--- 121

  顯示程序結(jié)果 char a,b;

a=120;
b=121;

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

void main(){
 char a,b;
 a='x';
 b='y';
 a=a-32;
 b=b-32;
 printf("%c,%c\n%d,%d\n",a,b,a,b);
}

  a,b被說明為字符變量并賦予字符值

  把小寫字母換成大寫字母

  以整型和字符型輸出

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

[Practice] //charint a=49;
char b;
char d;
b=a+10;
d=a+b;'Vtable
a,2,49
b,1,隨機(jī)
d,1,隨機(jī)
of Vtable
'Vupdate
1,49
2,隨機(jī)
3,隨機(jī)
2,';'
3,'l'
of Vupdate
of Practice
[Practice] //char c1,c2;
c1='a';c2='b';
c1=c1-32;c2=c2-32;'Vtable
c1,1,隨機(jī)
c2,1,隨機(jī)
of Vtable
'Vupdate
1,隨機(jī);2,隨機(jī)
1,'a';2,'b'
1,'A';2,'B'
of Vupdate
of Practice
  • 上一篇: C語言初學(xué)者入門講座 第二講 數(shù)據(jù)類型(3)
  • 下一篇: C語言初學(xué)者入門講座 第二講 數(shù)據(jù)類型(1)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1