C++中规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存。
1.整型
作用:整型变量表示的是整数类型的数据
c++中有以下几种表示整型的方式,区别在于所占内存空间不同:
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short(短整型) | 2字节 | (-2^ 15~ 2^15-1)=(-32768~32767) |
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) |
若输入代码short num1=32768;
那么会输出num1=-32768,因为超过short的取值范围了。
2.sizeof关键字
作用:利用sizeof关键字可以统计数据类型所占内存大小
语法:sizeof(数据类型 或 变量)
3.实型(浮点型)
作用:用于表示小数
浮点型变量分为单精度float和双精度double两种,区别在于表示的有效数字范围不同:
数据类型 | 占用空间 | 取值范围 |
---|---|---|
float(单精度) | 4字节 | 7位有效数字 |
double(双精度) | 8字节 | 15-16位有效数字 |
一般会在定义float类型的数值后面加一个f,也就是float f1 = 3.14f;
,因为若只写3.14,那么编译器会将其判定为double类型,然后再将其转换为float;但如果直接写了3.14f,就无需转换这一步了。
(但在C++中显示小数,不管是float还是double,都默认只显示6位有效数字)
还可以用科学计数法表示小数:
float f2 = 3e2;
这里表示的是3×10^2;
float f2 = 3e-2;
这里表示的是3×10^(-2)=3×0.01,这就是小数.
4.字符型
作用:字符型变量用于显示单个字符
语法:char ch = 'a';
注意:
①在显示字符型变量时,用单引号将字符括起来,不要用双引号;
②单引号内只能有一个字符,不可以是字符串。
③C和C++中字符型变量只占用1个字节;字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元中。
char ch = 'a';
cout << (int)ch << endl; //查看字符a对应的ASCII码
会输出97,即a对应的ASCII编码。
a - 97
A - 65
5.转义字符
作用:用于表示一些不能显示出来的ASCII字符
常用的转义字符如下:
转义字符 | 含义 | ASCII码值(十进制) |
---|---|---|
\n | 换行,将当前位置移到下一行开头 | 010 |
\ | 代表一个反斜线字符“\” | 092 |
\t | 水平制表,跳到下一个TAB位置 | 009 |
举例说明:
cout << "hello" << endl;
与cout << "hello\n";
等效
\t会使前面的字符串和空格总共为8个宽度。
6.字符串类型
作用:用于表示一串字符
C++中有两种风格的字符串,分别为:
①C风格字符串
语法: char 变量名[] = "字符串值";
之后直接使用变量名就可以表示字符串了,无需再在后面加中括号了。
②C++风格字符串
语法: string 变量名 = "字符串值";
,但使用这种定义风格时,需要提前添加一个头文件#include <string>
7.布尔类型
作用:布尔数据类型代表真或假的值
bool类型占1个字节大小,只有两个值:true(本质是1);false(本质是0)
bool flag = true;
cout << flag << endl; //1
flag = false;
cout << flag << endl; //0
8.数据的输入
作用:用于从键盘获取数据
语法:cin >> 变量;
举例如下:
int main()
{
//整型输入
int a = 0; //先得创建变量,给个初始值,之后由用户修改
cout << "请输入整型变量:" << endl;
cin >> a;
cout << a << endl;
//浮点型输入
float f = 3.14f;
cout << "请输入浮点型变量:" << endl;
cin >> f;
cout << f << endl;
//字符型输入
char ch = 'd';
cout << "请输入字符型变量:" << endl;
cin >> ch;
cout << ch << endl;
}