目录
类型是给变量分配合适的内存空间,避免内存浪费。因此在定义变量时应选择合适的数据类型。
一、整型
整型变量表示的是整数类型的变量,在C++中主要有short(短整型)、int(整型)、long(长整型)以及long long(长长整型),主要区别是所占内存空间不同。
数据类型 | 占用空间 | 取值范围 |
short(短整型) | 2字节 | ~ |
int(整型) | 4字节 | ~ |
long(长整型) | window下4字节,Linux下:4字节(32位系统),8字节(64位系统) | ~ |
long long(长长整型) | 8字节 | ~ |
//short(短整型)
short num1 = 10;
//int(整型)
int num2 = 10;
//long(长整型)
long num3 = 10;
//long long(长长整型)
long long num4 = 10;
二、sizeof关键字
利用sizeof关键字可以获取变量类型所占内存的大小。使用格式为:sizeof(数据类型or变量名)。
//short(短整型)
short num1 = 10;
cout << "short 占用内存空间大小为:" << sizeof(short) << endl;
cout << "short 占用内存空间大小为:" << sizeof(num1) << endl;
//int(整型)
int num2 = 10;
cout << "int 占用内存空间大小为:" << sizeof(int) << endl;
cout << "int 占用内存空间大小为:" << sizeof(num2) << endl;
//long(长整型)
long num3 = 10;
cout << "long 占用内存空间大小为:" << sizeof(long) << endl;
cout << "long 占用内存空间大小为:" << sizeof(num3) << endl;
//long long(长长整型)
long long num4 = 10;
cout << "long long 占用内存空间大小为:" << sizeof(long long) << endl;
cout << "long long 占用内存空间大小为:" << sizeof(num4) << endl;
short 占用内存空间大小为:2
short 占用内存空间大小为:2
int 占用内存空间大小为:4
int 占用内存空间大小为:4
long 占用内存空间大小为:4
long 占用内存空间大小为:4
long long 占用内存空间大小为:8
long long 占用内存空间大小为:8
请按任意键继续. . .
三、实型(浮点型)
浮点型是用于表示小数的数据类型,在C++中有float(单精度)和double(双精度)两种,区别在于两者能表示的有效数字范围不同。
数据类型 | 占用空间 | 有效数字范围 |
float(单精度) | 4字节 | 7位有效数字 |
double(双精度) | 8字节 | 15-16位有效数字 |
注:在C++中,小数默认为双精度,在定义float类型时,自动将双精度转化为单精度。因此,一般定义单精度时在数值后加‘f’,以避免由双精度转化为单精度的过程。
float f1 = 3.14f;
double d1 = 3.14;
cout << f1 << endl;
cout << d1 << endl;
cout << "float 占用内存空间为: " << sizeof(float) << endl;
cout<< "double 占用内存空间为: " << sizeof(double) << endl;
//科学计数法
float f2 = 3e2; // f2=3*10^2
float f3 = 3e-2; // f3 = 3*0.1^2
cout << f2 << endl;
cout << f3 << endl;
3.14
3.14
float 占用内存空间为: 4
double 占用内存空间为: 8
300
0.03
请按任意键继续. . .
四、字符型
字符型是用于表示单个字符的数据类型。
char ch = 'a';
cout << ch << endl;
a
请按任意键继续. . .
注:
- 字符型数据占用内存空间为1个字节。
- 字符型数据在内存中以ASCII码的形式进行存储。
- 在定义字符型变量时,使用单引号‘字符’,不可使用双引号“字符”。
- 在定义字符型变量时,单引号中只能有一个字符,不能出现多于1个的情况。
附 ASCII码表:
五、转义字符
用于表示一些不能直接显示出来的ASCII字符。常用的有换行" \n ",水平制表符“\t”以及反斜杠“\\”。
cout << "Hello World!\n";
cout << "aaa\tHelloWorld" << endl;
cout << "aaaaa\tHelloWorld" << endl;
cout << "a\\"
Hello World!
aaa HelloWorld
aaaaa HelloWorld
a\
请按任意键继续. . .
注:水平制表符\t打印时占用8个字节的宽度,不足的用空格补充。
附 常见转义字符:
转义字符 | 含义 | ASCII码(16/10进制) |
\o | 空字符(NULL) | 00H/0 |
\n | 换行符(LF) | 0AH/10 |
\r | 回车符(CR) | 0DH/13 |
\t | 水平制表符(HT) | 09H/9 |
\v | 垂直制表(VT) | 0B/11 |
\a | 响铃(BEL) | 07/7 |
\b | 退格符(BS) | 08H/8 |
\f | 换页符(FF) | 0CH/12 |
\’ | 单引号 | 27H/39 |
\” | 双引号 | 22H/34 |
\\ | 反斜杠 | 5CH/92 |
\? | 问号字符 | 3F/63 |
\ddd | 任意字符 | 三位八进制 |
\xhh | 任意字符 | 二位十六进制 |
六、字符串类型
用于表示一串字符。
1.C语言风格的字符串
定义方式:char 字符串名[] = "字符串";
char str[] = "Hello World!";
cout << str << endl;
Hello World!
请按任意键继续. . .
注:使用C语言风格定义字符串时,字符串名后要加一对中括号,且等号后使用双引号;
2.C++风格字符串
定义方式:string 字符串名 = “字符串”;
string str = "Hello World!";
cout << str << endl;
Hello World!
请按任意键继续. . .
注:使用C++风格定义字符串时,需要添加头文件:#include <string>,否则将无法使用字符串。
七、布尔型
代表真值或假值。布尔型数据只有两个值:true(真,本质是1)和false(假,本质是0),其占用内存空间为1个字节。
bool flag = true;
cout << flag << endl;
flag = false;
cout << flag << endl;
1
0
请按任意键继续. . .
八、数据输入
使用关键字cin获取数据输入。格式为:cin >> 变量名。
int a = 0;
cout << "请给整型变量赋值:" << endl;
cin >> a;
cout << "整型数据a = " << a << endl;
输入:100
输出为:
整型数据a = 100
请按任意键继续. . .