数据类型
C++规定在创建一个变量或者常量时,必须要制定出相应的数据类型,否则无法给变量分配内存
2.1 整型
作用:整型变量表示的是整数类型的数据
C++能够表示整数的类型有以下几种方式,区别在于所占内存空间不同:
#include<iostream>
using namespace std;
int main()
{
//整型
//1.短整型(-32768~32767)
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;
}
2.2 sizeof关键字
作用:利用sizeof关键字可以统计数据类型所占内存大小
语法:sizeof(数据类型 / 变量)
示例:
int main()
{
//1.短整型(-32768~32767)
short num1 = 10;//2字节
//2.整型
int num2 = 10;//4字节
//3.长整型
long num3 = 10;//4字节
//4.长长整型
long long num4 = 10;//8字节
//可以利用sizeof求出数据类型占用内存大小
//语法: sizeof(数据类型 / 变量)
cout << "short占用内存空间为:" << sizeof(short) << endl;
cout << "int占用内存空间为:" << sizeof(num2) << endl;
cout << "long占用内存空间为:" << sizeof(num3) << endl;
cout << "long long占用内存空间为:" << sizeof(num4) << endl;
//整数型大小比较
//short < int <= long <= long long
system("pause");
return 0;
}
2.3 实型(浮点型)
作用:用于表示小数
浮点型变量分为两种:
1.单精度float
2.双精度double
两者的区别在于表示的有效数字范围不同
示例:
int main()
{
//单精度
float num1 = 3.1415926f;
cout << "num1=" << num1 << endl;
//双精度
//默认情况下 输出一个小数,会显示出6位有效数字
double num2 = 3.1415926;
cout << "num2=" << num2 << endl;
//统计float和double占用内存空间
cout << "float占用内存空间为:" << sizeof(num1) << endl;//4字节
cout << "double占用内存空间为:" << sizeof(num2) << endl;//8字节
//科学计数法
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;
}
2.4 字符型
作用:字符型变量用于显示单个字符
语法:char ch = 'a';
注意1:在显示字符变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
- C和C++中字符型变量只占用1个字节
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
示例:
```cpp
int main()
{
//字符型变量创建方式
char ch = 'a';
cout << ch << endl;
//字符型变量所占内存大小
cout << "char字符型变量所占内存为:" << sizeof(char) << endl;
//字符型变量常见错误
/*
char ch2 = "b";//创建字符型变量时,要用单引号
char ch3 = 'abcdef';//创建字符型变量时,单引号内只能有一个字符
*/
//字符型变量对应的ASCII编码
//a - 97
//A - 65
cout << (int)ch << endl;
system("pause");
return 0;
}
ASCII码大致有以下两部分组成:
-
ASCII非打印控制字符:ASCII表上的数字0-31分配给了控制字符,用于控制像打印机等一些外围设备
-
ASCII打印字符:数字32-126分配给了能在键盘上找到的字符,当查看或打印文档时就会出现
2.5 转义字符
作用:用于表示一些不能显示出来的ASCII字符
现阶段我们常用的转义字符有:\n \\ \t
int main()
{
//转义字符
//换行符 \n
cout << "hello world\n";
//反斜杠 \\
cout<<"\\"<<endl;
//水平制表符 \t 作用可以整齐的输出数据
cout << "aaaa\thello world" << endl;
cout << "aaa\thello world" << endl;
cout << "aaaaa\thello world" << endl;
system("pause");
return 0;
}
2.6 字符串型
作用:用于表示一串字符
两种风格
1.C风格字符串:char 变量名[] = “字符串值”
示例:
int main()
{
//C风格字符串
//注意事项 char 字符串名 []
//注意事项2 等号后面 要用双引号 包含起来字符串
char str[] = "hello world";
cout << str << endl;
system("pause");
return 0;
}
2.C++风格字符串:string 变量名 = “字符串值”
示例:
#include<iostream>
int main()
{
//C++风格字符串
//注意事项 包含一个头文件 #include<string>
string str1 = "Hello World";
cout << str1 << endl;
system("pause");
return 0;
}
2.7 布尔类型bool
作用:布尔数据类型代表真或假的值
bool类型只有两个值:
- true —真(本质是1)
- false —假(本质是0)
bool类型占1个字节大小
示例:
```cpp
int main()
{
//创建bool类型
//本质 1代表真 0代表假
bool flag1 = true;
cout << flag1 << endl;
bool flag2 = false;
cout << flag2 << endl;
//查看bool类型所占内存空间
cout << "bool类型所占内存空间为:" << sizeof(bool) << endl;
system("pause");
return 0;
}
2.8 数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 变量
示例:
int main()
{
//输入整型
int a = 0;
cout << "请给整型变量a赋值:" << endl;
cin >> a;
cout << "整型变量a=" << a << endl;
//输入浮点型
float b = 0;
cout << "请给浮点型变量b赋值:" << endl;
cin >> b;
cout << "浮点型变量b=" << b << endl;
//输入字符型
char c = '\0';
cout << "请给字符型变量c赋值:" << endl;
cin >> c;
cout << "字符型变量c=" << c << endl;
//输入字符串
string d;
cout << "请给字符串变量d赋值:" << endl;
cin >> d;
cout << "字符串变量d=" << d << endl;
//输入布尔类型
bool e = false;
cout << "请给bool类型变量e赋值:" << endl;
cin >> e;//bool类型 只要是非0的值都代表真
cout << "布尔类型变量e=" << e << endl;
system("pause");
return 0;
}