《實用C 》第5課 C 的資料型別與常量

2021-09-03 07:14:52 字數 2723 閱讀 8338

1、c++的各種資料型別:

有的網友會問,為什麼有這麼多的資料型別,煩不煩啊?那我要問你了,你家做飯就用乙個盆嗎?

是不是有個大盆,中盤,小盆?勺子呢?有大勺,中勺,小勺,露眼勺 等等,刀呢,是不是有切肉的,還有切菜的,還有切水果的?

資料型別也是一樣,不同的資料型別有不同的作用。

整型呢,一般用來表示整數,沒有小數點的,浮點型一般用來表示有多位小數點的數,字元型呢,一般表示乙個乙個的字元,比如字母 a,b,c 之類的。

有的網友會問,簡單來說,整型和浮點型能不能統一都用浮點型,比如:5.0 就表示整數5,也是可以的。他們占用的空間不一樣,那我問你,你在家用飯盆吃飯麼?能不能吃,肯定能吃,但是太大了,不方便啊,你喝水呢,用水桶喝水嗎?能不能喝,能喝,但是不方便。所以,還是本著什麼東西該用到什麼地方就用到什麼地方,不能亂用,不然不是這不合適,就是那不合適。

型別呢,又可分為 有符號的 和 無符號的,有符號的可以表示負數,無符號的只能表示正數。但是無符號的最大正數會比有符號的最大正數大很多。

2、各種型別所占用的空間大小:即,桶的大小

必須得知道各個「桶」的大小之後,才能決定用哪個來「喝水」,對吧?不然太大浪費,太小了又不夠用。

舉個栗子:比如說中國有13億人口,用來表示人口數的變數型別你怎麼選?用 short 或者 unsigned short 可以嗎?其最大表示的正整數才是65535,也就是 6萬 多人,跟13億差太遠了。。。如果用 unsigned int 呢,其最大值是 4294967295,也就是 42億多,用來表示中國 13 億人口足夠了。但是全球的世界人口呢?

在人口統計學中,世界人口是目前全球的總人數。 世界人口估計在2023年4月24日16時21分(utc)達到75億人。 聯合國估計,在2023年將進一步增加到112億。

75億,112億,那麼現有的 unsigned int 型別又表示不下了,unsigned int 型別占用 4個 位元組,所以得找能占用 8個位元組的整型才行。上面的那個表沒有,再給大家看乙個表:

用什麼型別啊?unsigned long long 占用8個位元組,這回足夠用了,其最大值是:18446744073709551615,這個數確實是太大了。。。184萬萬億!這回表示全球人口夠用了吧!可如果你用 unsigned long long 來表示乙個班級中所有學生的數目,那就有點太浪費了。乙個班級中所有學生的數量不會超過幾百人吧,用個 unsigned short 足夠用了,還節省空間。所以說大家以後做編碼開發的時候要根據自己的實際情況來選擇。

3、空間大小的衡量標準:

就目前來說大家可能比較熟悉的單位就是:mb、gb、tb 可能大家比較熟悉了。說今天我買了一塊 2tb 的硬碟。昨天我買了一塊240g的固態硬碟,我電腦的記憶體是8g,等等。

儲存單位主要有以下這麼多:b,kb,mb,gb,tb,eb,zb,yb,bb

他們之間都是1024倍的關係:

1b   = 8bit(位元)

1kb = 1024b(位元組)

1mb = 1024kb

1gb = 1024mb

1tb = 1024gb

有個了這個比較,大家大體上應該知道位元組單位的大小了吧!一首*****檔案的大小大概在 3~4mb的樣子,乙個普通的高畫質電影一般在1~2gb的樣子。

使用重點:要兼顧擴充套件性與占用空間兩方面的需求。小了不夠用,容易溢位越界,大了呢既占用空間,又不利於網路傳輸!

舉個例子:有符號的 char 能表示的範圍是:-128~+127,你說這個體積小,就占用乙個位元組,我就用它來表示人的年齡吧,127,但是你不感覺這個數字有點懸嗎?真就有某位長壽星,年齡超過127也不是不可能啊,所以一味的為了節省空間,而選擇占用小的型別也不是明智之舉,容易越界溢位。所以用個 short 來表示還是比較不錯的,取值範圍既夠用,占用空間也才 2 個位元組。另外,年齡不可能是負數,所以直接用 unsigned short 就可以了。

4、c++中的常量:

常量的分類:

①、數值常量:整型、浮點型;

整型:5,6 之類的;

浮點型:1.3, 2.6 等等,就是帶小數點的;

②、字元常量:普通字元常量、轉義字元常量、字串常量;

普通字元常量:'a','d'等

轉義字元常量:

字串常量:"zhangsan"

③、符號常量:巨集定義:#define price 30

5、常量示例**:

#include

using namespace std;

//蘋果的**是5塊錢一斤

#include

using namespace std;

int main()

6、小作業:

自己編寫**實現輸出單引號和雙引號!

C 資料型別以及常量與變數

一 資料的量級 二 基本資料型別 關鍵字說明 位元組大小 bool 邏輯值 真 假 1sbyte 有符號8位整數 1byte 無符號8位整數 1short 有符號16位整數 2ushort 無符號16位整數 2int 有符號32位整數 4uint 無符號32位整數 4long 有符號64位整數 8u...

C 資料型別,變數,常量

資料型別 基本資料型別 具體大小可能會有不同,由sizeof函式確定。基本資料型別 32位64位char 字元型1byte 1byte short 短整型2byte 2byte int整型 4byte 4byte long 長整型4byte 8byte float 單精度浮點型 4byte 4byt...

C 資料型別 變數 常量

引入系統的命名空間 using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace fristlesson class p...