自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細(xì)介紹C++數(shù)據(jù)類(lèi)型

開(kāi)發(fā) 后端
許多編程人員學(xué)習(xí)C++總結(jié)經(jīng)驗(yàn)為,有的C++是一門(mén)獨(dú)立的語(yǔ)言,并不是在C語(yǔ)言的基礎(chǔ)上,可以直接學(xué)習(xí)C++不必先從C下手。

C++數(shù)據(jù)類(lèi)型定義編譯器在內(nèi)存中存放信息的方式,在有些編程語(yǔ)言中,可以向變量賦予任何數(shù)值類(lèi)型,下面進(jìn)行對(duì)C++數(shù)據(jù)類(lèi)型進(jìn)行分析學(xué)習(xí),希望能給大家?guī)?lái)想要的東西。

而在C++,則必須先聲明變量類(lèi)型再使用變量:int x1 = 1;int x = 1000;float y = 3.14;long z = 457000;這樣,編譯器就可以進(jìn)行類(lèi)型檢查,確保程序運(yùn)行時(shí)一切順利。數(shù)據(jù)類(lèi)型使用不當(dāng)會(huì)導(dǎo)致編譯錯(cuò)誤或警告,以便分析和糾正之后再運(yùn)行。

有些數(shù)據(jù)類(lèi)型有帶符號(hào)和無(wú)符號(hào)兩種。帶符號(hào)(signed)數(shù)據(jù)類(lèi)型可以包含正數(shù)和負(fù)數(shù),而無(wú)符號(hào)(unsigned)數(shù)據(jù)類(lèi)型只能包含正數(shù)。表1.1列出了C++中的數(shù)據(jù)類(lèi)型、所要內(nèi)存量和可能的取值范圍。

  1. 1: #include <iostream.h>   
  2.  
  3. 2: #include <conio.h>   
  4.  
  5. 3: #pragma hdrstop   
  6.  
  7. 4:   
  8.  
  9. 5: int main(int argc,char **argv)   
  10.  
  11. 6: {   
  12.  
  13. 7:short x = 32767;   
  14.  
  15. 8:cout << " x = " << x << endl;   
  16.  
  17. 9:x++;   
  18.  
  19. 10: cout << " x = " << x << endl;   
  20.  
  21. 11: getch();   
  22.  
  23. 12: return 0;   
  24.  
  25. 13: }  

從上表可以看出,int與long相同。那么,為什么C++還要區(qū)分這兩種數(shù)據(jù)類(lèi)型呢?實(shí)際上這是個(gè)遺留問(wèn)題。在16位編程環(huán)境中,int要求2個(gè)字節(jié)而long要求4個(gè)字節(jié)。而在32位編程環(huán)境中,這兩種數(shù)據(jù)都用4個(gè)字節(jié)存放。C++Builder只生成32位程序,所以int與long相同。

說(shuō)明 在C++ Builder和BorLand C++ 5.0中,Bool是個(gè)真正的數(shù)據(jù)類(lèi)型。有些C++編譯器有Bool關(guān)鍵字,則Bool不是個(gè)真正的數(shù)據(jù)類(lèi)型。有時(shí)Bool只是個(gè)typedef,使Bool等價(jià)于int。typedef實(shí)際上建立別名,使編譯器在一個(gè)符號(hào)與另一符號(hào)間劃上等號(hào)。typedef的語(yǔ)法如下:typedef int Bool;這就告訴編譯器:Bool是int的別名。說(shuō)明 只有double和float數(shù)據(jù)類(lèi)型使用浮點(diǎn)數(shù)(帶小數(shù)點(diǎn)的數(shù))。其它數(shù)據(jù)類(lèi)型只涉及整數(shù)值。

盡管integer數(shù)據(jù)類(lèi)型也可以指定帶小數(shù)點(diǎn)的數(shù)值,但小數(shù)部分會(huì)舍棄,只將整數(shù)部分賦予整型變量,例如:int x=3.75;得到的x取值為3。注意,這個(gè)整數(shù)值并不是四舍五入,而是放棄小數(shù)部分。順便說(shuō)一句,大多數(shù)Windows程序很少用到浮點(diǎn)數(shù)。

