3.4.1表达式中的自动类型转换
C编译器在对操作数进行运算之前将所有的操作数都转换成范围较大的操作数类型,称为类型的提升。
3.4.2赋值中的自动类型转换
/*若赋值运算符左侧变量类型和右侧变量类型不一致,将右侧表达式的值转换成左侧变量的类型*/
#include<stdio.h>
int main()
{
int n=256;
float f=3.6;
double d=2.5;
n=f;
f=n;
d=f;
printf("n=%d\n",n);
printf("f=%f\n",f);
printf("d=%f\n",d);
}
输出:
n=3
f=3.000000
d=3.000000
3.4.3强制类型转换运算符
/*(类型)表达式*/
#include<stdio.h>
int main()
{
int m=5;
printf("m/2=%d\n",m/2);
printf("(float)(m/2)=%f\n",(float)(m/2));
printf("(float)m/2=%f\n",(float)m/2);
printf("m=%d\n",m);
}
输出:
m/2=2
(float)(m/2)=2.000000
(float)m/2=2.500000
m=5
3.5常用的标准数学函数
//求三角形面积
#include<stdiio.h>
#include<math.h>//要包含相应的头文件
int main()
{
float a,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=(a+b+c)/2;
area=(float)sqrt(s*(s-a)*(s-b)*(s-c));
printf("areaa=%f\n",area);
}
/*常用的标准数学函数:
sqrt(x),求一个数的平方
fabs(x),求一个数的绝对值
log(x),lnx
log10(x),lgx
exp(x),e^x
pow(x,y),x^y
sin(x),sinx
cos(x),cosx
*/
来源:CSDN
作者:身影王座
链接:https://blog.csdn.net/qq_42148307/article/details/104727310