C 的基本型別

2022-02-06 12:46:46 字數 3804 閱讀 6560

在數學中,整數和分數統稱為有理數,無限不迴圈小數和開根開不盡的數統稱為無理數,而有理數和無理數統稱為實數。

在計算機中,處理的物件是資料。為了描述不同的物件而需要不同的資料,因此,c++語言提供了豐富的資料型別。

c++的資料型別主要包括基本資料型別和構造資料型別。其中基資料本型別包括整型、浮點型、字元型、布林型、空型別;構造資料型別(也稱為自定義型別或復合資料型別)包括列舉型別、陣列型別、結構體型別、共同體型別、指標型別、類型別。

對於不同型別的資料,其區別主要有如下:

1)所表示的物件不同。

2)宣告的方式不同。

3)所佔儲存空間不同。

型別型別名

佔位元組數

數值範圍

整型int(signed int)

4-2147483648~+2147483647(-231~231-1)

無符號整型

unsigned (unsigned int)

40~4294967295(0~232-1)

短整型short(signed short)

2-32768~+32767(-215~215-1)

無符號短整型

unsigned short

20~65535(0~216-1)

長整型long (signed long)  

4-2147483648~+2147483647(-231~231-1)

無符號長整型

unsigned long

40~4294967295(0~232-1)

雙長型long long  

8-9223372036854775808~9223372036854775807(-263~263-1)

字元型char

1-128~+127(-27~27-1)

無符號字元型

unsigned char

10~255(0~28-1)

單精度型

float

4-3.4×1038~3.4×1038

雙精度浮點型

double

8-1.7×10308~1.7×10308

長雙精度浮點型

long double

8-1.7×10308~1.7×10308

布林型bool

1空型別

void 0{}

對於各種數值型資料型別來說,由於它們占用的儲存單元長度不同,且又帶有符號位和無符號位之分,因此,各種資料型別所能表示的範圍不同。

每種資料型別均會佔據固定長度的位元組,並決定了它所能表示數值範圍。  

整型常量表示方法有十進位制形式、八進位制形式(以數字0開頭,由0~7之間的數字組成的資料)、十六進製制形式(以0x或0x開頭,由數字0~9和字母a~f組成的資料,其中字母不區分大小寫)。

[10]十進位制 = [012]八進位制 =[0x0a]十六進製制
有符號的整數在計算機內是以二進位制補碼的形式儲存的,儲存單元的最高位用來表示數值的符號位,「0」表示正,「1」表示負。無符號整數只能是零和正數,其全部二進位制均表示數值本身。

有符號短整數臨界值如下:

最小負數:    -32768 = [1000000000000000]

最大負數: -1 = [1111111111111111]

最小數: 0 = [0000000000000000]

最大正數: 32767 = [0111111111111111]

無符號短整數臨界值如下:

最小數: 0 = [0000000000000000]

最大數:65535 = [1111111111111111]

乙個數在計算機中的二進位制表示形式,  叫做這個數的機器數。機器數是帶符號的,在計算機用乙個數的最高位存放符號, 正數為0, 負數為1。

[1]二進位制 = 00000001

[-1]二進位制 = 10000001

原碼是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值。

[+1]原碼 = 00000001

[-1]原碼 = 10000001

反碼是正數的反碼是其本身,和原碼一樣。負數的反碼是在原碼的基礎上,符號位不變,其餘位取反。

補碼是正數的補碼是其本身,負數的補碼是在其原碼的基礎上,符號位不變,各位取反,再加1。

[+1] = [00000001]原碼 = [00000001]補碼

[-1] = [10000001]原碼 = [11111110]補碼

浮點型即實型,是我們平時常用的小數,分為單精度浮點型和雙精度浮點型。

實型數有兩種表示形式:小數表示法和指數表示法。

實型的小數表示法,在使用時,實型常量分為整數部分和小數部分,其中的一部分可在實際使用時忽略,但整數和小數部分不能同時省略。

實型的指數表示法,也稱為科學記數法,指數部分以e或e開始,而且必須是整數。若浮點型採用指數表示,則e或e的兩邊都至少要有一位數。

一般情況下,單精度浮點型只能顯示6位有效數字,而雙精度浮點型能顯示15位有效數字。

浮點型在計算機中同樣也必須要用二進位制表示,分兩部分:整數和小數部分。

布林型資料的取值只能是true(真)或false(假)。

字元型是用一對單引號括起來的乙個字元。

字元型資料在記憶體中是以ascii碼的形式儲存的,並分為可見字元型和不可見字元型。ascii碼有128個字元,其中ascii值從0~31和127為不可見字元,即控制字元。

在c++語言中,允許用一種特殊形式的字元,即以「\」打頭的格式字元,稱為轉義字元。常見的轉義字元如下:

字元形式

整數值代表符號

字元形式

整數值代表符號

\a0x07

響鈴\"

0x22

雙引號\b

0x08

退格\'

0x27

單引號\t

0x09

水平製表符

\?0x3f

問號\n

0x0a

換行\\

0x5c

反斜槓字元

\v0x0b

垂直製表符

\ddd

0ddd

1~3位八進位制數

\r0x0d

回車\xhh

0xhh

1~2位十六進製制

對於不同型別的資料,可以執行的操作不同。

1 #include 2

3using

namespace

std;45

int main(void)6

執行結果如下:

任何一種資料型別都有乙個確定的最大值和最小值。若該型別數值的變化超出了這個範圍,即這種現象稱為溢位。

列舉是一種自定義資料型別,是若干具有名字的整型常量的集合,其中具有這種資料型別的量稱為列舉量。

陣列是一種自定義資料型別,是具有相同資料型別或相同屬性的若干資料的有序集合。

結構體型別是用於儲存一系列具有相同型別或不同型別的資料構成的資料集合。 

共同體是一種自定義資料型別,將不同型別的資料存放到同一段記憶體單元中,即不同型別的資料共享同一位址開始的記憶體空間,同時,所佔的記憶體長度一般等於其最大成員記憶體長度。 

指標型別是由使用者自定義不同型別的指標的集合。

類型別是由使用者自定義的具有相同屬性和行為的一組物件的集合。

在編寫程式時,首先確定某個變數的特點和範圍,然後可以據此確定其資料型別。最後,通過實際問題,定義相關的資料型別的量,進而處理實際生活中碰到的問題。

c 基本型別

資料型別分為兩種 值型別和引用型別,這兩種型別的物件在記憶體的儲存方式不同。定義 引用型別 表示操作的物件是同乙個,即當傳乙個引數給另乙個方法時,在另乙個方法中改變這個變數的值,那麼呼叫這個方法時傳入的值也將發生變化。值型別 表示複製乙個當前變數傳遞給方法,在方法中改變這個值時,最初生命的變數值不會...

C 基本型別

const限定符 浮點數sizeof 部分問題總結 浮點型 float,double,long double 根據寬度width來排序 char short int long long long 寬度,表示範圍 很多系統直接用最小長度,short為16位,long為32位,但int可以有很多選擇 1...

C 語言的基本型別

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