c語言變量類型(詳細(xì))

c語言變量類型(詳細(xì))

ID:39549526

大?。?9.00 KB

頁數(shù):4頁

時(shí)間:2019-07-06

c語言變量類型(詳細(xì))_第1頁
c語言變量類型(詳細(xì))_第2頁
c語言變量類型(詳細(xì))_第3頁
c語言變量類型(詳細(xì))_第4頁
資源描述:

《c語言變量類型(詳細(xì))》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、1數(shù)據(jù)類型關(guān)鍵字  A.基本數(shù)據(jù)類型(5個(gè))  void:聲明函數(shù)無返回值或無參數(shù),聲明無類型指針,顯式丟棄運(yùn)算結(jié)果  char:字符型類型數(shù)據(jù),屬于整型數(shù)據(jù)的一種int:整型數(shù)據(jù),通常為編譯器指定的機(jī)器字長在VC中,最長FFFFFFFF八位16進(jìn)制,-2147483648到+2147483647float:單精度浮點(diǎn)型數(shù)據(jù),屬于浮點(diǎn)數(shù)據(jù)的一種  double:雙精度浮點(diǎn)型數(shù)據(jù),屬于浮點(diǎn)數(shù)據(jù)的一種float與doublefloat和double的范圍是由指數(shù)的位數(shù)來決定的。float的指數(shù)位有8位,而double的指數(shù)位有11位,分布如下:floa

2、t:1bit(符號(hào)位)8bits(指數(shù)位)23bits(尾數(shù)位)double:1bit(符號(hào)位)11bits(指數(shù)位)52bits(尾數(shù)位)于是,float的指數(shù)范圍為-127~+128,而double的指數(shù)范圍為-1023~+1024,并且指數(shù)位是按補(bǔ)碼的形式來劃分的。其中負(fù)指數(shù)決定了浮點(diǎn)數(shù)所能表達(dá)的絕對(duì)值最小的非零數(shù);而正指數(shù)決定了浮點(diǎn)數(shù)所能表達(dá)的絕對(duì)值最大的數(shù),也即決定了浮點(diǎn)數(shù)的取值范圍。float的范圍為-2^128~+2^128,也即-3.40E+38~+3.40E+38;double的范圍為-2^1024~+2^1024,也即-1.79

3、E+308~+1.79E+308。float和double的精度是由尾數(shù)的位數(shù)來決定的。浮點(diǎn)數(shù)在內(nèi)存中是按科學(xué)計(jì)數(shù)法來存儲(chǔ)的,其整數(shù)部分始終是一個(gè)隱含著的“1”,由于它是不變的,故不能對(duì)精度造成影響。float:2^23=8388608,一共七位,這意味著最多能有7位有效數(shù)字,但絕對(duì)能保證的為6位,也即float的精度為6~7位有效數(shù)字;double:2^52=4503599627370496,一共16位,同理,double的精度為15~16位?! .類型修飾關(guān)鍵字(4個(gè))short:修飾int,短整型數(shù)據(jù),可省略被修飾的int。-32768到+

4、32767四位16進(jìn)制long:修飾int,長整形數(shù)據(jù),可省略被修飾的int。FFFFFFFF八位16進(jìn)制,-2147483648到+2147483647  signed:修飾整型數(shù)據(jù),有符號(hào)數(shù)據(jù)類型unsigned:修飾整型數(shù)據(jù),無符號(hào)數(shù)據(jù)類型#includeintmain(intargc,char*argv[]){unsignedshorta=-1;shortb=a;printf("%d%d",a,b);return0;}//結(jié)果:65535-1這是段很簡單的代碼??在計(jì)算機(jī)中,負(fù)數(shù)是以補(bǔ)碼來存儲(chǔ)的。C語言中常量整數(shù)-1的補(bǔ)碼

5、表示為0xFFFFFFFF。截取后面16位FFFF賦值給變量a(unsignedshort)。此時(shí)a=0xFFFF(a沒有符號(hào)位,0xFFFF轉(zhuǎn)換為十進(jìn)制為65535)。???a又將0xFFFF,直接賦值給shortb。此時(shí)b=0xFFFF(但是要注意,b是有符號(hào)的,0xFFFF轉(zhuǎn)換為十進(jìn)制為-1)。執(zhí)行printf("%d%d",a,b);的時(shí)候,要將a和b的值先轉(zhuǎn)換為int型:?a沒有符號(hào)所以轉(zhuǎn)為int型為0x0000FFFF,?b有符號(hào)轉(zhuǎn)換為int型為0xFFFFFFFF?! .復(fù)雜類型關(guān)鍵字(5個(gè))  struct:結(jié)構(gòu)體聲明  unio

6、n:共用體聲明  enum:枚舉聲明  typedef:聲明類型別名  sizeof:得到特定類型或特定類型變量的大小  D.存儲(chǔ)級(jí)別關(guān)鍵字(6個(gè))  auto:指定為自動(dòng)變量,由編譯器自動(dòng)分配及釋放。通常在棧上分配  static:指定為靜態(tài)變量,分配在靜態(tài)變量區(qū),修飾函數(shù)時(shí),指定函數(shù)作用域?yàn)槲募?nèi)部  register:指定為寄存器變量,建議編譯器將變量存儲(chǔ)到寄存器中使用,也可以修飾函數(shù)形參,建議編譯器通過寄存器而不是堆棧傳遞參數(shù)  extern:指定對(duì)應(yīng)變量為外部變量,即標(biāo)示變量或者函數(shù)的定義在別的文件中,提示編譯器遇到此變量和函數(shù)時(shí)在其他模

7、塊中尋找其定義?! onst:與volatile合稱“cv特性”,指定變量不可被當(dāng)前線程/進(jìn)程改變(但有可能被系統(tǒng)或其他線程/進(jìn)程改變)  volatile:與const合稱“cv特性”,指定變量的值有可能會(huì)被系統(tǒng)或其他進(jìn)程/線程改變,強(qiáng)制編譯器每次從內(nèi)存中取得該變量的值  2流程控制關(guān)鍵字  A.跳轉(zhuǎn)結(jié)構(gòu)(4個(gè))  return:用在函數(shù)體中,返回特定值(或者是void值,即不返回值)  continue:結(jié)束當(dāng)前循環(huán),開始下一輪循環(huán)  break:跳出當(dāng)前循環(huán)或switch結(jié)構(gòu)  goto:無條件跳轉(zhuǎn)語句  B.分支結(jié)構(gòu)(5個(gè))  if:條件

8、語句,后面不需要放分號(hào)  else:條件語句否定分支(與if連用)  switch:開關(guān)語句(多重分支語句)  case:

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。