C++的數(shù)據(jù)類型你真的了解嗎
前言
C++不像python,創(chuàng)建變量的時候必須指定類型,這樣才能給變量分配一個合適的內(nèi)存空間。
1 整型
作用:整型變量表示的是整型類型的數(shù)據(jù)
整型的數(shù)據(jù)類型有4種(最常用的是int),其區(qū)別在于所占內(nèi)存空間不同:
#include<iostream> using namespace std; int main() { //整型 //1.短整型 short num1 = 32768; //2.整型 int num2 = 10; //3.長整型 long num3 = 10; //4.長長整型 long long num4 = 10; cout << "num1=" << num1 << endl; cout << "num2=" << num2 << endl; cout << "num3=" << num3 << endl; cout << "num4=" << num4 << endl; system("pause"); return 0; }
因?yàn)槎陶腿≈捣秶鸀?32768-32767,所以注意數(shù)值溢出,當(dāng)數(shù)值溢出時,取補(bǔ)碼。
當(dāng)如下定義時:
short num1 = 32768
輸出為
num1=-32768
2 sizeof關(guān)鍵字
作用:利用siezeof關(guān)鍵字可以統(tǒng)計數(shù)據(jù)類型所占內(nèi)存大小語法:
sizeof{數(shù)據(jù)類型/變量}
#include<iostream> using namespace std; int main() { //利用sizeof求出數(shù)據(jù)類型占用大小 short num1 = 10; int num2 = 10; long num3 = 10; long long num4 = 10; cout << "short占用內(nèi)存空間為:" << sizeof(short) << endl; cout << "num1占用內(nèi)存空間為:" << sizeof(num1) << endl; cout << "int占用內(nèi)存空間為:" << sizeof(int) << endl; cout << "num2占用內(nèi)存空間為:" << sizeof(num2) << endl; cout << "long占用內(nèi)存空間為:" << sizeof(long) << endl; cout << "num3占用內(nèi)存空間為:" << sizeof(num3) << endl; cout << "long long占用內(nèi)存空間為:" << sizeof(long long) << endl; cout << "num4占用內(nèi)存空間為:" << sizeof(num4) << endl; system("pause"); return 0; }
3 實(shí)型(浮點(diǎn)型)
作用:用于表示小數(shù)
浮點(diǎn)型變量分為兩種:
- 單精度float, 雙精度double
- 區(qū)別在于表示的有效數(shù)字范圍不同。
在使用時,使用方法通常為
float f1 = 3.14f
如果不加f,默認(rèn)是double型變量:
#include<iostream> using namespace std; int main() { //默認(rèn)情況下,輸出一個小數(shù),會顯示最多6位有效數(shù)字 //1.單精度 float f1 = 3.1415926f; cout << "f1=" << f1 << endl; //2.雙精度 double d1 = 3.1415926; cout << "d1=" << d1 << endl; //占用內(nèi)存查看 cout << "float占用內(nèi)存空間為:" << sizeof(float) << endl; cout << "double占用內(nèi)存空間為:" << sizeof(double) << endl; //科學(xué)計數(shù)法 float f2 = 3e2f; cout << "f2=" << f2 << endl; float f3 = 3e-2f; cout << "f3=" << f3 << endl; system("pause"); return 0; }
4 字符型
作用:字符變量用于顯示單個字符
語法:char ch=‘a’;
1.C和C++中字符型變量只占用1個字節(jié)。
2.字符型變量并不是把字符本身放到內(nèi)存中存儲,而是將對應(yīng)的ASCII編碼放入到存儲單元。
注:用單引號不要用雙引號;單引號內(nèi)只能有一個字符,不可以是字符串。
#include<iostream> using namespace std; int main() { //字符型變量創(chuàng)建方式 char ch = 'a'; cout << ch << endl; //字符型變量所占內(nèi)存大小 cout << "char字符型變量所占內(nèi)存:" << sizeof(char) << endl; //字符型變量常見錯誤 // char ch2="b"; // char ch2='abc'; //字符型變量對應(yīng)ASCII編碼 cout <<"字符A的ASCII碼值為:"<<(int)'A' << endl; cout << "變量ch的ASCII碼值為:" << (int)ch << endl; system("pause"); return 0; }
5 轉(zhuǎn)義字符
作用:用于表示一些不能顯示出來的ASCII字符
常用的就下面這些,其余可自行百度
語法:使用cout時直接加在字符串中。
#include<iostream> using namespace std; int main() { //換行符 \n cout << "hello world\n"<<endl; //反斜杠 \ cout << "\\" << endl; /*水平制表符 \t 使用空格補(bǔ)齊位置,使得所占位置為8的倍數(shù) 輸入正好為8個時,輸出會多8個空格 */ cout << "aaaa\ttheworld" << endl; cout << "aaa\ttheworld" << endl; cout << "aaaaaaaa\ttheworld" << endl; cout << "aaaaaaaaa\ttheworld" << endl; cout << "aaaaaaaaaaa\ttheworld" << endl; system("pause"); return 0; }
6 字符串型
作用:用于表示一串字符。
兩種風(fēng)格
1.C風(fēng)格的字符串:char 變量名[ ] = “字符串值”; ——注意加[ ],不加[ ]的時候默認(rèn)的是字符。
2.C++風(fēng)格字符串:string 變量名 = “字符串值”;——注意加頭文件#include
#include<iostream>#include<string>using namespace std;int main(){//1.C風(fēng)格字符串,注意加中括號[]char str[] = "hello world";cout << str << endl;//2.C++風(fēng)格字符串,注意加頭文件#include<string>string str2 = "hello world";cout << str2 << endl;system("pause");return 0;}#include<iostream> #include<string> using namespace std; int main() { //1.C風(fēng)格字符串,注意加中括號[] char str[] = "hello world"; cout << str << endl; //2.C++風(fēng)格字符串,注意加頭文件#include<string> string str2 = "hello world"; cout << str2 << endl; system("pause"); return 0; }
7 布爾類型 bool
作用:布爾數(shù)據(jù)類型代表真或假的值
bool類型只有兩個值:
1.true 真
2.false 假
bool類型占一個字節(jié)
#include<iostream>#include<string>using namespace std;int main(){//1.創(chuàng)建bool數(shù)據(jù)類型bool flag = true;cout << flag << endl;flag = false;cout << flag << endl;//本質(zhì)是1就是真,0就是假。//2.查看bool類型所占內(nèi)存空間cout <<"bool類型所占內(nèi)存空間為:" << sizeof(bool) << endl;system("pause");return 0;}#include<iostream> #include<string> using namespace std; int main() { //1.創(chuàng)建bool數(shù)據(jù)類型 bool flag = true; cout << flag << endl; flag = false; cout << flag << endl; //本質(zhì)是1就是真,0就是假。 //2.查看bool類型所占內(nèi)存空間 cout <<"bool類型所占內(nèi)存空間為:" << sizeof(bool) << endl; system("pause"); return 0; }
8 數(shù)據(jù)的輸入
作用:從鍵盤獲取數(shù)據(jù)
關(guān)鍵字:cin
語法:
cin >> 變量
#include<iostream> #include<string> using namespace std; int main() { //1.整型 int a = 0; //盡量初始化,如果不初始化在使用或者打印它時都會報錯。 cout << "請給整型變量a賦值:" << endl; cin >> a; cout << "整型變量a=" << a << endl; //2.浮點(diǎn)型 float f = 0.f; cout << "請給浮點(diǎn)型變量f賦值:" << endl; cin >> f; cout << "浮點(diǎn)型變量f=" << f << endl; //3.字符型 char ch = ' '; cout << "請給字符型變量ch賦值:" << endl; cin >> ch; cout << "字符型變量f=" << ch << endl; //4.字符串型 string str = "abc"; cout << "請給字符串型變量str賦值:" << endl; cin >> str; cout << "字符串型變量str=" << str << endl; //5.布爾型,用數(shù)字表示真假,只要輸入不是0,那么就是1 bool flag = false; cout << "請給布爾型變量flag賦值:" << endl; cin >> flag; cout << "布爾型變量flag=" << flag << endl; system("pause"); return 0; }
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++實(shí)現(xiàn)LeetCode165.版本比較)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode165.版本比較),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C++?棧和隊列的實(shí)現(xiàn)超詳細(xì)解析
棧和隊列,嚴(yán)格意義上來說,也屬于線性表,因?yàn)樗鼈円捕加糜诖鎯壿嬯P(guān)系為?"一對一"?的數(shù)據(jù),但由于它們比較特殊,因此將其單獨(dú)作為一章,做重點(diǎn)講解2022-03-03C語言putenv()函數(shù)和getenv()函數(shù)的使用詳解
這篇文章主要介紹了C語言putenv()函數(shù)和getenv()函數(shù)的使用詳解,用來進(jìn)行環(huán)境變量的相關(guān)操作,需要的朋友可以參考下2015-09-09C++高并發(fā)內(nèi)存池的實(shí)現(xiàn)
本文主要介紹了C++高并發(fā)內(nèi)存池的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Qt?Creator配置opencv環(huán)境的全過程記錄
最近在PC端QT下配置opencv,想著以后應(yīng)該會用到,索性記錄下,這篇文章主要給大家介紹了關(guān)于Qt?Creator配置opencv環(huán)境的相關(guān)資料,需要的朋友可以參考下2022-05-05