午夜伦理在线-午夜伦理在线观看-午夜毛片免费看-午夜美女久久久久爽久久-午夜免费

Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
[瀏覽完整版]

標(biāo)題:C++ 語言基礎(chǔ)(2)

1樓
wangxinxin 發(fā)表于:2010-12-10 14:39:53
C++數(shù)據(jù)類型 新術(shù)語 C++數(shù)據(jù)類型定義編譯器在內(nèi)存中存放信息的方式。在有些編程語言中,可以向變量賦予任何數(shù)值類型。例如,下面是BASIC代碼的例子:x = 1;x = 1000;x = 3.14;x = 457000;在BASIC中,翻譯器能考慮根據(jù)數(shù)字長(zhǎng)度和類型分配空間。而在C++,則必須先聲明變量類型再使用變量:int x1 = 1;int x = 1000;float y = 3.14;long z = 457000;這樣,編譯器就可以進(jìn)行類型檢查,確保程序運(yùn)行時(shí)一切順利。數(shù)據(jù)類型使用不當(dāng)會(huì)導(dǎo)致編譯錯(cuò)誤或警告,以便分析和糾正之后再運(yùn)行。有些數(shù)據(jù)類型有帶符號(hào)和無符號(hào)兩種。帶符號(hào)(signed)數(shù)據(jù)類型可以包含正數(shù)和負(fù)數(shù),而無符號(hào)(unsigned)數(shù)據(jù)類型只能包含正數(shù)。表1.1列出了C++中的數(shù)據(jù)類型、所要內(nèi)存量和可能的取值范圍。 表1.1C++數(shù)據(jù)類型(32位程序) 數(shù)據(jù)類型 字節(jié) 數(shù)取值范圍 char 1 -128到126 unsigned char 1 0到255 short 2 -32,768到32,767 unsigned short 2 0到65,535 long 4 -2,147,483,648到2,147,483,648 unsigned long 4 0到4,294,967,295 int 4 同long unsigned int 4 同unsigned long float 4 1.2E-38到3.4E381 double 8 2.2E-308到1.8E3082 bool 1 true或false 從上表可以看出,int與long相同。那么,為什么C++還要區(qū)分這兩種數(shù)據(jù)類型呢?實(shí)際上這是個(gè)遺留問題。在16位編程環(huán)境中,int要求2個(gè)字節(jié)而long要求4個(gè)字節(jié)。而在32位編程環(huán)境中,這兩種數(shù)據(jù)都用4個(gè)字節(jié)存放。C++Builder只生成32位程序,所以int與long相同。說明 在C++ Builder和BorLand C++ 5.0中,Bool是個(gè)真正的數(shù)據(jù)類型。有些C++編譯器有Bool關(guān)鍵字,則Bool不是個(gè)真正的數(shù)據(jù)類型。有時(shí)Bool只是個(gè)typedef,使Bool等價(jià)于int。typedef實(shí)際上建立別名,使編譯器在一個(gè)符號(hào)與另一符號(hào)間劃上等號(hào)。typedef的語法如下:typedef int Bool;這就告訴編譯器:Bool是int的別名。說明 只有double和float數(shù)據(jù)類型使用浮點(diǎn)數(shù)(帶小數(shù)點(diǎn)的數(shù))。其它數(shù)據(jù)類型只涉及整數(shù)值。盡管integer數(shù)據(jù)類型也可以指定帶小數(shù)點(diǎn)的數(shù)值,但小數(shù)部分會(huì)舍棄,只將整數(shù)部分賦予整型變量,例如:int x=3.75;得到的x取值為3。注意,這個(gè)整數(shù)值并不是四舍五入,而是放棄小數(shù)部分。順便說一句,大多數(shù)Windows程序很少用到浮點(diǎn)數(shù)。C++可以在必要時(shí)進(jìn)行不同數(shù)據(jù)類型間的換算。例如:short result;long num1 = 200;long num2 = 200;result = num1 * num2;這里我想將兩個(gè)長(zhǎng)整型的積賦予一個(gè)短整型。盡管這個(gè)公式混用了兩種數(shù)據(jù)類型,但C++能夠進(jìn)行換算。計(jì)算結(jié)果會(huì)怎樣呢?結(jié)果會(huì)讓你大吃一驚,是25536,這是繞接(wrop)的結(jié)果。從表1.1可以看出,短整型的最大取值為32767,在最大值之上加1會(huì)怎么樣呢?得到的是32768。這實(shí)際上與汽車?yán)锍逃?jì)從99999回到00000的道理一樣。為了說明這點(diǎn),請(qǐng)輸入并運(yùn)行下列清單1.3中包含的程序。 清單1.3Wrapme.cpp 1: #include <iostream.h> 2: #include <conio.h> 3: #pragma hdrstop 4: 5: int main(int argc,char **argv) 6: { 7:short x = 32767; 8:cout << " x = " << x << endl; 9:x++; 10: cout << " x = " << x << endl; 11: getch(); 12: return 0; 13: } 說明后面幾節(jié)要介紹的有些清單沒有下列語句: #include<condefs.h> C++ Builder生成新的控制臺(tái)應(yīng)用程序時(shí)會(huì)自動(dòng)加上這條語句。這在你所用的程序中不是必須的,所以代碼清單中將其省略。無論有無這條語句,程序運(yùn)行結(jié)果是一致的。分析輸出結(jié)果為:x=32767 x=32768如果用int數(shù)據(jù)類型,則不會(huì)有這個(gè)問題,因?yàn)閕nt數(shù)據(jù)類型的取值范圍在正向20億之間,一般不會(huì)有繞回的問題。但這時(shí)程序可能會(huì)稍大一些,因?yàn)閕nt需要4字節(jié)存儲(chǔ),而short只需要2字節(jié)存儲(chǔ)。對(duì)于大多數(shù)應(yīng)用程序,這個(gè)差別是不顯著的。前面介紹了自動(dòng)類型換算。有時(shí)C++無法進(jìn)行換算,這時(shí)可能在編譯器中產(chǎn)生編譯錯(cuò)誤,說Cannot convert from x to y(無法從x換算到Y(jié))。編譯器也可能警告說Conversion might lose significant digits(換算可能丟失顯著位)。提示 編譯器警告應(yīng)當(dāng)作編譯器錯(cuò)誤,因?yàn)樗砻鞒隽隋e(cuò)誤。我們應(yīng)努力生成無警告的編譯。有時(shí)警告無法避免,但一定要認(rèn)真檢查所有警告。應(yīng)充分了解警告的原因并盡量予以糾正。
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .01660 s, 2 queries.
主站蜘蛛池模板: 97久久久久国产精品嫩草影院 | 成人性生交大片免费看午夜a | 黄视频网站观看 | 国产成人亚洲日本精品 | 激情综合色五月丁香六月亚洲 | 亚洲一区欧美一区 | 国产精品九九视频 | 成人免费的性色视频 | 日韩欧美在线视频观看 | 一区二区三区在线 | 日本 | 久久精品久久精品久久 | 成年性网站 | 成人黄色影视 | 亚洲国产第一区二区香蕉日日 | 久久精品视频免费播放 | 亚洲精品成人久久久影院 | 中国一级一级全黄 | 国产精品秦先生手机在线 | 日本一级黄色 | 日韩亚洲欧洲在线rrrr片 | 一级日韩一级欧美 | 国产精品毛片一区二区三区 | 国产一级做性视频 | 亚洲国产免费 | 在线播放高清国语自产拍免费 | 久久国产经典 | 在线观看精品福利片香蕉 | 中文字幕亚洲视频 | 91福利在线免费观看 | 色婷婷激情 | 国产在视频线精品视频二代 | 成人免费网站视频 | 美女zw喷水视频在线观看 | 免费播放拍拍视频在线观看 | 国内精品视频一区二区三区八戒 | 性做久久久久久久久浪潮 | 五月婷婷丁香久久 | 免费草逼视频 | 免费视频日本xvideos | 免费在线观看的黄色网址 | 福利一区二区三区视频在线观看 |