数据类型
C++ 规定在创建一个变量或者常量时,必须指定出相应的数据类型,否则无法给变量分配内存
整型
作用:整型变量表示的是整数类型的数据
C++ 中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short | 2 字节 | -32768~32767 |
int | 4 字节 | -231~231-1 |
long | win 为 4 字节,linux 为 4 字节(32 位),8 字节(64 位) | -231~231-1 |
long long | 8 字节 | -263~263-1 |
#include <iostream>
using namespace std;
int main1()
{
//整型
//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;
}
sizeof 关键字
作用:利用 sizeof
关键字可以统计数据类型所占内存大小
语法:sizeof(数据类型 / 变量)
#include <iostream>
using namespace std;
int main()
{
cout<< "short 占用内存空间为:" << sizeof(short) << endl;
cout<< "int 占用内存空间为:" << sizeof(int) << endl;
cout<< "long 占用内存空间为:" << sizeof(long) << endl;
cout<< "long long 占用内存空间为:" << sizeof(long long) << endl;
system("pause");
return 0;
}
实型(浮点型)
作用:用于表示小数
浮点型变量分为两种:
- 单精度 float
- 双精度 double
两者区别在于表示的有效数字范围不同
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4 字节 | 7 位有效数字 |
double | 8 字节 | 15~16 位有效数字 |
#include <iostream>
using namespace std;
int main()
{
//默认情况下输出一个小数,会显示出 6 位有效数字
float f1 = 3.1415926f;
cout<< "f1 = " << f1 << endl;
double d1 = 3.1415926;
cout<< "d1 = " << d1 << endl;
//统计 float 和 double 占用内存空间
cout<< "float 占用内存空间为:" << sizeof(float) << endl;
cout<< "double 占用内存空间为:" << sizeof(double) << endl;
system("pause");
return 0;
}
字符型
作用:字符型变量用于显示单个字符
语法:char ch = 'a';
-
在显示字符型变量时,用单引号将字符括起来,不要用双引号
- 单引号内只能有一个字符,不可以是字符串 - C 和 C++ 中字符型变量只占用一个字节 - 字符型变量并不是把字符本身放到内存中存储,而是将对应的 ASCII 编码放入到储存单元
#include <iostream>
using namespace std;
int main()
{
//1.字符型变量创建方式
char ch = 'a';
cout << ch << endl;
//2.字符型变量所占内存大小
cout << "char 字符型变量所占内存:" << sizeof(char) << endl;
//3.字符型变量常见错误
//创建字符型变量,要用单引号
//创建字符型变量,单引号内只能有一个字符
//4.字符型变量对应 ASCII 编码
cout << (int)ch << endl;
system("pause");
return 0;
}
转义字符
作用:用于表示一些不能显示出来的 ASCII 字符
#include <iostream>
using namespace std;
int main()
{
//转义字符
//换行符 \n
cout << "hello world\n";
//反斜杠
cout << "\\" << endl;
//水平制表符 \t 作用:可以整齐的输出数据
cout << "aaa\thelloworld" << endl;
cout << "aaaa\thelloworld" << endl;
cout << "aaaaa\thelloworld" << endl;
system("pause");
return 0;
}
字符串型
作用:用于表示一串字符
两种风格
-
C 风格字符串:
char 变量名[] = "字符串值";
注意:C 风格的字符串要用双引号括起来
-
C++ 风格字符串:
string 变量名 = "字符串值";
注意:要包含头文件
#include <string>
#include <iostream>
using namespace std;
#include <string>
int main()
{
//字符串型
//1.C 风格字符串
char str[] = "hello world";
cout << str << endl;
//2.C++ 风格字符串
string str2 = "hello world";
cout << str2 << endl;
system("pause");
return 0;
}
布尔类型 bool
作用:布尔数据类型代表真或假的值
bool 类型只有两个值:
- true — 真(本质是 1)
- false — 假(本质是 0)
bool 类型占一个字节大小
#include <iostream>
using namespace std;
#include <string>
int main()
{
//1.创建 bool 数据类型
bool flag = true;
cout << flag << endl;
flag = false;
cout << flag << endl;
//2.查看 bool 数据类型所占内存空间
cout << "bool 数据类型所占内存空间:" << sizeof(bool) << endl;
system("pause");
return 0;
}
数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 变量
#include <iostream>
using namespace std;
#include <string>
int main()
{
//1.整型
int a = 0;
cout << "请给整型变量 a 赋值:" << endl;
cin >> a;
cout << "整型变量 a = " << a << endl;
//2.浮点型
float f = 3.14f;
cout << "请给浮点型变量 f 赋值:" << endl;
cin >> f;
cout << "整型变量 f = " << f << endl;
//3.字符型
char ch = 'a';
cout << "请给字符型变量 ch 赋值:" << endl;
cin >> ch;
cout << "字符型变量 ch = " << ch << endl;
//4.字符串型
string str = "hello";
cout << "请给字符串型变量 str 赋值:" << endl;
cin >> str;
cout << "字符串型变量 str = " << str << endl;
//5.布尔类型
bool flag = true;
cout << "请给布尔类型变量 flag 赋值:" << endl;
cin >> flag;
cout << "布尔类型变量 flag = " << flag << endl;
//bool 类型:只要是非 0 的值都代表真
system("pause");
return 0;
}