首頁(yè)考試吧論壇Exam8視線考試商城網(wǎng)絡(luò)課程模擬考試考友錄實(shí)用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓(xùn) 自學(xué)考試 成人高考
四 六 級(jí)
GRE考試
攻碩英語(yǔ)
零起點(diǎn)日語(yǔ)
職稱英語(yǔ)
口譯筆譯
申碩英語(yǔ)
零起點(diǎn)韓語(yǔ)
商務(wù)英語(yǔ)
日語(yǔ)等級(jí)
GMAT考試
公共英語(yǔ)
職稱日語(yǔ)
新概念英語(yǔ)
專四專八
博思考試
零起點(diǎn)英語(yǔ)
托�?荚�
托業(yè)考試
零起點(diǎn)法語(yǔ)
雅思考試
成人英語(yǔ)三級(jí)
零起點(diǎn)德語(yǔ)
等級(jí)考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計(jì)算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報(bào) 關(guān) 員
外 銷 員
價(jià)格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報(bào)檢員
法律顧問(wèn)
管理咨詢
企業(yè)培訓(xùn)
社會(huì)工作者
銀行從業(yè)
教師資格
營(yíng)養(yǎng)師
保險(xiǎn)從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國(guó)際商務(wù)
心理咨詢
營(yíng) 銷 師
司法考試
國(guó)際貨運(yùn)代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格
基金從業(yè)資格
統(tǒng)計(jì)從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計(jì)師
會(huì)計(jì)職稱
法律顧問(wèn)
ACCA考試
注冊(cè)會(huì)計(jì)師
資產(chǎn)評(píng)估師
審計(jì)師考試
高級(jí)會(huì)計(jì)師
注冊(cè)稅務(wù)師
國(guó)際內(nèi)審師
理財(cái)規(guī)劃師
美國(guó)注冊(cè)會(huì)計(jì)師
一級(jí)建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價(jià)師
二級(jí)建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價(jià)工程師
注冊(cè)測(cè)繪師
質(zhì)量工程師
巖土工程師
造價(jià)員考試
注冊(cè)計(jì)量師
環(huán)保工程師
化工工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
監(jiān)理工程師
房地產(chǎn)估價(jià)
土地估價(jià)師
安全評(píng)價(jià)師
房地產(chǎn)經(jīng)紀(jì)人
投資項(xiàng)目管理師
環(huán)境影響評(píng)價(jià)師
土地登記代理人
繽紛校園 實(shí)用文檔 英語(yǔ)學(xué)習(xí) 作文大全 求職招聘 論文下載 訪談|游戲
計(jì)算機(jī)等級(jí)考試

