当我们做一个计算的时候,比如
int a = 5;
cout << a/2 << endl; // 数学计算应该是2.5,但是这里的结果是 2 ,省略了小数点
这里的结果是 2,是因为小数点默认被舍去了,C++会给我们的程序做数据转换(转换成了整数int)。
一、C++的数据类型:高类型和低类型
高类型指的是长度比较大的数据类型,低类型指的是长度比较小的数据类型。
二、变量的类型转换规则
1、高类型可以保存低类型的值,在运算中可以自动转换为高类型的;
float f = 5; // float 是高类型的,5是整数,是低类型的
cout << f/2 << endl; // 2是int类型,计算后得到的是高类型的
2、字符类型可以用 char 类型保存,也可以用 int 类型保存;
int a = 'a';
char b = 'x';
cout << a <<endl; // 97
cout << b <<endl;
3、int类型可以使用int类型保存,也可以使用 long long类型、float类型、double类型保存;
但是如果float类型、double类型保存为int类型,会导致小数位数丢失;
小数可以使用float类型或double类型,建议优先使用double类型;
double d = 3;
int e = 3.14; // 3.14默认为double类型, e的结果是3
4、类型之间可以强制转换
通过小括号(type)
进行类型转换
double d = (double)3; //整数int类型 强制转换为 double 类型
int e = (int)3.14; // 小数3.14 强制转换为 int 类型
char f = (char)97; // 数字 97 转换为 字符类型
四、编程练习
作业1:写一个整数,将它转换为double类型?
作业2:查资料,看看字母 A
对应的整数的值是什么?
// 爱码岛编程
#include <iostream>
using namespace std;
int main(){
double d = 5;
cout << "d是:" << d <<endl;
double d1 = (double)d;
cout << "d1是:" << d1 <<endl;
char c1 = (char)97;
cout << "c1是:" << c1 <<endl;
int c2 = 'A';
cout << "c2是:" << c2 <<endl;
return 0;
}