计算机二级

有如下程序: include include using namespace std; int main() {cout.f有如下程序: #include <iostream> #include <iomanip> using namespace std; int main() { cout.fill('*'); cout.width(6); cout.fill('#'); cout<<123<<end1; return 0; } 执行生的输出结果是( )。A. ###123B.123###C. **

题目
有如下程序: include include using namespace std; int main() {cout.f

有如下程序: #include <iostream> #include <iomanip> using namespace std; int main() { cout.fill('*'); cout.width(6); cout.fill('#'); cout<<123<<end1; return 0; } 执行生的输出结果是( )。

A. ###123

B.123###

C. ***123

D.123***

参考答案和解析
正确答案:A
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有如下程序:include includeusing namespace std;int main(){cout.fill('*

有如下程序:#include <iostream>#include<iomanip>using namespace std;int main(){ cout.fill('*'); cout.width(6); cout.fill('#'); cout<<123<<end1; return 0;}执行后的输出结果是( )。

A.###123

B.123###

C.***123

D.123***


正确答案:A

第2题:

有如下程序include include using namespace std;int main( ){cout<

有如下程序 #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

第3题:

有如下程序: include include using namespace std; int ma

有如下程序: #include <iostream> #include <iomanip> using namespace std; int main() { cout.fill('*'); cout << left << setw(4) << 123 << "OK" << endl; return 0; }

A.123*OK

B.123*OK**

C.*123OK

D.*123**OK


正确答案:A
解析:本题考查了输出流的格式控制。cout的fill()方法的作用是设置填充字符,若输出数据宽度小于设置宽度,则空闲位置用填充字符填满。left和endl是C++预定义的用于格式控制的符号常量,前者使输出数据在指定宽度内左对齐,后者使输出换行。setw()函数的作用是设置输入输出宽度,不过宽度设置的效果只对一次输入或输出有效,在完成了一个数据的输入或输出后,宽度设置自动恢复为0(表示按数据实际宽度输入输出)。所以在本题中,输出整数123时宽度为4且左对齐,空出最后一位填入填充字符'*',结果是123*:输出字符串"OK"时宽度自动恢复为0,结果是OK。故程序的输出结果是123*OK,应该选择A。

第4题:

有如下程序:includeincludeusing namespace std;int main( ){int S[ ]={12

有如下程序: #include<iostream> #include<iomanip> using namespace std; int main( ){ int S[ ]={123,234}; cout<<right<<setfill('*')<<setw(6); for(int i=0;i<2;i++){COUt<<s[i]<<endl;} return 0; } 程序的输出结果是

A.123 234

B.***123 234

C.***123 ***234

D.***123 234***


正确答案:B
解析:setfill('*')填充设置仅影响紧跟其后的输出操作,第二次循环时失效

第5题:

如下程序的输出结果是includevoid fun(int & X,inty){intt=x;x=y;y=t;}int main(){in

如下程序的输出结果是 #include<iostream> void fun(int & X,inty){intt=x;x=y;y=t;} int main( ){ int a[2]={23,42}; fun(a[1],a[0]); std::cout<<a[0]<<","<<a[1]<<std::endl; return 0; }

A.42,42

B.23,23

C.23,42

D.42,23


正确答案:B
解析:参数X是引用传递,传递的是地址:参数Y是值传递,函数fun( )是做X与Y值交换,交换后X的值要被回传给a[1],此时a[1]=a[0]=23。

第6题:

下面程序的执行结果是【】。 include include using namespace std; void main(

下面程序的执行结果是【 】。

include<iostream>

include<iomanip>

using namespace std;

void main()

{

cout<<setfill('x')<<setw(10);

cout<<"Hello"<<endl;

}


正确答案:xxxxxHello
xxxxxHello

第7题:

有如下程序:include include using namespace std;int main(){cout.fill('

有如下程序:#include <iostream>#include <iomanip>using namespace std;int main(){cout.fill('*');cout<<left<<setw(4)<<123<< "OK"<<end1;return 0;}执行这个程序的输出结果是( )。

A.123*OK

B.123*OK**

C.*123OK

D.*123**OK


正确答案:A

第8题:

有如下程序 include include using namespace std; cla

有如下程序 #include <iostream> #include <iomanip> using namespace std; class MyClass { public: MyClass() { cout<<'A'; } MyClass(char c){ cout<<c; } ~MyClass(){ cout<<'B'; } }; int main( ) { MyClass p1,*p2; p2=new MyClass('X'); delete p2; return 0; } 执行这个程序屏幕上将显示输出

A.ABX

B.ABXB

C.AXB

D.AXBB


正确答案:D
解析:本题主要考查的是构造函数和析构函数。构造函数在对象被创建的时候由系统自动调用,而析构函数在对象的生存期即将结束的时候由系统自动调用。本例的main()函数中,第1条语句定义了一个MyClass对象和一个MyClass类型指针,此时创建了1个对象,因为没有构造参数,故会调用默认构造函数,输出一个'A'。第2条语句通过new运算符动态创建了1个MyClass对象,此时传入了一个构造参数'X',所以会调用相应的构造函数,输出一个'X'。第3条语句使用delete运算符释放了1个对象,所以会调用1次析构函数,输出一个'B'。最后,当main()函数结束时,局部变量p1的生存期结束,故还要调用1次析构函数输出一个'B'。因此,最终输出结果是AXBB,应该选择D。

第9题:

有如下程序 include include using namespace std; int main(

有如下程序 #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。