有如下程序    #include<iostream>    #include<iomanip>    using namespace std;    int main(){      cout<<setprecision(3)<<fixed<<setfi

admin2017-10-17  20

问题 有如下程序    #include<iostream>    #include<iomanip>    using namespace std;    int main(){      cout<<setprecision(3)<<fixed<<setfill(’*’)<<setw(8);      cout<<12.345<<_______<<34.567;      return 0;    }     若程序的输出是:    ** 12.345**34.567    则程序中下划线处遗漏的操作符是

选项 A、setprecision(3)
B、fixed
C、setfill(’*’)
D、setw(8)

答案D

解析 本题考查的是输出的格式控制。本例中,操作符setprecision的作用是设置浮点数的精度;操作符fixed的作用是让浮点数按定点格式输出;操作符setfill的作用是设置填充字符;操作符setw的作用是设置输入输出的宽度。宽度设置setw是所有格式设置中惟一的一次有效的设置,即设置的宽度只对其后的一次输入输出操作有效,而其余操作符设置后会一直有效,直到再次设置时为止。因此,若下划线处什么也不填,则输出的结果应该为**12.34534.567。和要求的输出相比较,只缺少两个填充字符’*’。由此可知,下划线处应该填一个让34.567的输出宽度为8的操作符,即setw(8)。故应该选择D。
转载请注明原文地址:https://kaotiyun.com/show/ZXAp777K
0

最新回复(0)