在本教程中,我們將借助示例學(xué)習(xí)C ++編程中的基本數(shù)據(jù)類(lèi)型,例如int,float,char等。
在C ++中,數(shù)據(jù)類(lèi)型是變量的聲明。這確定了與變量關(guān)聯(lián)的數(shù)據(jù)的類(lèi)型和大小。例如,
int age = 13;
這里age是type的變量int。這意味著該變量只能存儲(chǔ)2或4個(gè)字節(jié)的整數(shù)。
下表顯示了基本數(shù)據(jù)類(lèi)型,其含義和大?。ㄒ宰止?jié)為單位):
類(lèi)型 | 關(guān)鍵字 | 大小 |
---|---|---|
布爾型 | bool | 1 字節(jié) |
字符型 | char | 1 字節(jié) |
整型 | int | 2 字節(jié)或 4字節(jié) |
浮點(diǎn)型 | float | 4 字節(jié) |
雙浮點(diǎn)型 | double | 8 字節(jié) |
無(wú)類(lèi)型 | void | 0 字節(jié) |
寬字符型 | wchar_t | 2 字節(jié) |
現(xiàn)在,讓我們更詳細(xì)地討論這些基本數(shù)據(jù)類(lèi)型。
int關(guān)鍵字用來(lái)表示整數(shù)。
它的大小通常為4個(gè)字節(jié)。意思是,它可以存儲(chǔ)從-2147483648 到 214748647的值。
例如,
int salary = 85000;
float和double用于存儲(chǔ)浮點(diǎn)數(shù)(小數(shù)和指數(shù))。
float的大小是4字節(jié),double的大小是8字節(jié)。因此,double的精度是float的兩倍。要了解更多,請(qǐng)參考c++ float和double。
例如,
float area = 64.74; double volume = 134.64534;
如上所述,這兩種數(shù)據(jù)類(lèi)型也用于指數(shù)。例如,
double distance = 45E12 // 45E12 等于 45*10^12
關(guān)鍵字char用于字符。
它的大小是1個(gè)字節(jié)。
C ++中的字符用單引號(hào)' '引起來(lái)。
例如,
char test = 'h';
注意:在C ++中,整數(shù)值存儲(chǔ)在char變量中,而不是字符本身。
寬字符wchar_t類(lèi)似于char數(shù)據(jù)類(lèi)型,不同之處在于它的大小是2個(gè)字節(jié)而不是1個(gè)字節(jié)。
它用于表示比char單個(gè)字符需要更多內(nèi)存來(lái)表示它們的字符。
例如,
wchar_t test = L'?' // 存儲(chǔ)希伯來(lái)語(yǔ)字符
注意引號(hào)前的字母L。
注意:在C ++ 11中還引入了另外兩個(gè)固定大小的字符類(lèi)型char16_t和char32_t。
bool數(shù)據(jù)類(lèi)型有兩個(gè)可能的值:true或false。
布爾用于條件語(yǔ)句和循環(huán)(我們將在后面的章節(jié)中學(xué)習(xí))。
例如,
bool cond = false;
void關(guān)鍵字表示不存在數(shù)據(jù)。這意味著“沒(méi)有”或“沒(méi)有值”。
當(dāng)我們學(xué)習(xí)函數(shù)和指針時(shí),會(huì)使用到void。
注意:我們不能聲明void類(lèi)型的變量。
我們可以使用類(lèi)型修飾符來(lái)進(jìn)一步修改一些基本數(shù)據(jù)類(lèi)型。C ++中有4種類(lèi)型修飾符。他們是:
signed
unsigned
short
long
我們可以使用上述修飾符修改以下數(shù)據(jù)類(lèi)型:
int
double
char
類(lèi)型 | 位 | 范圍 |
---|---|---|
char | 1 個(gè)字節(jié) | -128 到 127 或者 0 到 255 |
unsigned char | 1 個(gè)字節(jié) | 0 到 255 |
signed char | 1 個(gè)字節(jié) | -128 到 127 |
int | 4 個(gè)字節(jié) | -2147483648 到 2147483647 |
unsigned int | 4 個(gè)字節(jié) | 0 到 4294967295 |
signed int | 4 個(gè)字節(jié) | -2147483648 到 2147483647 |
short int | 2 個(gè)字節(jié) | -32768 到 32767 |
unsigned short int | 2 個(gè)字節(jié) | 0 到 65,535 |
signed short int | 2 個(gè)字節(jié) | -32768 到 32767 |
long int | 4 個(gè)字節(jié) | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
signed long int | 8 個(gè)字節(jié) | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long int | 8 個(gè)字節(jié) | 0 到 18,446,744,073,709,551,615 |
float | 4 個(gè)字節(jié) | 精度型占4個(gè)字節(jié)(32位)內(nèi)存空間,+/- 3.4e +/- 38 (~7 個(gè)數(shù)字) |
double | 8 個(gè)字節(jié) | 雙精度型占8 個(gè)字節(jié)(64位)內(nèi)存空間,+/- 1.7e +/- 308 (~15 個(gè)數(shù)字) |
long double | 16 個(gè)字節(jié) | 長(zhǎng)雙精度型 16 個(gè)字節(jié)(128位)內(nèi)存空間,可提供18-19位有效數(shù)字。 |
wchar_t | 2 或 4 個(gè)字節(jié) | 1 個(gè)寬字符 |
讓我們看一些實(shí)例。
long b = 4523232; long int c = 2345342; long double d = 233434.56343; short d = 3434233; // 錯(cuò)誤! 超出范圍 unsigned int a = -5; //錯(cuò)誤! 只能存儲(chǔ)正數(shù)或0
從基本數(shù)據(jù)類(lèi)型派生的數(shù)據(jù)類(lèi)型是派生類(lèi)型。例如:數(shù)組,指針,函數(shù)類(lèi)型,結(jié)構(gòu)等。
我們將在后面的教程中了解這些派生的數(shù)據(jù)類(lèi)型。