C語言複習 一 資料基本型別

2021-08-26 23:14:50 字數 1913 閱讀 3080

1.c 語言包含的資料型別

2.c語言基本資料型別分別在16位,32位,64位下不同

3.記憶體是按位元組編址的==1byte

1byte = 8 bit

1kb = 1024 byte

1m = 1024 kb

1g = 1024 m

4.基本資料型別取值範圍

不同資料型別的範圍和通常和編譯平台有關係。例如16位平台上的int是2個位元組,32位平台上的int是4個位元組。目前的主流編譯環境都是32位,在32位平台下各種資料型別取值範圍如下:

名稱     定義所用關鍵字   位元組數 範圍

整型     [signed]int      4  -2147483648~+2147483648

無符號整型  unsigned[int]     4  0~4294967295

短整型    short [int]       2  -32768~32768

無符號短整型 unsigned short[int]  2   0~65535

長整型     long int       32  -2147483648~+2147483648

無符號長整型 unsigned [int]    32  0~4294967295

字元型    [signed] char     1  -128~+127

無符號字元型 unsigned char     1  0~255

單精度    float         4  3.4 x 10^(-38)~ 3.4 x 10^(+38)

雙精度    double        8  1.7 x 10^(-308)~ 1.7 x 10^(+308)

6.float和double 的區別

7.c語言基本型別宣告、初始化、大小及格式說明符總結

注意:0.格式說明符中是o(大寫為o)不是零,是l(大寫為l)不是1。

1.大小為標準的32位機器中的情況,不同機器的int和long大小可能會有差異。

2.還有一些新增的型別如_bool、_complex、_imaginary此次並未列出。

3.儘管同一種型別可以有這麼多種表示方式,但請盡量選擇表達最清楚的方式。

4.無符號型別盡量少用,因為c蛋疼的隱式型別轉換會讓你大吃一斤(比如:if(50u>-50))!!!

5.注意每種型別的取值範圍(溢位問題)及表示精度(什麼很大的數和很小的數相運算就是精度這個問題囉),就是根據資料占有的位個數來計算啦,整數要考慮符號位,浮點數要考慮浮點編碼(單精度1,8,23,雙精度1,11,52)。

6.考慮到**移植性的話,會用到inttypes.h和stdint.h的東西(什麼int32_t,long64_t就是這裡邊的東西啦)。

7.不管什麼聯合型別、列舉型別、使用者自定義的結構體型別或是帶了函式(過程)的抽象資料型別,甚至是所謂高階的物件導向的類,都是由這些基礎資料型別(元型別)構建的,所以嘛基礎一定要穩喲!

C語言基本型別詳解

剛剛看到乙個部落格上貼了這個,解決了我一直以來的疑問 int和long是不是一樣的?答案是 不確定。資料型別名稱 位元組數 別名 取值範圍 int signed,signed int 由作業系統決定,即與作業系統的 字長 有關 unsigned int unsigned 由作業系統決定,即與作業系統...

C 語言的基本型別

語言的資料型別主要由基本型別和復合型別組成。基本型別由整型,浮點型,字元型,布林型,空型別組成。其中,整型分為短整型,長整型。浮點型分為單精度浮點型,雙精度浮點型,長雙精度浮點型。復合型別由陣列型別,結構體型別,共同體型別,列舉型別,指標型別,類型別組成。陣列型別是用於儲存多個相同型別資料的集合。結...

c語言(一)資料型別

一 分類 1.a 標量型別 a1 算術型別 a1基本型別 1 整型 標準整數型別 擴充的整數型別 2 實型 浮點型 實數浮點型別 複數浮點型別 3 字元型 a2列舉型別 a2 指標型別 b 聚合型別 b1 陣列型別 b2 結構型別 c 聯合型別 d 函式型別 2.描述物件的資料型別可分為 物件型別 ...