给变量分配合适的内存空间
一、整型
作用:整型变量表示的是整数类型的数据,区别在于所占内存空间不同:
//整型
int num = 10;
//短整型
short num1 = 10;
//长整型
long num2 = 10;
//长长整型
long long num3 = 10;
cout << "num = "<< num << endl;
cout << "num1 = "<< num1 << endl;
cout << "num2 = "<< num2 << endl;
cout << "num3 = "<< num3 << endl;
二、sizeof关键字
作用:利用sizeof关键字可以统计数据类型所占内存大小
语法格式:sizeof(数据类型 / 变量)
// sizeof 关键字 不管是变量 或者是数据类型都可以
cout << "num 所占的内存空间是:" << sizeof(num) << endl;
cout << "num 所占的内存空间是:" << sizeof(int) << endl;
cout << "num1 所占的内存空间是:" << sizeof(num1) << endl;
cout << "num2 所占的内存空间是:" << sizeof(num2) << endl;
cout << "num3 所占的内存空间是:" << sizeof(num3) << endl;
num 所占的内存空间是:4
num 所占的内存空间是:4
num1 所占的内存空间是:2
num2 所占的内存空间是:8
num3 所占的内存空间是:8
三、浮点型
作用:用于表示小数
浮点型变量分为两种:单精度(float,4个字节,7位有效数字)+ 双精度(double,8个字节,15-16位有效数字)
注意:有效数字不是指小数点后面,也包括小数点之前。3.14 有效数字是3位
默认情况下输出一个小数会显示出6位有效数字
//单精度
float nu1 = 3.14f; //默认小数是双精度,不加f会进行转换,加f就是默认单精度
//双精度
double nu2 = 3.14;
cout << "nu1 所占的内存空间是:" << sizeof(nu1) << endl;
cout << "nu2 所占的内存空间是:" << sizeof(nu2) << endl;
nu1 所占的内存空间是:4
nu2 所占的内存空间是:8
科学计数法:
//科学计数法
float f2 = 3e2;// 表示3*10的2次 ,=300
cout << "f2 = " << f2 << endl;
float f3 = 3e-2; //表示3* 0.1 的2次方 ,=0.03
cout << "f3 = " << f3 << endl;
四、字符型
作用:用于显示单个字符
语法:char c1 = 'a' ;
注意:单引号只能是一个字符,不可以是字符串。C 和 C++ 中字符只能占一个字符。
注意:字符变量并不是把字符本身放到内存中去,而是将ASCLL 码放到内存中去。
// 字符型变量的创建方式
char c1 = 'a';
char c2 = "abgn";
cout << c1 << endl;
// 字符型变量占用的内存空间
cout << sizeof(c1) << endl; //1 个字节
// 字符型变量常见的错误
// char c2 = "b"; //创建字符型变量的时候要使用单引号
// char c2 = 'abcde'; // 创建字符型变量时,单引号里面只能存放一个字符
// char c2 = "abgn"; 报错
cout << int(c1) << endl; // 输出97 对应的ASCLL码
五、转义字符
作用:用于表示一些不能显示出来的ASCLL字符
现阶段用的转义字符有:\n \\ \t(加上前面一共占8个单位)
//常用的转义字符
// 换行符 \n
cout << "hello\n word" << endl;
cout << "hello word\n"; //接下来输出换行,相当于后面加一个endl
// 反斜杠\\,
cout << "hello\\ word" <<endl;
// 水平制表符 \t
cout << "hello\tword" <<endl; // 加上\t 之前的hello 一共占用8个单位
cout << "helloword" <<endl;
/*
hello
word
hello word
hello\ word
hello word
helloword
*/
六、字符串型
作用:用于表示一串字符
两种风格:
1、C语言风格:char 变量名 [] = " 字符串值"
2、C++ 风格:string 变量名 = " 字符串值"
#include <string> //写C++风格字符串时,要包含这个头文件
//字符串
char ch[] = "abgkd";
string cha = "sakndf";
cout << ch << endl;
cout << cha << endl;
七、布尔类型
作用:bool数据类型代表真或假的值
bool类型只有两个值:true-真(本质是1),false-假(本质是0)
bool类型占1 个字节
// bool 数据类型
bool flag = true;
cout << flag << endl; // 输出1
cout << sizeof(flag) << endl; // 占用1个字节
八、数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 变量
// 数据的输入
//整型
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 = 'd';
cout << "请输入c的值:" << endl;
cin >> c;
cout << "c的值为:" << c << endl;
//字符串型
string str = "sakfd";
cout << "请输入str的值:" << endl;
cin >> str;
cout << "str 的值为:" << str << endl;
//布尔型
bool fla1 = false;
cin >> fla1; // 只要非0 就是真,就是1
cout << "fla1的值为:" << fla1 <<endl; //会输出1 或者0,不会输出 true 或者false,