c 基礎知識 基本內建型別

2021-10-02 15:44:26 字數 2241 閱讀 5925

看完c++ primer 5 edit,我打算寫幾篇關於c++基礎知識的總結,一是為了方便自己回顧總結這些基礎知識,再是想跟初學c++的朋友們分享自己學習過程中理解的東西,走過的彎路,踩過的坑。c++ primer這本書,很厚,有七八百頁的樣子,目前正在讀第二遍,我試著把這些東西總結一下,寫成部落格。我覺得這本書歸納的知識很系統,很全面,特別是現在使用比較廣泛的c++11的一些特性,因為內容比較多,所以要讀完還是需要一些時間的(可能因為c++學習起來是確實比較難),所以我打算歸納總結書上的知識,每個章節有乙個思維導圖,來加深記憶。學習是乙個掌握方法、持之以恆必見效果的過程,在此勉勵還在學習c/c++的朋友們,一起加油進步吧

c++ 基礎知識首先是繞不開關於資料的知識的,因為程式的本質:

程式 = 演算法+資料結構

c++定義了一套包括算術型別(arithmetic)和空型別(void)在內的基本資料型別。算術型別包括字元,整型數,布林值和浮點數。空型別不對應具體的值,適用於一些特殊的場合,例如函式不返回任何值時使用空型別作為返回值型別

上乙個思維導圖會有乙個比較全面的認識

算術型別可以分兩大類:整型(包括字元和布林型別在內)和浮點型

算術型別的資料所佔的位元數在不同機器上是有差異的,c++標準規定了一些算術型別尺寸的最小值。但是一般都是編譯器來賦予這些型別更大的尺寸,因為同一型別在不同的及其和編譯器下佔的位元數不同,因此表示的資料範圍也不同,但是無論編譯器如何給型別定義大小,都是有乙個最小的尺寸,例如世上編譯器林林總總,但作為乙個規範,它們都會保證char、signed char和unsigned、char的sizeof值為1,畢竟char是我們程式設計能用的最小資料型別。大家可以去了解一下算術型別的最小尺寸。

下面是vs2019編譯器為每個型別分配的記憶體位元組數

sizeof操作符返回乙個物件或者型別所佔的記憶體位元組數,想要了解sizeof運算子可以參考c語言 sizeof詳解

布林型(bool)

布林型的取值為真(true)和假(false)

字元型基本字元型別為char,它的大小為乙個機器位元組,字元也有符號的區別,其他字元型別用於存放擴充套件字符集,如wchar_t、char16_t、char32_t。

整型用於表示不同尺寸的整數,出去布林型和擴充套件的字元型外,其他整型分為帶符號和無符號的兩種(包括基本的字元型char),帶符號的整數可以表示正負數,0,無符號表示非負數。int、short、long、long long都是帶符號的,在前面加unsigned修飾為無符號型別,unsigned int 可以簡寫為unsigned。

寫for迴圈while迴圈等判斷條件時,一定要注意無符號型別還是有符號型別,不然有時會陷入死迴圈

unsigned n =-1

;//這樣定義是可以的,

//這樣又回到了unsigned所表達的最大值了

//n 永遠不會有小於0的數

for(

unsigned i =

10;i>=

0;i--

)//這是個死迴圈

在思維導圖上,我們看到字元型別中char和signed char是有區別的,char可以表現得像無符號字元(unsigned char)也可以表現得像帶符號字元型(signed char),取決於編譯器。

char i =-1

;//if(i >0)

cout <<

"char 表現為無符號型別"

<

else

cout <<

"char 表現為帶符號型別"

<< endl;

return

0;

浮點型

浮點型可以表示單精度,雙精度和擴充套件精度值。通常,float以乙個字(32位元,4位元組)來表示,double用兩個字(64位元)表示。long double用3~4個字來表示,一般來說,float和double方別有7和16個有效位,型別long double常常被用於有特殊浮點要求的硬體,它的具體實現不同,精度也各不同。

如何選擇類

c 基礎二(基本知識 基本內建 型別)

c 是靜態型別語言,在編譯時執行型別檢查。所以程式在使用某個名字之前,必須先告知編譯器該名字的型別。型別是所有程式的基礎。型別告訴我們資料代表什麼意思以及可以對資料執行哪些操作。c 基本內建 型別 整形 整數,字元,布林值 1.字元型別 char 8位 能夠儲存機器基本字符集中任何字元相應的數值。w...

C語言基礎知識整理3基本型別

資料存放 正數原碼,負數補碼 原碼取反加一 sizeof 是測量型別或變數長度的運算子 sizeof a 測定位元組數 計算機對記憶體的管理是以字為單位,四個位元組為乙個字。因此sizeof得出的是四的倍數 資料常見的儲存空間和值的範圍 型別位元組數 取值範圍 signed int 基本整型 2 3...

C 基礎知識 變數和基本型別

1 編寫程式,在標準輸出上列印hello world include int main std cout this is ostream std endl 向螢幕輸出 this is ostream int v1 0,v2 0 std cin v1 v2 獲取當前視窗輸入的兩個整形資料,並賦值給v1...