手把手帶你學(xué)習(xí)C++的數(shù)據(jù)類型
數(shù)據(jù)類型
C++規(guī)定在創(chuàng)建一個(gè)變量或者常量時(shí),必須要指定相應(yīng)的數(shù)據(jù)類型,否則無法給變量分配內(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)存大小。
語法:sizeof
(數(shù)據(jù)類型/變量)
#include<iostream> using namespace std; int main2() { //整型:short(2) int(4) long(4) long long(8) //可以利用sizeof求出數(shù)據(jù)類型占用內(nèi)存大小 //語法: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è)字符。
語法:char ch = 'a';
注意1:在顯示字符串變量時(shí),用單引號(hào)將字符括起來,不要用雙引號(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.字符型變量常見錯(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)義字符
作用:用于表示一些不能顯示出來的ASCII字符。
\n 換行,將當(dāng)前位置移到下一行開頭
\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),包含起來字符串 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
語法: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é)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++實(shí)現(xiàn)LeetCode(200.島嶼的數(shù)量)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(200.島嶼的數(shù)量),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C語言中g(shù)etchar函數(shù)詳解看這一篇就夠了(函數(shù)功能、使用、返回值)
getchar讀取字符的函數(shù),今天通過本文給大家介紹C語言中g(shù)etchar函數(shù)簡(jiǎn)介用法示例詳解,感興趣的朋友跟隨小編一起看看吧2023-02-02Qt使用QCamera實(shí)現(xiàn)切換相機(jī),分辨率和圖像捕獲功能
這篇文章主要為大家介紹了如何利用Qt中的相機(jī)類QCamera,取景器類QCameraViewfinder,圖像捕獲類QCameraImageCapture實(shí)現(xiàn)切換相機(jī)、分辨率和圖像捕獲功能,需要的可以了解一下2023-04-04c++實(shí)現(xiàn)通用參數(shù)解析類示例
使用命令行執(zhí)行程序的時(shí)候在程序后可跟多個(gè)參數(shù)列表,而main函數(shù)的argc和argv分別存儲(chǔ)了相關(guān)的參數(shù)個(gè)數(shù)和參數(shù)內(nèi)容,而循環(huán)輸入相關(guān)的時(shí)候就需要用戶自己來解析相關(guān)參數(shù)。以下代碼用c++的方式實(shí)現(xiàn)了相關(guān)解析的封裝,使用起來非常方便2014-03-03自己實(shí)現(xiàn)strcpy函數(shù)的實(shí)現(xiàn)方法
本篇文章介紹了,自己實(shí)現(xiàn)strcpy函數(shù)的實(shí)現(xiàn)方法。需要的朋友參考下2013-05-05C++基于reactor的服務(wù)器百萬并發(fā)實(shí)現(xiàn)與講解
這篇文章主要介紹了C++基于reactor的服務(wù)器百萬并發(fā)實(shí)現(xiàn)與講解,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07