选择题   设有定义:double x=5.16894;,则语句printf('%1f\n',(int)(x*1000+0.5)/1000.0);的输出结果是______。
 
【正确答案】 A
【答案解析】[考点] C基础知识和顺序结构 x*1000+0.5表示x向右移动3位小数,加0.5,也就是x的小数第4位加5,若这位大于等于5,则进1到个位。因为“5.16894*1000=5168.94,5168.94+0.5=5169.44”,所以(int)(x*1000+0.5)强制转换为整型的结果为5169。“5169/1000.0=5.169”,由于分母1000.0为浮点型,所以结果自动转换为浮点数,故printf('%1f\n',5.169)结果是5.16900。