有以下程序 #include <stdio.h> #include <math.h> main() { int a=1, b=4, c=2; double x=10.5, y=4.0, z; z = ( a+b )/c + sqrt(

admin2021-02-25  29

问题 有以下程序
#include <stdio.h>
#include <math.h>
main()
{
   int  a=1, b=4, c=2;
   double  x=10.5, y=4.0, z;
   z = ( a+b )/c + sqrt( y ) * 1.2 / c + x;
   printf("%f\n", z);
}
程序运行后的输出结果是

选项 A、13.700000
B、14
C、15.4
D、14.9

答案A

解析 如果一个运算符两边的运算数类型不同,要先将其转换为相同的类型,即较低类型转换为较高类型,然后再参加运算。程序执行过程为:a+b=5,5/2=2(int类型), sqrt(y)=2.0(double类型),2.0*1.2/2=1.2( double类型),z=2.0(由int类型自动转换成double类型)+1.2+10.5=13.7。A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/88z0FFFM
0

最新回复(0)