C 基礎 資料型別

2022-09-21 00:39:08 字數 3062 閱讀 3640

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後依次按kc解注釋快捷鍵:先按ctrl+k然後按ctrl+u,或者按住ctrl後依次按ku

c 資料型別基礎

1.值型別 值型別包括簡單值型別和複合型型別。簡單值型別可以再細分為整數型別 字元型別 實數型別和布林型別 而復合型別則是簡單型別的復合,包括結構 struct 型別和列舉 enum 型別。整數型別 資料型別 說明 取值範圍 對應於system程式集中的結構 sbyte 有符號8位整數 128 12...

C 資料型別基礎

1.值型別 值型別包括簡單值型別和複合型型別。簡單值型別可以再細分為整數型別 字元型別 實數型別和布林型別 而復合型別則是簡單型別的復合,包括結構 struct 型別和列舉 enum 型別。整數型別 資料型別 說明 取值範圍 對應於 system 程式集中的結構 sbyte 有符號8位整數 128 ...

C 基礎 資料型別

記憶體空間有 棧 和 堆 值型別儲存在棧中,儲存的值就是變數本身包含的值,所以訪問速度比較快。引用型別在棧中儲存的只是乙個引用位址,其物件的真實資料則儲存在託管的堆上。訪問效率較慢。棧中存放物件引用,堆中存放物件資料。值型別 using system using system.collections...