C 基本資料型別

2021-09-20 01:16:37 字數 2066 閱讀 2565

由於考研的程式設計題很多都需要使用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

布林值字面量只有truefalse兩個。

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...