变量数据类型的转换

阅读量: 213 编辑

当我们做一个计算的时候,比如

int a = 5;
cout << a/2 << endl; // 数学计算应该是2.5,但是这里的结果是 2 ,省略了小数点

这里的结果是 2,是因为小数点默认被舍去了,C++会给我们的程序做数据转换(转换成了整数int)。

一、C++的数据类型:高类型和低类型

高类型指的是长度比较大的数据类型,低类型指的是长度比较小的数据类型。

1562011590721568.png

二、变量的类型转换规则

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;
}
爱码岛编程公众号
微信扫码关注
爱码岛编程小程序
微信扫码打开
苏ICP备13052010号
©2023 南京匠成信息科技有限公司