C语言——类型转换

数据有不同的类型,不同类型数据之间进行混合运算时涉及到类型的转换问题。

  • 转换的方法有两种:

    • 自动转换(隐式转换):遵循一定的规则,由编译系统自动完成
    • 强制类型转换:把表达式的运算结果强制转换成所需的数据类型
      • 语法格式: (类型)变量或常量
  • 类型转换的原则:

    • 占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。
      C语言——类型转换_第1张图片
#include 

int main() {
	// 隐式转换(自动转换):编译器自动转换
	int a = 11;
	double b = a; //将a的值,11,转换为11.0000,再给b赋值 
	printf("b = %lf\n", b);
	printf("a = %d\n", a);

	// 强制类型转换,用户转换, (类型)变量或常量
	int m = 3;
	int n = 2;
	b = (double)m/n;
	printf("b = %lf\n", b);

	b = (double)3/2;
	printf("b = %lf\n", b);

	// 类型转换原则:数据类型小的往数据类型大的转
	int c = 100;
	char d = (char)c; //没有问题
	printf("d = %d\n", d);

	// 大的往小的转,数据可能会丢失
	c = 129;
	d = (char)c;
	printf("d = %d\n", d);

	// 小的往大的转
	long long big = (int)c;
	printf("big = %lld\n", big);

	return 0;
}

你可能感兴趣的:(C语言,c语言,开发语言)