C++規定在創建一個變量或者常量時,必須要指定出相應的數據類型,否則無法給變量分配內存.
1 整型
作用:整型變量表示的是整數類型的數據
C++中能夠表示整型的類型有以下幾種方式,區別在于所占內存空間不同:
數據類型 | 占用空間 | 取值范圍 |
short(短整型) | 2字節 | (-2^15~2^15-1) |
int(整形) | 4字節 | (-2^31~2^31-1) |
long(長整型) | Windows為4字節,Linux為4字節(32位),8字節(64位) | (-2^31~2^31-1) |
long long(長長整形) | 8字節 | (-2^63~2^63-1) |
數據類型存在的意義:給變量分配合適的內存空間。
#include<iostream>
using namespace std;int main()
{//整型//1、短整型short num1 = 10;//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;}
日常開發中最常用的是int
2 sizeof關鍵字
作用:利用sizeof關鍵字可以統計數據類型所占內存大小
語法:sizeof(數據類型/變量)
示例:
int main() {short mum = 10;cout << "short 類型所占內存空間為:" << sizeof(short) << endl;cout << "num所占內存空間為:" << sizeof(num) << endl;cout << "int 類型所占內存空間為:" << sizeof(int) << endl;cout << "long 類型所占內存空間為:" << sizeof(long) << endl;cout << "long long 類型所占內存空間為:" << sizeof(long long) << endl;system("pause");return 0;}
3 實型(浮點型)
浮點型變量分為兩種:
- 單精度float
- 雙精度double
兩者的區別在于表示的有效數字范圍不同。
數據類型 | 占用空間 | 有效數字范圍 |
float | 4字節 | 7位有效數字 |
double | 8字節 | 15~16位有效數字 |
示例:
int main() {//單精度float f1 =3.1415926f;cout << "f1 =" << f1 <<endl;//雙精度double d1 = 3.1415926;cout << "d1 =" << d1 <<endl;// 默認情況下 輸出一個小數,會顯示6位有效數字//統計float和double占用的內存空間cout << "float占用內存空間為:" << sizeof(float) << endl;cout << "double占用內存空間為:" << sizeof(double) << endl;//科學計數法float f2=3e2; //3*10^2;cout << "f2 = " << f2 << endl;float f3=3e-2; //3*0.1^2;cout << "f3 = " << f3 << endl;system ("pause");return 0;}
4 字符型變量
作用:字符型變量用于顯示單個字符
語法:char ch = 'a';
注意1:在顯示字符型變量時,用單引號將字符括起來,不要用雙引號
注意2:單引號內只能有一個字符,不可以是字符串
- C和C++中字符型變量只占用1個字節。
- 字符型變量并不是把字符本身放到內存中存儲,而是將對應的ASCII編碼放入到存儲單元
示例:
#include<iostream>
using namespace std;int main() {//1、字符型變量創建方式char ch = 'a';cout << ch << end;//2、字符型變量所占內存大小cout << "char字符型變量所占內存:" << sizeof(char) << endl;//3、字符型變量常見錯誤//char ch2 = "b";//創建字符型變量的時候,要用單引號//char ch2 = 'abcdef';//創建字符型變量的時候,單引號內只能有一個字符//4、字符型變量對應ASCII編碼//a---97//A---65cout << (int)ch << endl;system("pause");return 0;}
附 ASCII碼表格
5 轉義字符
作用:用于表示一些不能顯示出來的ASCII字符
現階段我們常用的轉義字符有: \n? \\? \t
轉義字符 | 含義 | ASCII碼值(十進制) |
\a | 警報 | 007 |
\b | 退格(BS),將當前位置移到前一列 | 008 |
\f | 換頁(FF),將當前位置移到下頁開頭 | 012 |
\n | 換行(LF),將當前位置移到下一行開頭 | 010 |
\r | 回車(CR),將當前位置移到本行開頭 | 013 |
\t | 水平制表(HT)(跳到下一個TAB位置) | 009 |
\v | 垂直指標(VT) | 011 |
\\ | 代表一個反斜線字符“\” | 092 |
\' | 代表一個單引號(撇號)字符 | 039 |
\" | 代表一個雙引號字符 | 034 |
\? | 代表一個問號 | 063 |
\0 | 數字0 | 000 |
\ddd | 8進制轉義字符,d范圍0~7 | 3位八進制 |
\xhh | 16進制轉義字符 | 3位16進制 |
示例:
int main() {cout << "\n" << endl;cout << "\\" << endl;cout << "\tHello" << endl;system("pause");return 0;
}
6 字符串型
作用:用于表示一串字符
兩種風格
1.C風格字符串:char 變量名[ ]?= "字符串值"
示例:
int main() {char str1[] = "hello world";cout << str1 << endl;system("pause");return 0;}
?注意:C風格的字符串要用雙引號括起來
2.C++風格字符串:string 變量名 = “字符串值”
示例:
int main() {string str = "hello world";cout << str << endl;system("pause");return 0;}
?注意:C++風格字符串,需要加入頭文件#include<string>
7 布爾類型 bool
作用:布爾數據類型代表真或假的值
bool類型只有兩個值:
- true --- 真(本質是1)
- false --- 假(本質是0)
bool類型占1個字節大小
示例:
int main() {bool flag = true;
cout << flag << endl;//1flag = false;
cout << flag << endl;//0cout << "size of bool =" << sixeof(bool) << endl;//1system("pause");
return 0;}
?8 數據的輸入
作用:用于從鍵盤獲取數據
關鍵字:cin
語法:cin >> 變量
示例:
int main() {//整形輸入int a = 0;cout << "請輸入整形變量" << endl;cin >> a;cout << a << endl;//浮點型輸入double d = 0;cout << "請輸入浮點型變量:" << endl;cin >> d;cout << d << endl;//字符型輸入char ch = 0;cout << "請輸入字符型變量:" << endl;cin >> ch;cout << ch << endl;//字符串型輸入string str = "hello";cout << "請輸入字符串:" << endl;cin >> str;cout << str << endl;//布爾型輸入bool flag = false;cout << "請輸入布爾型變量:" << endl;cin >> flag;system("pause");return 0;}