有以下程序: #include #inelude 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

admin2019-01-11  32

问题 有以下程序:
    #include
    #inelude
    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.000000
C、15.400000
D、14.900000

答案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/pYa0FFFM
0

最新回复(0)