【正确答案】
A
【答案解析】float类型变量有效位数为6~7位,double类型变量有效位数为15~16位。printf函数控制字符“%f”输出float类型,“%lf”输出double类型。对于float或double型数据,在指定数据输出宽度的同时,也可以指定小数部分的位数,格式为“%m.nf”,表示数据输出总的宽度为m位,其中小数部分占n位。当数据的小数位数多于指定宽度n时,截去右边多余的小数,并对截去的第一位小数做四舍五入处理;而当数据的小数位数少于指定宽度n时,在小数的右边补零;当m小于有效位数时,整数部分输出所有有效数字并且自动对齐,小数部分按照n指定位数输出。选项A按照float格式输出数据,宽度为5位,保留小数0位,输出为2,不能完整输出x。选项B按照float格式输出数据,输出为2.120000。选项C按照double格式输出数据,输出为2.120000。选项D按照float格式输出数据,保留小数位数为5,输出为2.12000。