C++數(shù)據(jù)類(lèi)型可以在必要時(shí)進(jìn)行不同數(shù)據(jù)類(lèi)型間的換算。例如:short result;long num1 = 200;long num2 = 200;result = num1 * num2;這里我想將兩個(gè)長(zhǎng)整型的積賦予一個(gè)短整型。盡管這個(gè)公式混用了兩種數(shù)據(jù)類(lèi)型,但C++能夠進(jìn)行換算。

計(jì)算結(jié)果會(huì)怎樣呢?結(jié)果會(huì)讓你大吃一驚,是25536,這是繞接(wrop)的結(jié)果。從表1.1可以看出,短整型的最大取值為32767,在最大值之上加1會(huì)怎么樣呢?得到的是32768。這實(shí)際上與汽車(chē)?yán)锍逃?jì)從99999回到00000的道理一樣。為了說(shuō)明這點(diǎn),請(qǐng)輸入并運(yùn)行下列清單1.3中包含的程序。

C++數(shù)據(jù)類(lèi)型生成新的控制臺(tái)應(yīng)用程序時(shí)會(huì)自動(dòng)加上這條語(yǔ)句。這在你所用的程序中不是必須的,所以代碼清單中將其省略。無(wú)論有無(wú)這條語(yǔ)句,程序運(yùn)行結(jié)果是一致的。分析輸出結(jié)果為:x=32767 x=32768如果用int數(shù)據(jù)類(lèi)型,則不會(huì)有這個(gè)問(wèn)題。

因?yàn)?FONT size=+0>C++數(shù)據(jù)類(lèi)型的取值范圍在正向20億之間,一般不會(huì)有繞回的問(wèn)題。但這時(shí)程序可能會(huì)稍大一些,因?yàn)閕nt需要4字節(jié)存儲(chǔ),而short只需要2字節(jié)存儲(chǔ)。對(duì)于大多數(shù)應(yīng)用程序,這個(gè)差別是不顯著的。前面介紹了自動(dòng)類(lèi)型換算。有時(shí)C++無(wú)法進(jìn)行換算,這時(shí)可能在編譯器中產(chǎn)生編譯錯(cuò)誤,說(shuō)Cannot convert from x to y(無(wú)法從x換算到Y(jié))。

【編輯推薦】

  1. 簡(jiǎn)介學(xué)習(xí)C++總結(jié)之談
  2. 對(duì)C++庫(kù)函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
  3. C++類(lèi)庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
  4. C++語(yǔ)言真的還有市場(chǎng)價(jià)值?
  5. C++類(lèi)庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
責(zé)任編輯:chenqingxiang 來(lái)源: 計(jì)世網(wǎng)
相關(guān)推薦

2011-06-08 13:35:18

C#數(shù)據(jù)類(lèi)型

2024-03-14 11:54:37

C++數(shù)據(jù)類(lèi)型

2010-02-01 10:22:51

C++數(shù)據(jù)指針

2010-01-25 10:41:59

C++數(shù)據(jù)類(lèi)型

2009-09-07 10:48:53

C#數(shù)據(jù)類(lèi)型

2009-09-04 10:16:30

C#數(shù)據(jù)類(lèi)型

2010-01-13 17:32:02

C++數(shù)據(jù)類(lèi)型

2010-01-20 09:54:27

C++數(shù)據(jù)類(lèi)型

2009-09-11 12:00:33

C#預(yù)定義數(shù)據(jù)類(lèi)型

2010-01-27 10:53:55

C++數(shù)據(jù)類(lèi)型

2011-07-21 14:45:13

java

2011-07-20 13:57:06

C++STL

2011-08-04 15:14:39

Objective-C 數(shù)據(jù)類(lèi)型

2023-09-12 11:44:02

C++數(shù)據(jù)對(duì)齊

2009-08-14 17:04:50

C#類(lèi)型系統(tǒng)

2009-08-13 15:19:17

C#數(shù)據(jù)類(lèi)型

2011-07-20 15:58:53

C++引用

2011-07-13 16:49:59

C++

2011-07-13 11:12:43

C++MFC

2010-01-11 09:56:07

C++編程實(shí)例
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)