长春做网站优化哪家好,易名域名解析到手机网站,成都网页设计培训学校排名,淘宝客网站要多大空间一、自动类型转换
1.当运算符两边的数据类型不同时#xff0c;C语言会帮我们将其转换为较大的类型。即将数据转换成表达范围更大的类型。
将前一种类型转换为后一种类型
char -- short -- int -- long -- long long
int -- float -- double2.对于…一、自动类型转换
1.当运算符两边的数据类型不同时C语言会帮我们将其转换为较大的类型。即将数据转换成表达范围更大的类型。
将前一种类型转换为后一种类型
char -- short -- int -- long -- long long
int -- float -- double2.对于printf,任何小于int 的类型都会变转换成intfloat会被转换成double
printf (%f\n, a); \\无论是“float”还是“double”输出时都用%f即可就是因为C语言会把float类型转换成double类型。3.但是scanf不会如果要输入short需要%hd
#includestdio.h
int main()
{short x;scanf(%hd, x);printf(%d\n, x);return 0;
}二、强制类型转换
1.要把一个量强制转换成另一个类型通常是较大类型转换成较小类型就需要类型值
例如
(int)10.2
(short)322.转换时需要注意数据的安全性小的变量不总能表达大的量即大转小时大的不能超过小的类型所能表达的范围否则就会出现错误。
#includestdio.h
int main()
{printf(%d\n, 32768);printf(%d\n, (short)32768);printf(%d\n, (char)32768);return 0;
} 3.强制类型转换只是从转换前的那个变量计算出了一个新的类型的值并不会改变那个变量的值也不会改变那个变量的数据类型。
#includestdio.h
int main()
{int i 32768;short s (short)i;printf(%d\n, i);printf(%d\n, s);return 0;
} 4.强制类型转换的算术优先级高于四则运算。
double a 1.0;
double b 2.0;
int i (int)(a/b);//i0;int a 8;
int b 6;
double i (double)(a/b);//i1.000000