2013年計(jì)算機(jī)等考二級(jí)《C語(yǔ)言》復(fù)習(xí)筆記第二章第1節(jié)

  第二章: 數(shù)據(jù)類型、運(yùn)算符、表達(dá)式

  C語(yǔ)言的數(shù)據(jù)類型

  在第一課中,我們已經(jīng)看到程序中使用的各種變量都應(yīng)預(yù)先加以說(shuō)明,即先說(shuō)明,后使用。對(duì)變量的說(shuō)明可以包括三個(gè)方面:

  ·數(shù)據(jù)類型

  ·存儲(chǔ)類型

  ·作用域

  在本課中,我們只介紹數(shù)據(jù)類型說(shuō)明。其它說(shuō)明在以后各章中陸續(xù)介紹。所謂數(shù)據(jù)類型是按被說(shuō)明量的性質(zhì),表示形式,占據(jù)存儲(chǔ)空間的多少,構(gòu)造特點(diǎn)來(lái)劃分的。在C語(yǔ)言中,數(shù)據(jù)類型可分為:基本數(shù)據(jù)類型,構(gòu)造數(shù)據(jù)類型,指針類型,空類型四大類。

  1.基本數(shù)據(jù)類型

  基本數(shù)據(jù)類型最主要的特點(diǎn)是,其值不可以再分解為其它類型。也就是說(shuō),基本數(shù)據(jù)類型是自我說(shuō)明的。

  2.構(gòu)造數(shù)據(jù)類型構(gòu)造數(shù)據(jù)類型

  是根據(jù)已定義的一個(gè)或多個(gè)數(shù)據(jù)類型用構(gòu)造的方法來(lái)定義的。也就是說(shuō),一個(gè)構(gòu)造類型的值可以分解成若干個(gè)“成員”或“元素”.每個(gè)“成員”都是一個(gè)基本數(shù)據(jù)類型或又是一個(gè)構(gòu)造類型。在C語(yǔ)言中,構(gòu)造類型有以下幾種:

  ·數(shù)組類型

  ·結(jié)構(gòu)類型

  ·聯(lián)合類型

  3.指針類型

  指針是一種特殊的,同時(shí)又是具有重要作用的數(shù)據(jù)類型。其值用來(lái)表示某個(gè)量在內(nèi)存儲(chǔ)器中的地址。雖然指針變量的取值類似于整型量,但這是兩個(gè)類型完全不同的量,因此不能混為一談。4.空類型在調(diào)用函數(shù)值時(shí),通常應(yīng)向調(diào)用者返回一個(gè)函數(shù)值。這個(gè)返回的函數(shù)值是具有一定的數(shù)據(jù)類型的,應(yīng)在函數(shù)定義及函數(shù)說(shuō)明中給以說(shuō)明,例如在例題中給出的max函數(shù)定義中,函數(shù)頭為: int max(int a,int b);其中“int ”類型說(shuō)明符即表示該函數(shù)的返回值為整型量。又如在例題中,使用了庫(kù)函數(shù) sin,由于系統(tǒng)規(guī)定其函數(shù)返回值為雙精度浮點(diǎn)型,因此在賦值語(yǔ)句s=sin (x);中,s 也必須是雙精度浮點(diǎn)型,以便與sin函數(shù)的返回值一致。所以在說(shuō)明部分,把s說(shuō)明為雙精度浮點(diǎn)型。但是,也有一類函數(shù),調(diào)用后并不需要向調(diào)用者返回函數(shù)值, 這種函數(shù)可以定義為“空類型”。其類型說(shuō)明符為void.在第五章函數(shù)中還要詳細(xì)介紹。在本章中,我們先介紹基本數(shù)據(jù)類型中的整型、浮點(diǎn)型和字符型。其余類型在以后各章中陸續(xù)介紹。

  對(duì)于基本數(shù)據(jù)類型量,按其取值是否可改變又分為常量和變量?jī)煞N。在程序執(zhí)行過(guò)程中,其值不發(fā)生改變的量稱為常量,取值可變的量稱為變量。它們可與數(shù)據(jù)類型結(jié)合起來(lái)分類。例如,可分為整型常量、整型變量、浮點(diǎn)常量、浮點(diǎn)變量、字符常量、字符變量、枚舉常量、枚舉變量。在程序中,常量是可以不經(jīng)說(shuō)明而直接引用的,而變量則必須先說(shuō)明后使用。

  整型量

  整型量包括整型常量、整型變量。整型常量就是整常數(shù)。在C語(yǔ)言中,使用的整常數(shù)有八進(jìn)制、十六進(jìn)制和十進(jìn)制三種。

  整型常量

  1.八進(jìn)制整常數(shù)八進(jìn)制整常數(shù)必須以0開頭,即以0作為八進(jìn)制數(shù)的前綴。數(shù)碼取值為0~7。八進(jìn)制數(shù)通常是無(wú)符號(hào)數(shù)。

  以下各數(shù)是合法的八進(jìn)制數(shù):

  015(十進(jìn)制為13) 0101(十進(jìn)制為65) 0177777(十進(jìn)制為65535)

  以下各數(shù)不是合法的八進(jìn)制數(shù):

  256(無(wú)前綴0) 03A2(包含了非八進(jìn)制數(shù)碼) -0127(出現(xiàn)了負(fù)號(hào))

  2.十六進(jìn)制整常數(shù)

  十六進(jìn)制整常數(shù)的前綴為0X或0x.其數(shù)碼取值為0~9,A~F或a~f。

  以下各數(shù)是合法的十六進(jìn)制整常數(shù):

  0X2A(十進(jìn)制為42) 0XA0 (十進(jìn)制為160) 0XFFFF (十進(jìn)制為65535)

  以下各數(shù)不是合法的十六進(jìn)制整常數(shù):

  5A (無(wú)前綴0X) 0X3H (含有非十六進(jìn)制數(shù)碼)

  3.十進(jìn)制整常數(shù)

  十進(jìn)制整常數(shù)沒有前綴。其數(shù)碼為0~9。

  以下各數(shù)是合法的十進(jìn)制整常數(shù):

  237 -568 65535 1627

  以下各數(shù)不是合法的十進(jìn)制整常數(shù):

  023 (不能有前導(dǎo)0) 23D (含有非十進(jìn)制數(shù)碼)

  在程序中是根據(jù)前綴來(lái)區(qū)分各種進(jìn)制數(shù)的。因此在書寫常數(shù)時(shí)不要把前綴弄錯(cuò)造成結(jié)果不正確。4.整型常數(shù)的后綴在16位字長(zhǎng)的機(jī)器上,基本整型的長(zhǎng)度也為16位,因此表示的數(shù)的范圍也是有限定的。十進(jìn)制無(wú)符號(hào)整常數(shù)的范圍為0~65535,有符號(hào)數(shù)為-32768~+32767.八進(jìn)制無(wú)符號(hào)數(shù)的表示范圍為0~0177777.十六進(jìn)制無(wú)符號(hào)數(shù)的表示范圍為0X0~0XFFFF或0x0~0xFFFF.如果使用的數(shù)超過(guò)了上述范圍,就必須用長(zhǎng)整型數(shù)來(lái)表示。長(zhǎng)整型數(shù)是用后綴“L”或“l(fā)”來(lái)表示的。例如:

  十進(jìn)制長(zhǎng)整常數(shù) 158L (十進(jìn)制為158) 358000L (十進(jìn)制為-358000)

  八進(jìn)制長(zhǎng)整常數(shù) 012L (十進(jìn)制為10) 077L (十進(jìn)制為63) 0200000L (十進(jìn)制為65536)

  十六進(jìn)制長(zhǎng)整常數(shù) 0X15L (十進(jìn)制為21) 0XA5L (十進(jìn)制為165) 0X10000L (十進(jìn)制為65536)

  長(zhǎng)整數(shù)158L和基本整常數(shù)158 在數(shù)值上并無(wú)區(qū)別。但對(duì)158L,因?yàn)槭情L(zhǎng)整型量,C編譯系統(tǒng)將為它分配4個(gè)字節(jié)存儲(chǔ)空間。而對(duì)158,因?yàn)槭腔菊停环峙? 個(gè)字節(jié)的存儲(chǔ)空間。因此在運(yùn)算和輸出格式上要予以注意,避免出錯(cuò)。無(wú)符號(hào)數(shù)也可用后綴表示,整型常數(shù)的無(wú)符號(hào)數(shù)的后綴為“U”或“u”。例如: 358u,0x38Au,235Lu 均為無(wú)符號(hào)數(shù)。前綴,后綴可同時(shí)使用以表示各種類型的數(shù)。如0XA5Lu表示十六進(jìn)制無(wú)符號(hào)長(zhǎng)整數(shù)A5,其十進(jìn)制為165。

  整型變量

  整型變量可分為以下幾類:

  1.基本型

  類型說(shuō)明符為int,在內(nèi)存中占2個(gè)字節(jié),其取值為基本整常數(shù)。

  2.短整量

  類型說(shuō)明符為short int或short'C110F1。所占字節(jié)和取值范圍均與基本型相同。

  3.長(zhǎng)整型

  類型說(shuō)明符為long int或long ,在內(nèi)存中占4個(gè)字節(jié),其取值為長(zhǎng)整常數(shù)。

  4.無(wú)符號(hào)型

  類型說(shuō)明符為unsigned。

  無(wú)符號(hào)型又可與上述三種類型匹配而構(gòu)成:

  (1)無(wú)符號(hào)基本型 類型說(shuō)明符為unsigned int或unsigned。

  (2)無(wú)符號(hào)短整型 類型說(shuō)明符為unsigned short。

  (3)無(wú)符號(hào)長(zhǎng)整型 類型說(shuō)明符為unsigned long。

  各種無(wú)符號(hào)類型量所占的內(nèi)存空間字節(jié)數(shù)與相應(yīng)的有符號(hào)類型量相同。但由于省去了符號(hào)位,故不能表示負(fù)數(shù)。 下表列出了Turbo C中各類整型量所分配的內(nèi)存字節(jié)數(shù)及數(shù)的表示范圍。

  類型說(shuō)明符 數(shù)的范圍 分配字節(jié)數(shù)

  int -32768~32767 ■■

  short int -32768~32767 ■■

  signed int -32768~32767 ■■

  unsigned int 0~65535 ■■

  long int -2147483648~2147483647 ■■■■

  unsigned long 0~4294967295 ■■■■

  整型變量的說(shuō)明

  變量說(shuō)明的一般形式為: 類型說(shuō)明符 變量名標(biāo)識(shí)符,變量名標(biāo)識(shí)符,…; 例如:

  int a,b,c; (a,b,c為整型變量)

  long x,y; (x,y為長(zhǎng)整型變量)

  unsigned p,q; (p,q為無(wú)符號(hào)整型變量)

  在書寫變量說(shuō)明時(shí),應(yīng)注意以下幾點(diǎn):

  1.允許在一個(gè)類型說(shuō)明符后,說(shuō)明多個(gè)相同類型的變量。各變量名之間用逗號(hào)間隔。類型說(shuō)明符與變量名之間至少用一個(gè)空格間隔。

  2.最后一個(gè)變量名之后必須以“;”號(hào)結(jié)尾。

  3.變量說(shuō)明必須放在變量使用之前。一般放在函數(shù)體的開頭部分。

  [Practice] //1int a,b;

  short int c;

  short d=100;

  a=d-20;

  b=a+d;

  c=a+b+d;

  d=d-a+c-b;'Vtable

  a,2,0

  b,2,0

  c,2,0

  d,2,100

  of Vtable

  'Vupdate

  1,0;2,0

  3,0

  4,100

  1,80

  2,180

  3,360

  4,200

  of Vupdate

  of Practice

  [Practice] //2int a=5;

  int b=9;

  long int c;

  long d;

  c=a+b-7;

  d=a*b*c;

  c=d*d*d;

  a=c-d;'Vtable

  a,2,5

  b,2,9

  c,4,0

  d,4,0

  of Vtable

  'Vupdate

  1,5

  2,9

  3,0

  4,0

  3,7

  4,315

  3,31255875

  1,-5112

  of Vupdate

  of Practice

  [Practice] //3int a=6,b=19;

  unsigned int c;

  int d;

  c=a-b+7;

  d=b*c;

  a=b+c+d;

  b=-a;'Vtable

  a,2,6

  b,2,19

  c,2,0

  d,2,0

  of Vtable

  'Vupdate

  1,6;2,19

  3,0

  4,0

  3,65530

  4,-114

  1,-101

  2,101

  of Vupdate

  of Practice

  void main(){

  long x,y;

  int a,b,c,d;

  x=5;

  y=6;

  a=7;

  b=8;

  c=x+a;

  d=y+b;

  printf("c=x+a=%d,d=y+b=%d\n",c,d);

  }

  將main說(shuō)明為返回void,即不返回任何類型的值

  x,y被定義為long型。

  a,b,c,d被定義為int型。

  5->x

  6->y

  7->a

  8->b

  x+a->c

  y+b->d

  顯示程序運(yùn)行結(jié)果 of long x,y;

  int a,b,c,d;

  c=x+a;

  d=y+b;

  從程序中可以看到:x,y是長(zhǎng)整型變量,a,b是基本整型變量。它們之間允許進(jìn)行運(yùn)算,運(yùn)算結(jié)果為長(zhǎng)整型。但c,d被定義為基本整型,因此最后結(jié)果為基本整型。本例說(shuō)明,不同類型的量可以參與運(yùn)算并相互賦值。其中的類型轉(zhuǎn)換是由編譯系統(tǒng)自動(dòng)完成的。有關(guān)類型轉(zhuǎn)換的規(guī)則將在以后介紹。

  編輯推薦:

  2012年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢短信提醒

  2013年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間預(yù)測(cè)

  2012年計(jì)算機(jī)等級(jí)考試二級(jí)VB重點(diǎn)知識(shí)匯總

文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。