1、二级 C+笔试-299 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.执行语句:coutsetfill(*)setw(10)setfill(#)left123“OK“endl;后将输出(分数:2.00)A.123*OKB.123#OKC.123*OK*D.123#OK#2.有以下程序#includeiostreamusing namespace std;class MyClasspublic:MyClass(int n)number =n; /拷贝构造函数MyClass(MyClass”时,就会先调用虚基类 Base 的构造函数,使得 x
2、0,然后执行类 Derived1 的构造函数使得 x=10,再执行类 Derived2 的构造函数,使得 x=20。最后输出 x 的值为 20。50.下面程序的执行结果是_。#includeiostream.h#includeiomanip.husing namespace std;void main()coutsetfill(x)setw(10);cout“Hello“endl;(分数:2.00)填空项 1:_ (正确答案:xxxxxHello)解析:解析 本题考核 I/O 的格式化输出。setfill(x)表示填充字符为x,并且一直有效,直到再次设置填充字符为止。setw(10)表示将输入输出宽度设置为 10,当实际数据宽度小于指定的宽度时,多余的位置用填充字符填满;当实际数据的宽度大于设置的宽度时,仍按实际的宽度输出。宽度设置的效果只对一次输入或输出有效,在完成一个数据的输入或输出后,宽度设置自动恢复为 0(表示按数据实际宽度输入输出)。题中字符串“Hello”的宽度不够 10,所以其前面将有 5 个填充符 x。