由於考研的程式設計題很多都需要使用c++語言來寫,所以雖然我不太喜歡c++這門語言,那麼還是得來看看。
需要提前說明,c++語言屬於比較低階的語言,所以沒有規定資料型別的具體大小,所有資料型別都可能由於機器不同而產生差異。標準只規定了這些資料型別的最小範圍,這一點我們在使用c++的時候也要注意。
整型資料型別和它們的大小總結在下表:
資料型別
含義最小單位
bool
布林型別
未定義char
字元型別
1位元組wchar_t
寬字元型別
2位元組char16_t
unicode字元型別
2位元組char32_t
unicode字元型別
4位元組short
短整型2位元組
int整型
2位元組long
長整型4位元組
long long
長整型8位元組
wchar_t、char16_t和char32_t 是擴充套件字元型別,第乙個用於寬字元,後兩者用於unicode字符集。
浮點型資料型別和它們的大小總結在下表:
資料型別
含義最小單位
float
單精度浮點型別
6位有效數字
double
雙精度型別
10位有效數字
long double
擴充套件精度型別
10位有效數字
在前面介紹的整型型別中,除了布林型別和擴充套件的字元型別之外,其他整型都可以是有符號的(signed)和無符號的(unsigned),它們的區別在於取值範圍。假如乙個有符號變數的取值範圍是-128到127,那麼相應的無符號數取值範圍就是0到255。預設情況下,型別是有符號型別,如果需要無符號型別需要顯式指定。
在進行運算的時候,有符號數會被轉換為無符號數進行運算,在這個過程中運算結果可能意外改變。所以為了穩妥起見,不要將有符號數和無符號數混合進行計算。
直接寫在程式中的值稱為字面量。由於資料型別有不同型別,所以字面量相應的也有不同的型別。
整型字面值可以有十進位制、八進位制和十六進製制的形式。預設的數字就是十進位制的,例如100;如果數字以0開頭,那麼就是八進位制的數,例如024;如果數字以0x或0x開頭,那麼就是16進製制的,例如0xcafe。
字尾含義
例子u或u
無符號數
1000u
l或llong型別
1000l,由於小寫可能引起混淆,所以最好使用大寫l
ll或ll
long long型別
1000ll,最好採用大寫形式
浮點數字面值可以有小數和科學計數法兩種形式 ,以下都是有效的浮點型字面值。
3.14 0.4 .4 1e10 0.
浮點型字面值的字尾情況見下表。
字尾含義
例子f或f
單精度浮點數
0.4f
l或llong double型別
10.00l,最好使用大寫l
無字尾雙精度浮點數
3.14
由單引號包括的單個字元是字元字面量,例如'c'
。
由雙引號包括的一串字元是字串字面量,例如"abc"
,需要注意在c++中,字串字面量會由編譯器隱式新增乙個\0
字元,以相容c語言。所以"abc"
這個字串的長度其實是4。這一點需要注意。
如果兩個字串字面量僅由空格分隔,那麼這兩個字串實際上是相連的。
char long_string = "this is a long line "
"and next line";
字元和字串字面量也有一些字首,總結如下。
字首含義例子u
char16_t型別
u'c'
uchar32_t型別
u'c'
l寬字元
l'c'
u8utf-8字串,僅能用於字串字面量
3.14
布林值字面量只有true
和false
兩個。
C 基本資料型別
型別識別符號 型別說明 長度 位元組 範圍備註 char字元型 1 128 127 27 27 1 unsigned char無符字元型 10 255 0 28 1 short int短整型 2 32768 32767 2 15 215 1 unsigned short int無符短整型 20 65...
C 基本資料型別
1.基本資料型別 程式中的變數都是先定義,後使用的。對變數的定義,可以包括三個方面 資料型別 儲存型別 作用域。所謂資料型別是按被定義變數的性質,表示形式,佔據儲存空間的多少,構造特點來劃分的。在c語言中,資料型別可分為 基本資料型別 構造資料型別,指標型別 空型別。基本型別 整型 字元型 實型 浮...
C 基本資料型別
型別別名位 允許的值 sbyte system.sbyte 8在 128 127 之間的整數 byte system.byte 8在 0 255 之間的整數 short system.int16 16在 32 768 32 767 之間的整數 ushort system.uint16 16在 0 6...