阅读下面程序: #include <iomanip. h> int main () { cout<<setfill( ’*’ )<<setw( 8 ); cout<<setprecision( 5 )<<3.1

admin2010-06-06  26

问题 阅读下面程序:    #include <iomanip. h>    int main ()    {       cout<<setfill(  ’*’  )<<setw( 8 );       cout<<setprecision( 5 )<<3.1415926<<end1;       return 0;    }    则该程序的输出结果是 (   )。

选项 A、3.1415**
B、***3.1416
C、3.141593
D、**3.14159

答案2

解析 本题主要考察C++中输入输出流的格式控制操作。C++允许使用 setprecision操纵符来控制输出对象的输出精度,若程序中没有指定输出精度,则其默认值为6。C++同时允许使用setfill()操纵符设置填充符,默认填充字符为空格符“”。本题程序中,首先通过setfill()操纵符设置填充字符为星号“*”,并设置输出宽度为 8位;输出对象前,设置对象的输出精度为5,因此对象3.1415926的实际输出数值为3.1416(自动进行四舍五入);再把宽度设置考虑进去,由于默认对齐方式为右对齐,因此数值左边需要加填充符,即应该填充三个“*”符号以满足输出宽度为8位的要求。故程序的最终输出应该是“***3.1416”。
转载请注明原文地址:https://kaotiyun.com/show/Erjp777K
0

最新回复(0)