提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 概念
- 一、隐式类型转换
- 二、显式类型转换
- 总结
概念
类型不同而相互兼容的数在同一个表达式中会发生类型转换。
一、隐式类型转换
1.就是系统按照隐式转换规则,自动将数据进行类型转换。(一般是小类型数据转换为大类型数据)。
2.数据类型由小到大:char -> short -> lnt ->long ->float ->double ->long double
代码:
#include<stdio.h>
int main(){
//类型转换
//1.隐式类型转换,系统按照转换规则自动转换,
char a = 'a';//97
int b = 12;
float f = 3.99;
float c = a + b + f;//在计算过程中变量a与b会自动转换为float类型。
printf("%f\n", c);
}
运行结果:
二、显式类型转换
1.用户自行手动进行类型转换(格式:(类型)变量)可能会出现精度的丢失。
代码:
#include<stdio.h>
int main(){
//2.强制类型转换,用户自定义类型转换:(类型)变量。
char a = 'a';
int b = 12;
float f = 3.99;
int c = a + b + (int)f;//对f进行强制类型转换,3.99中的小数位丢失。
printf("%d\n", c);//112
}
运行结果:
总结:
类型转换是发生在计算过程中的,参与计算的变量本身并未发生变化。本质是对变量定义的约定进行的临时的打破。