更多“设有定义:float x=123.4567;,则执行以下语句后的输出结果是[]。 printf("%f\n"(int)(x*100+0.5)/ ”相关问题
  • 第1题:

    若有下列定义(设int类型变量占2个字节): float x=123.4567; 则下列语句: printf("x=%5.2f", x); 输出的结果是( )。

    A.x=123.46

    B.123.4567

    C.x=123.4567

    D.123.46


    正确答案:A
    解析:本题考查printf函数的格式。“%5.2f”格式符中的“f”表示以带小数点的形式输出单精度或者双精度数;“5”表示指定数据输出宽度为5;“.2”表示指定输出数据小数位占2位数,并对截去的第一位小数做四舍五入处理。

  • 第2题:

    若有下列定义(设int类型变量占2个字节):

    float x=123.4567;

    则下列语句:

    printf("x=%5.2f",x);

    输出的结果是( )。

    A.x=123.46

    B.123.4567

    C.x=123.4567

    D.123.46


    正确答案:A
    解析:本题考查printf函数的格式。“%5.2f”格式符中的“f”表示以带小数点的形式输出单精度或者双精度数;“5”表示指定数据输出宽度为5;“.2”表示指定输出数据小数位占2位数,并对截去的第一位小数做四舍五入处理。

  • 第3题:

    1、设有定义:double x=2.12;,以下不能完整输出变量x值的语句是()。

    A.printf("x=%5.0f\n",x);

    B.printf("x=%f\n",x);

    C.printf("x=%lf\n",x);

    D.printf("x=%0.5f\n",x);


    printf(“x=%5.0f\n”,x);

  • 第4题:

    设有定义:float x=123.4567;则执行以下语句后的输出结果是( )。

    A.123.460000

    B.123.456700

    C.123.450000

    D.123


    正确答案:A
    (x*100+0.5)计算结果为12346.17。由于类型转换运算符的优先级高于除法运算符/,所以先执行(int)12346.17,将l2346.17转换为整型数l2346,再执行12346/100.0,并在输出时按照格式化输出%f的要求,将计算结果转换为float型后再输出。所以,最终结果为l23.460000。

  • 第5题:

    设有定义:float x=123.4567;则执行以下语句后的输出结果是 printf("%fn",(int)(x*100+0.5)/100.0);

    A.123.46

    B.123.4567

    C.123.45

    D.123


    123.46 123.46 解析:输出语句的表达式:(int)(x*100+0.5)/100.0是指先运算表达式中的“x*100+0.5”,然后将其结果强制转换为int型,即:(int)(l23.4567*100+O.5)=(int)12346.17=12346,接下来进行”/100.0”的运算即:12346/100.0=123.46,原因是除运算是双目运算,当—边是整型数,—边是实型数时,系统自动将整型转换为实型数,然后进行运算,又因为最后的的输出格式是float类型的实数,所以结果为123.460000。