在C++編程中,內置了一些基本數據類型用來存儲一些不同類型的值。有字符類型 char 用以存儲字符,如a、b、c、d、-、=、1、2、4、3、>、?等;有整形 int 用以存儲整數類型,如1、2、3、4、5、11、111、2311等;有浮點類型 float,用以存儲浮點數 1.23、1.1、2.31、3.412等;有布爾類型用以存儲布爾值,如 Ture、False。
以上介紹并不完全的介紹完C++中的類型,還有許多并未列出,只列出了一部分的常用類型。
在C++中當內置的類型不能滿足開發需求時,也可以自定義,自己創建一個類型。
變量
變量指在編程中用來存儲值的容器。變量必須使用一個類型進行描述,表示該變量屬于什么類型。如有一個變量 a,在c++中整形是用int表示,那么使用整形對變量a進行描述則可以寫為:int a
。
整形
以上的簡介中,已知整形是使用int表示,在整形中還分為短整形、長整形以及整形。短整型、長整形、整形的區別是在于他們之間的存儲空間①。短整型是16位②,長整形與整形的存儲空間就是32為位。(編譯器版本不一樣準尋的標準不一致,當下我使用的是gcc 4.9.2)首先查看如何新建一個整形變量,并且賦予一個值:
注解: 一些概念了解即可,對于初學者并不是需要剛開始就能完全理解①內存空間指數據存儲位置的空間,抽象概念②位指的是二進制位,二進制10占2位置稱為2位,111占3個位置則稱為3位,16位則表示可比表示為 1111 1111 1111 1111 ,指最大可存儲數字
#include<iostream>
using namespace std;int main(){int a=10;return 0;
}
以上代碼中,整體框架跟上一節內容一致,主要查看amin入口內花括號中所寫的的代碼
int a=10;
以上代碼使用 int 表述 變量a,并且用個等于號 把 10這個整數值給予 a 變量。
描述一個變量只需要在這個變量前使用一個類型的關鍵字,隨后一個空格與變量名隔開,變量進行值的存儲需要一個等于號,等于號表示把等于號右邊的值 10 裝進a這個變量容器之中,隨后一個分號表示結束。這樣就完成了一個變量的值的創建于復制。
接下來可以使用cout 進行輸出變量,上一節中,使用cout 輸出字符是 count<<"HelloWorld";
,輸出字符串需要使用雙引號引起來,但是變量不需要,直接寫成如下代碼示例即可cout<<a;
:
#include<iostream>
using namespace std;int main(){int a=10;cout<<a;return 0;
}
結果如下:
注意,以上代碼是有邏輯順序的,先定義變量a,并且賦值后才可以輸出,如果沒有定義變量a,就直接輸出是不行的,以下是錯誤的方式:
#include<iostream>
using namespace std;int main(){cout<<a;int a=10;return 0;
}
結果會報錯:
剛剛說到,使用short int 短整型,存儲空間只能存16位,我們可以使用計算機自帶的計算機查看一下 1111 1111 1111 1111 轉換成十進制的數位多少,步驟如下:
打開計算器選擇查看,點擊程序員
輸入16個1,隨后點擊十進制查看值為多少
值為65535,這個時候把變量a所存儲的10更改為65535:
#include<iostream>
using namespace std;int main(){short int a=65535;cout<<a;return 0;
}
結果如下:
此時應該存儲的值為最大存儲值,應該裝滿了,不能網上裝了,這時我們把65535改為65536:
short int a=65536;
這時數據將會溢出結果如下:
現在我們把存儲數據再一次進行更改:
short int a=65538;
這時數據溢出的值多了2,這時運行代碼得到的值為:
因為數據溢出就像時鐘一樣,繞了一圈又從起始開始。
有無符號
在C++ 中,整數類型還分為有符號和無符號兩種,符號可以理解為符號- 與正號+ ,描述使用的關鍵字是 有符號 signed 與 無符號 unsigned。用來描述以上示例的整形可以寫為:
signed short int a=65538;
修改以上示例:
#include<iostream>
using namespace std;int main(){signed short int a=-65538;cout<<a;return 0;
}
運行結果如下:
當我們使用無符號進行對象的描述:
#include<iostream>
using namespace std;int main(){unsigned short int a=-65538;cout<<a;return 0;
}
結果如下:
由于不接受負數帶符號的顯示,65535為短整型,65536為0,那么就會顯示出65534。由于編譯器遵循的標準不一致會出現不同的情況,按照讀者自己 的演示結果為標準。整型相關內容不再繼續詳講,有機會將會在此篇列出不同標準執行的不同結果。示例想讓讀者明白的是存儲空間有大小限制,需要在開發時注意這個會觸發bug的知識點。
字符
相信有了以上的知識,在這一節內容中,大家將會很快的學會字符變量的定義。
字符類型修飾符為 char,后面接變量名,寫為 char a,隨后等于號,并且用單引號表示字符 char a='c';
,完整示例如下:
#include<iostream>
using namespace std;int main(){char a='c';cout<<a;return 0;
}
結果如下:
在此注意,單個的符號數字才叫字符,組合成的為字符串。如果你寫成了多個字符組合,那么只取最后一個字符為字符變量的值,并且字符變量值只能用單引號表示(一定是英文輸入法的標點符號):
#include<iostream>
using namespace std;int main(){char a='ce2112d';cout<<a;return 0;
}
結果如下:
浮點
浮點類型使用float關鍵字進行修飾,float a=1.41表示定義了一個浮點類型的變量a,值為1.41:
#include<iostream>
using namespace std;int main(){float a=1.41;cout<<a;return 0;
}
結果如下:
浮點數分為單精度 float 與 雙精度浮點double,區別在于精度,在此并不做過多講解。
c++教程持續更新中,歡迎點贊、收藏、關注。