C 學習筆記 基本資料型別

2021-08-04 22:13:32 字數 2066 閱讀 5776

由於考研的程式設計題很多都需要使用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 學習筆記一 (基本資料型別)

1.當已知數值不可能為負時,盡量採用unsigned char 2.若是表示byte 位元組 型別,都用unsigned char 在進行轉化為int,不會進行位擴充套件 3.有些機器上用long型別進行計算的消耗遠遠大於int,所以能用int盡量用int,更大數字用long long 4.表示浮點...

C 學習筆記之基本資料型別

1 型別推斷 使用關鍵字 var修飾 2 常量 使用關鍵字 const 修飾 3 整型 3.1 sbyte 8位有符號整數 3.2 byte 8位無符號整數 3.3 short 16位有符號整數 3.4 ushort 16位無符號整數 3.5 int 32位有符號整數 3.6 uint 32位無符號...

C 學習 基本資料型別

整型,字元型,布林型,浮點型 c c 標準只定義了最低的位數,而不是必需的固定位數 bool 布林型 char 字元型 8位 wchar t 寬字元型 16位 short 短整型 16位 int 整形 16位 long 長整形 32位 float 單精度浮點型 6為有效數字 double 雙精度浮點...