手把手帶你學(xué)習(xí)C++的數(shù)據(jù)類型
數(shù)據(jù)類型
C++規(guī)定在創(chuàng)建一個(gè)變量或者常量時(shí),必須要指定相應(yīng)的數(shù)據(jù)類型,否則無(wú)法給變量分配內(nèi)存空間。
01 整型:
| 數(shù)據(jù)類型 | 占用空間 | 取值范圍 |
| short(短整型) | 2字節(jié) | -2^15~2^15-1 |
| int(整型) | 4字節(jié) | -2^31~2^31-1 |
| long(長(zhǎng)整型) | 4字節(jié)/8字節(jié) | -2^31~2^31-1 |
| long long(長(zhǎng)長(zhǎng)整型) | 8字節(jié) | -2^63~2^63-1 |
#include<iostream>
using namespace std;
int main1()
{
//整型
//1.短整型
short num1 = 10;
//short num1 = 32768;
//2.整型
int num2 = 10;
//3.長(zhǎng)整型
long num3 = 10;
//4.長(zhǎng)長(zhǎng)整型
long long num4 = 10;
cout << num1 << endl;
cout << num2 << endl;
cout << num3 << endl;
cout << num4 << endl;
system("pause");
return 0;
}
02 sizeof關(guān)鍵字
作用:利用sizeof關(guān)鍵字可以統(tǒng)計(jì)數(shù)據(jù)類型所占內(nèi)存大小。
語(yǔ)法:sizeof(數(shù)據(jù)類型/變量)
#include<iostream>
using namespace std;
int main2()
{
//整型:short(2) int(4) long(4) long long(8)
//可以利用sizeof求出數(shù)據(jù)類型占用內(nèi)存大小
//語(yǔ)法:sizeof(數(shù)據(jù)類型/變量)
short num1 = 10;
cout << "short占用內(nèi)存空間為:" << sizeof(short) << endl;
//cout << "short占用內(nèi)存空間為:" << sizeof(num1) << endl;
int num2 = 10;
cout << "int占用內(nèi)存空間為:" << sizeof(int) << endl;
//cout << "int占用內(nèi)存空間為:" << sizeof(num2) << endl;
long num3 = 10;
cout << "long占用內(nèi)存空間為:" << sizeof(long) << endl;
//cout << "long占用內(nèi)存空間為:" << sizeof(num3) << endl;
long long num4 = 10;
cout << "long long占用內(nèi)存空間為:" << sizeof(long long) << endl;
//cout << "long long占用內(nèi)存空間為:" << sizeof(num4) << endl;
//整型大小比較
//short < int <= long <= long long
system("pause");
return 0;
}
03 實(shí)型(浮點(diǎn)型)
作用:用于表示小數(shù)。
浮點(diǎn)型變量分為兩種:float和double,區(qū)別在于表示的數(shù)字范圍不同。
| 數(shù)據(jù)類型 | 占用空間 | 有效數(shù)字范圍 |
| float | 4字節(jié) | 7位有效數(shù)字 |
| double | 8字節(jié) | 15~16位有效數(shù)字 |
#include<iostream>
using namespace std;
int main3()
{
//實(shí)型
//1.單精度 float
//2.雙精度 double
//默認(rèn)情況下,輸出一個(gè)小數(shù),會(huì)顯示出6位有效數(shù)字
float f1 = 3.1415926f;
double d1 = 3.1415926;
cout << "f1 = " << f1 << endl;
cout << "d1 = " << d1 << endl;
//float占用4字節(jié)內(nèi)存空間,double占用8字節(jié)
cout << "float占用的內(nèi)存空間為:" << sizeof(float) << endl;
cout << "double占用的內(nèi)存空間為:" << sizeof(double) << endl;
//科學(xué)計(jì)數(shù)法
float f2 = 3e2; //3*10^2,300
cout << "f2 = " << f2 << endl;
float f3 = 3e-2; //3*0.1^2,0.03
cout << "f3 = " << f3 << endl;
system("pause");
return 0;
}
04 字符型
作用:用于顯示單個(gè)字符。
語(yǔ)法:char ch = 'a';
注意1:在顯示字符串變量時(shí),用單引號(hào)將字符括起來(lái),不要用雙引號(hào)。
注意2:?jiǎn)我?hào)內(nèi)只能有一個(gè)字符,不可以是字符串。
C和C++中字符串變量只占用1個(gè)字節(jié)。
字符型變量并不是把字符本身放到內(nèi)存中存儲(chǔ),而是將對(duì)應(yīng)的ASCII編碼放到存儲(chǔ)單元中。
#include<iostream>
using namespace std;
int main4()
{
//1.字符型變量創(chuàng)建方式
char ch = 'a';
cout << ch << endl;
//2.字符型變量所占內(nèi)存大小
cout << "char字符型變量所占內(nèi)存為:" << sizeof(char) << endl;
//3.字符型變量常見(jiàn)錯(cuò)誤
//char ch2 = "b"; 創(chuàng)建字符型變量時(shí),要用單引號(hào)
//char ch2 = 'abcdefg'; 創(chuàng)建字符型變量時(shí),單引號(hào)內(nèi)只能有一個(gè)字符
//4.字符型變量對(duì)應(yīng)ASCII編碼
//a - 97 A - 65
cout << (int)ch << endl;
system("pause");
return 0;
}
05 轉(zhuǎn)義字符
作用:用于表示一些不能顯示出來(lái)的ASCII字符。
\n 換行,將當(dāng)前位置移到下一行開(kāi)頭
\t 水平制表,跳到下一個(gè)TAB位置
\\ 代表一個(gè)反斜線字符'\'
#include<iostream>
using namespace std;
int main5()
{
//轉(zhuǎn)義字符
//換行符\n
cout << "Hello world" << endl;
cout << "Hello world\n";
//反斜杠\\
cout << "\\" << endl;
//水平制表符\t
cout << "aaaa\thelloworld" << endl;
cout << "aa\thelloworld" << endl;
cout << "aaaaaa\thelloworld" << endl;
system("pause");
return 0;
}
06 字符串型
C風(fēng)格字符串:char 變量名[] = "字符串值"
C++風(fēng)格字符串:string 變量名 = "字符串值"
#include<iostream>
#include<string> //用C++風(fēng)格字符串時(shí),要包含這個(gè)頭文件
using namespace std;
int main6()
{
//1.C風(fēng)格字符串
//注意事項(xiàng)1:char字符串名后加[]
//注意事項(xiàng)2:等號(hào)后面要用雙引號(hào),包含起來(lái)字符串
char str[] = "hello world";
cout << str << endl;
//2.C++風(fēng)格字符串
string str2 = "hello world";
cout << str2 << endl;
system("pause");
return 0;
}
07 布爾型
作用:布爾數(shù)據(jù)類型代表真或者假的值。
只有兩個(gè)值:True或者False,占用1字節(jié)大小的內(nèi)存空間。
#include<iostream>
using namespace std;
int main7()
{
//1.創(chuàng)建bool數(shù)據(jù)類型
bool flag = true;
cout << flag << endl;
flag = false;
cout << flag << endl;
//1代表真,0代表假
//2.查看bool類型所占內(nèi)存空間
cout << "bool類型所占內(nèi)存空間:" << sizeof(bool) << endl;
system("pause");
return 0;
}
08 數(shù)據(jù)的輸入
作用:從鍵盤獲取數(shù)據(jù)。
關(guān)鍵字:cin
語(yǔ)法:cin >> 變量
#include<iostream>
#include<string>
using namespace std;
int main()
{
//1.整型
/*int a = 0;
cout << "請(qǐng)給整型變量a賦值:" << endl;
cin >> a;
cout << "整型變量a = " << a << endl;*/
//2.浮點(diǎn)型
/*float f = 3.14f;
cout << "請(qǐng)給浮點(diǎn)型變量f賦值:" << endl;
cin >> f;
cout << "浮點(diǎn)型變量f = " << f << endl;*/
//3.字符型
/*char ch = 'a';
cout << "請(qǐng)給字符型變量ch賦值:" << endl;
cin >> ch;
cout << "字符型變量ch = " << ch << endl;*/
//4.字符串型
/*string str = "hello";
cout << "請(qǐng)給字符串型變量str賦值:" << endl;
cin >> str;
cout << "字符串型變量str = " << str << endl;*/
//5.布爾型
bool flag = false;
cout << "請(qǐng)給布爾型變量flag賦值:" << endl;
cin >> flag;
cout << "布爾型變量flag = " << flag << endl;
system("pause");
return 0;
}
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C語(yǔ)言進(jìn)階教程之字符串&內(nèi)存函數(shù)
對(duì)于字符,在計(jì)算機(jī)內(nèi)部都是用數(shù)字(字符編碼)來(lái)表示的,而字符串是“字符連續(xù)排列”的一種表現(xiàn),這篇文章主要給大家介紹了關(guān)于C語(yǔ)言進(jìn)階教程之字符串&內(nèi)存函數(shù)的相關(guān)資料,需要的朋友可以參考下2021-09-09
MATLAB算法技巧和實(shí)現(xiàn)斐波那契數(shù)列的解決思路
這篇文章主要介紹了MATLAB算法技巧和實(shí)現(xiàn)斐波那契數(shù)列,這篇主要說(shuō)一下自己在算法設(shè)計(jì)課上用matlab做的兩道算法題,題目解起來(lái)都比較簡(jiǎn)單,但是需要些技巧,需要的朋友可以參考下2022-12-12
ubuntu 下編譯C++代碼出現(xiàn)的問(wèn)題解決
這篇文章主要介紹了ubuntu 下編譯C++代碼出現(xiàn)的問(wèn)題解決的相關(guān)資料,需要的朋友可以參考下2015-03-03
數(shù)據(jù)結(jié)構(gòu) 中數(shù)制轉(zhuǎn)換(棧的應(yīng)用)
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu) 中數(shù)制轉(zhuǎn)換(棧的應(yīng)用)的相關(guān)資料,需要的朋友可以參考下2017-06-06

