c++規定在建立乙個變數或者產量時,必須要指定相應的資料型別,否則無法給變數分配記憶體空間
資料型別的存在意義:給變數分配合適的記憶體空間
作用:整型變數表示的是整數型別的資料
在記憶體中的儲存方式如下圖所示:
c++中能夠表示整型的型別有以下幾種方式,區別在於所佔記憶體空間不同:
資料型別
占用空間
取值範圍
short(短整型)
2個位元組
(-215~215-1)
int(整型)
4個位元組
(-231~231-1)
long(長整型)
windows為4位元組,linux為4位元組(32位),8位元組(64位)
(-231~231-1)
long long(長長整型)
8個位元組
(-263~263-1)
佔的空間大小不同,導致取值範圍也不一樣,占用的空間越大,能表示的數字量的範圍越廣
int main()
作用:利用sizeof
關鍵字可以統計資料型別所佔記憶體大小
語法:sizeof(資料型別/變數)
int main()
整型大小比較:short < int <= long <= long long
作用:用於表示小數
浮點型變數分為兩種
兩者的區別在於表示的有效數字範圍不同
此處與整型數字不太一樣,浮點數的有效數字還包括小數點後面幾位單精度浮點數在定義的時候,會在數字後面加上而整型的有效範圍則不包括小數點之後的內容
浮點數的有效數字不僅指小數點後面的數字,小數點前面的整數部分也屬於有效數字
比如:3.14,有3位有效數字
f
float f1 = 3.14f;
因為若不指明是float型別的話,編譯器預設認為它是double型別,如下圖所示:
將這個數存到f1
時,會將其進行轉換,從double型別轉換為float型別
輸出時,缺省會輸出6位有效數字
表示小數還有一種方式:科學計數法
科學計數法,e
後面如果是正數,則代表 10,如果是負數,則代表 0.1
int main()
作用:用於顯示單個字元
語法:char ch = 'a';
注意1:在顯示字元型變數時,用單引號將字元括起來,不要用雙引號注意2:單引號內只能有乙個字元,不可以是字串
int main()
ascii碼大致分為兩部分:
作用:用於表示一些不能顯示出來的ascii字元,也就是用於表示一些特殊的字元,就不用記這些特殊字元的ascii碼了,直接用轉義字元表示這種特殊字元
常用的轉義字元:\n \\ \t
所有的轉義字元都是由兩個字元拼接成乙個字元的,且第乙個字元都是\
\n
換行(lf),將當前位置移到下一行開頭
\r
回車(cr),將當前位置移到本行開頭
\t
水平製表(ht),跳到下乙個tab位置
\\
代表乙個反斜線字元 「\」
int main()
水平製表符會根據前面的字元個數來判斷輸出多少個空格,預設共佔8個位置
若前面的字元已經有8個了,則在這些字元後面重新找幾個字元結合空格去佔8個位置
作用:用於表示一串字元
兩種風格
c風格字串:char 變數名 = "字串值";
一些字元組合到一塊,就成了字串,示例:
int main()
注意:c風格的字串要用 雙引號 括起來c++風格字串:
string 變數名 = "字串值";
int main()
string型別使用前需要包含標頭檔案#include
作用:布林資料型別代表 真 或 假 的值
bool型別只有兩個值:
bool型別佔1個位元組大小
int main()
作用:用於從鍵盤獲取資料
關鍵字:cin
語法:cin >> 變數
示例:
int main()
注釋快捷鍵:先按ctrl
+k
然後按ctrl
+c
,或者按住ctrl
後依次按k
和c
解注釋快捷鍵:先按ctrl
+k
然後按ctrl
+u
,或者按住ctrl
後依次按k
和u
c 資料型別基礎
1.值型別 值型別包括簡單值型別和複合型型別。簡單值型別可以再細分為整數型別 字元型別 實數型別和布林型別 而復合型別則是簡單型別的復合,包括結構 struct 型別和列舉 enum 型別。整數型別 資料型別 說明 取值範圍 對應於system程式集中的結構 sbyte 有符號8位整數 128 12...
C 資料型別基礎
1.值型別 值型別包括簡單值型別和複合型型別。簡單值型別可以再細分為整數型別 字元型別 實數型別和布林型別 而復合型別則是簡單型別的復合,包括結構 struct 型別和列舉 enum 型別。整數型別 資料型別 說明 取值範圍 對應於 system 程式集中的結構 sbyte 有符號8位整數 128 ...
C 基礎 資料型別
記憶體空間有 棧 和 堆 值型別儲存在棧中,儲存的值就是變數本身包含的值,所以訪問速度比較快。引用型別在棧中儲存的只是乙個引用位址,其物件的真實資料則儲存在託管的堆上。訪問效率較慢。棧中存放物件引用,堆中存放物件資料。值型別 using system using system.collections...