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;
}
因為短整型取值范圍為-32768-32767,所以注意數(shù)值溢出,當(dāng)數(shù)值溢出時,取補碼。
當(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ù)
浮點型變量分為兩種:
- 單精度float, 雙精度double
- 區(qū)別在于表示的有效數(shù)字范圍不同。

在使用時,使用方法通常為
float f1 = 3.14f
如果不加f,默認是double型變量:


#include<iostream>
using namespace std;
int main()
{ //默認情況下,輸出一個小數(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
使用空格補齊位置,使得所占位置為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 變量名[ ] = “字符串值”; ——注意加[ ],不加[ ]的時候默認的是字符。
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.浮點型
float f = 0.f;
cout << "請給浮點型變量f賦值:" << endl;
cin >> f;
cout << "浮點型變量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語言putenv()函數(shù)和getenv()函數(shù)的使用詳解
這篇文章主要介紹了C語言putenv()函數(shù)和getenv()函數(shù)的使用詳解,用來進行環(huán)境變量的相關(guān)操作,需要的朋友可以參考下2015-09-09
Qt?Creator配置opencv環(huán)境的全過程記錄
最近在PC端QT下配置opencv,想著以后應(yīng)該會用到,索性記錄下,這篇文章主要給大家介紹了關(guān)于Qt?Creator配置opencv環(huán)境的相關(guān)資料,需要的朋友可以參考下2022-05-05

