设有定义:doublex=5.16894;,则语句prinff(”%If\n”,(int)(x$1000+0.5)/1000.);的输出结果是( )。A.5.16900B.5.16800C.0.00000D.输出格式说明符与输出项不匹配,产生错误信息

题目

设有定义:doublex=5.16894;,则语句prinff(”%If\n”,(int)(x$1000+0.5)/1000.);的输出结果是( )。

A.5.16900

B.5.16800

C.0.00000

D.输出格式说明符与输出项不匹配,产生错误信息


相似考题
更多“设有定义:doublex=5.16894;,则语句prinff(”%If\n”,(int)(x$1000+0.5)/1000.);的输出结果是( )。 ”相关问题
  • 第1题:

    若有正确定义语句doublex=5.16894:

    A.输出格式说明与输出顶不匹配,输出无定值

    B.5.170000

    C.5.168000

    D.5.169000


    正确答案:D
    (x*1000+0.5)——x移动3位小数,加0.5,也就是小数第4位加5,若这位大于等于5,则进1到个位。5.16894*1000-)5168.94+0.5->5169.44接下来:(int)(x*1000+0.5)取整变5169,5169/(double)1000)-)5.169。所以printf(″%f\n″,5.169)结果是5.16900。因此正确答案为D。

  • 第2题:

    设有定义: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。

  • 第3题:

    若变量已正确定义x=3.26894,以下语句的输出结果是() printf(“%fn”,(int)(x*1000+0.5)/(float)1000);

    A.3.27

    B.3.269

    C.3.268

    D.输出格式说明与输出项不匹配,输出无定值


    3.27

  • 第4题:

    若有以下程序段 double x=5.16894; printf("%fn", (int)(x*1000+0.5)/(double)1000 ); 则程序段的输出结果是()

    A.5.170000

    B.5.175000

    C.5.169000

    D.5.168000


    B (int)(x*1000+0.5)/(double)1000表达式功能,保存数据x的后三位小数,把第四位四舍五入。

  • 第5题:

    若有正确定义语句: double x=5.16894; 语句printf(“%fn”,(int)(x*1000+0.5)/(double)1000);的输出结果是().

    A.输出格式说明与输出项不匹配,输出无定值

    B.5.170000

    C.5.168000!

    D.5.169000


    5.169000