1、二级 C+-180 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列数据结构中,属于非线性结构的是_。(分数:2.50)A.循环队列B.带链队列C.二叉树D.带链栈2.下列数据结果中,能够按照“先进后出”原则存取数据的是_。(分数:2.50)A.循环队列B栈C.队列D.二叉树3.对于循环队列,下列叙述中正确的是_。(分数:2.50)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针4.算法的空间复杂度是指_。(分数:2.50)A.算法在执行过程中所需要的计算
2、机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数5.软件设计中划分模块的一个准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合6.下列选项中不属于结构化程序设计原则的是_。(分数:2.50)A.可封装B.自顶向下C.模块化D.逐步求精7.软件详细设计产生的图如下: (分数:2.50)A.N-S 图B.PAD 图C.程序流程图D.E-R 图8.数据库管理系统是_。(分数:2.50)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统9.在 E-R 图中,用来表示实体联系
3、的图形是_。(分数:2.50)A.椭圆形B.矩形C.菱形D.三角形10.有三个关系 R、S 和 T 如下: (分数:2.50)A.选择B.投影C交D并11.已知函数 FA 调用 FB,若要把这两个函数定义在同一个文件中,则_。(分数:2.50)A.FA 必须定义在 FB 之前B.FB 必须定义在 FA 之前C.若 FA 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前D.若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA 的定义之前12.有如下两个类定义: class AA; class BB AA v1, *v2; BB v3; Int *v4; ; 其中有一个成
4、员变量的定义是错误的,这个变量是_。(分数:2.50)Av1Bv2Cv3Dv413.有如下类定义: class XX int xdata; public: XX(int n=0):xdata(n) ; class YY:public XX int ydata; public: YY(int m=0, int n=0):XX(m), ydata(n) ; YY 类的对象包含的数据成员的个数是_。(分数:2.50)A.1B.2C.3D.414.下列有关运算符函数的描述中,错误的是_。(分数:2.50)A.运算符函数的名称总是以 operator 为前缀B.运算符函数的参数可以是对象C.运算符函数只
5、能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数15.下列关于模板形参的描述中,错误的是_。(分数:2.50)A.模板形参表必须在关键字 template 之后B.模板形参表必须用括弧()括起来C.可以用 class 修饰模板形参D.可以用 typename 修饰模板形参16.在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是_。(分数:2.50)A.ios_base:curB.ios_base:begC.ios_base:outD.ios_base:end17.下列字符串可以用作 C+标识符的是_。(分数:2.50)A.2009vatB.gotoC.tes
6、t-2009D._12318.下列枚举类型的定义中,包含枚举值 3 的是_。(分数:2.50)A.enum test RED, YELLOW, BLUE, BLACK;B.enum test RED, YELLOW=4, BLUE, BLACK;C.enum test RED=-1, YELLOW, BLUE, BLACK;D.enum test RED, YELLOW=6, BLUE, BLACK;19.有如下程序段: int i=1; while(1) i+; if(i=10) break; if(i%2=0) cout“*“; 执行这个程序段输出字符*的个数是_。(分数:2.50)A.1
7、0B.3C.4D.520.已知数组 arr 的定义如下: int arr5=1, 2, 3, 4, 5; 下列语句中输出结果不是 2 的是_。(分数:2.50)A.cout*arr+1endl;B.cout*(arr+1)endl;C.coutarr1endl;D.cout*arrendl;21.计算斐波那契数列第 n 项的函数定义如下: int fib(int n) if(n=0) return 1; else if(n=1) return 2; else return fib(n -1)+fib(n-2); 若执行函数调用表达式 fib(2),函数 fib 被调用的次数是_。(分数:2.5
8、0)A.1B.2C.3D.422.Sample 是一个类执行下面语句后,调用 Sample 类的构造函数的次数是_。 Sample a2, *p=new Sample;(分数:2.50)A.0B.1C.2D.323.下列关于虚基类的描述中,错误的是_。(分数:2.50)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明“class B:virtual public A”说明类 B 为虚基类D.建立派生类对象时,首先调用虚基类的构造函数24.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是_。(分数:2.50)A.不合法的运算符B.一
9、元运算符C.无操作数的运算符D.二元运算符25.有如下模板声明: templatetypename T1, typename T2 class A; 下列声明中,与上述声明不等价的是_。(分数:2.50)A.templateclass T1, class T2class A;B.templateclass T1, typenarne T2class A;C.templatetypename T1, class T2class A;D.templatetypename T1, T2class A;26.下列关于 C+流的描述中,错误的是_。(分数:2.50)A.cout“A“表达式可输出字符 A
10、B.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件27.有如下程序: #includeiostream using namespace std; class Toy public: Toy(char*_n)strcpy(name, _n); count+; Toy()count-; char* GetName()return name; static int getCount()return count; private: char name10; static int
11、 count; ; int Toy:count=0; int main() Toy t1(“Snoopy“), t2(“Mickey“), t3(“Barbie“); coutt1.getCount()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.1B.2C.3D.运行时出错28.有如下程序: #includeiostream using namespace std; class A public: A(int i):r1(i) void print()cout“E“r1“-“; void print() constcout“C“r1*r1“-“; private
12、: int r1; ; int main() A a1(2); const A a2(4); a1.print(); a2.print(); return 0; 运行时的输出结果是_。(分数:2.50)A.运行时出错B.E2-C16-C.C4-C16-D.E2 E4-29.有如下程序: #includeiostream using namespace std; class Name char name20; public: Name() strcpy(name, “); cout“?“; Name(char *fname) strcpy(name, fname); cout“?“; ; int
13、 main() Name names3=Name(“张三“), Name(“李四“); return 0; 运行此程序输出符号?的个数是_。(分数:2.50)A.0B.1C.2D.330.有如下程序: #includeiostream using namespace std; public: AA()cout“1“; ; class BB:public AA int k; public: BB():k(0)cout“2“; BB(int n):k(n)cout“3“; int main() BB b(4), c; return 0; 运行时的输出结果是_。(分数:2.50)A.1312B.13
14、2C.32D.141231.有如下程序: #includeiostream us ing namespace std; class C1 public: C1()cout1; ; Class C2:public C1 public: C2()cout2; ; int main() C2 cb2; C1 *cb1; return 0; 运行时的输出结果是_。(分数:2.50)A.121B.21C.211D.1232.有如下程序: #includeiostream us ing namespace std; class Publication/出版物类 char name30; public: P
15、ublication(char *name=“未知名称“) strcpy(this-name, name); const char *getName()constreturn name; virtual const char *getType()constreturn“未知类型“; ; class Book:public Publication/书类 public: Book(char *name):Publication(name) virtual const char *getType()constreturn“书“; ; void showPublication(Publication
16、int main() Book book(“精彩人生“); showPublication(book); return 0; 运行时的输出结果是_。(分数:2.50)A.未知类型:未知名称B.未知类型:精彩人生C.书:未知名称D.书:精彩人生33.下列关于运算符重载的描述中,错误的是_。(分数:2.50)A.:运算符不能重载B.类型转换运算符只能作为成员函数重载C.将运算符作为非成员函数重载时必须定义为友元D.重载运算符应完成“下标访问”操作34.有如下程序: #includeiostream #includeiomanip using namespace std; int main() in
17、t s=123, 234; coutrightsetfill(“*“)setw(6); for(int i=0; i2; i+)coutsiendl; return 0; 运行时的输出结果是_。(分数:2.50)A.123234B.*123234C.*123*234D.*123234*35.有如下类定义: class A char *a; public: A():a(0) A(char *aa) /把 aa 所指字符串复制到 a 所指向的存储空间 a=_; strcpy(a, aa); strcpy(a, aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.n
18、ew charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-136.已知类 MyClass 中有一个只需要一个 double 型参数的构造函数,且将运算符“-”重载为友元函数。若语句序列 MyClass x(4.2), y(6.5), z(0.0); z=8.1-y; y=x-2.8; 能够正常运行,运算符“operator-”应该在类中声明为_。(分数:2.50)A.friend MyCIass operator-(MyClassB.friend MyClass operator-(MyClass, My
19、Class);C.friend MyClass operator-(MyClass, MyClassD.friend MyClass operator-(MyClass37.模板函数的真正代码是在_时产生的。(分数:2.50)A.声明函数B.定义函数C.调用函数D.运行执行函数38.使用 setw 操作符对数据进行格式输出时,应包含头文件_。(分数:2.50)A.iostreamB.fstreamC.stdioD.iomanip39.有如下程序: #includeiostream using namespace std; class Base public: Base()id=0; int i
20、d; ; class Derived1:virtual public Base public: Derived1()id+=10; ; class Derived2:virtual public Base public: Derived2()id+=20; ; class Derived:public Derived1, public Derived2 ; int main() Derived obj; coutobj.idendl; return 0; 其运行结果是_。(分数:2.50)A.0B.10C.20D.3040.与语句“coutendl;”不等价的是_。(分数:2.50)A.cou
21、t“n“B.cout“/12“C.cout“/xA“D.cout“/0“二级 C+-180 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列数据结构中,属于非线性结构的是_。(分数:2.50)A.循环队列B.带链队列C.二叉树 D.带链栈解析:解析 线性结构满足两个条件:有且仅有一个根结点;每个结点最多有一个前什,也最多一个后件,栈和队列均满足这阳个条件,属于线性结构。二叉树属于非线性结构,因为除了叶子结点外,每个结点都可以有两个后件,不满足线性表的条件。2.下列数据结果中,能够按照“先进后出”原则存取数据的是_。(分数:2.50)A.
22、循环队列B栈 C.队列D.二叉树解析:解析 栈是一种线性表,其插入或者删除运算都在表的一端进行,即按照“先进后出”原则存取数据。3.对于循环队列,下列叙述中正确的是_。(分数:2.50)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针 解析:解析 在循环队列中用队尾指针(rear)指向队列中的队尾元素,用队头指针(front)指向队头元素的前一个位置。在循环队列结构中,一般情况下 rearfront,当存储空间的最后一个位置已被使用,而要进行入队时,只需要存储空间的第一个位置空闲,便可将元素加入到第一个位置,即将存
23、储空间的第一个位置为队尾。此时便有 frontrear。4.算法的空间复杂度是指_。(分数:2.50)A.算法在执行过程中所需要的计算机存储空间 B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析 算法的空间复杂度是指算法在执行过程中所需要的计算机存储空间。5.软件设计中划分模块的一个准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析 耦合性和内聚性是模块独立性的两个标准。在程序结构中,各模块的内聚性越强则耦合性就越弱。一般较为优秀的软件设计,应尽量做到高内聚、低耦合。6.下列选项中不属
24、于结构化程序设计原则的是_。(分数:2.50)A.可封装 B.自顶向下C.模块化D.逐步求精解析:解析 结构化程序设计的基本原则包括:模块化设计、自顶向下原则、逐步求精原则和限制使用goto 语句。7.软件详细设计产生的图如下: (分数:2.50)A.N-S 图B.PAD 图C.程序流程图 D.E-R 图解析:解析 程序流程图基本图符有:控制流(用箭头表示)、加工步骤(用方框表示)、逻辑条件(用菱形表示)。有 5 种控制结构:顺序、选择、多分支选择、后判断重复型和先判断重复型。题目中为选择结构的程序流程图。8.数据库管理系统是_。(分数:2.50)A.操作系统的一部分B.在操作系统支持下的系统
25、软件 C.一种编译系统D.一种操作系统解析:解析 数据库管理系统是一种系统软件,负责数据库中的数据组织、数组操纵、数据维护、控制和保护以及数据服务等。9.在 E-R 图中,用来表示实体联系的图形是_。(分数:2.50)A.椭圆形B.矩形C.菱形 D.三角形解析:解析 E-R 图用菱形表示联系,矩形表示实体,椭圆形表示属性。10.有三个关系 R、S 和 T 如下: (分数:2.50)A.选择B.投影C交D并 解析:解析 选择和投影是对单个关系进行操作,结果是一个关系。交和并运算要求参与运算的表有相同的属性,交运算的结果是两个表的公共部分,并运算是将两个表整合成一个表。11.已知函数 FA 调用
26、FB,若要把这两个函数定义在同一个文件中,则_。(分数:2.50)A.FA 必须定义在 FB 之前B.FB 必须定义在 FA 之前C.若 FA 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前D.若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA 的定义之前 解析:解析 FA 调用 FB 时,对 FA 和 FB 的定义顺序没有要求,只是当 FB 定义存 FA 后时,应该在 FA 定义之前声明 FB。12.有如下两个类定义: class AA; class BB AA v1, *v2; BB v3; Int *v4; ; 其中有一个成员变量的定义是错误的,这个变量是_
27、。(分数:2.50)Av1Bv2Cv3 Dv4解析:解析 对象可以成为另一个类的成员,但是对象不能成为自身类的成员。故 C 的定义是错误的。13.有如下类定义: class XX int xdata; public: XX(int n=0):xdata(n) ; class YY:public XX int ydata; public: YY(int m=0, int n=0):XX(m), ydata(n) ; YY 类的对象包含的数据成员的个数是_。(分数:2.50)A.1B.2 C.3D.4解析:解析 YY 类的对象的数据成员除了自身定义的 ydata 外,还有从基类继承的数据成员 xd
28、ata。14.下列有关运算符函数的描述中,错误的是_。(分数:2.50)A.运算符函数的名称总是以 operator 为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数 D.在表达式中使用重载的运算符相当于调用运算符重载函数解析:解析 除了“=”、“”、“()”、“-*”、“?:”这五个运算符以及所有类型转换运算符只能作为成员函数重载,其他运算符还可以作为非成员函数重载。15.下列关于模板形参的描述中,错误的是_。(分数:2.50)A.模板形参表必须在关键字 template 之后B.模板形参表必须用括弧()括起来 C.可以用 class 修饰模板形参D.可以用 type
29、name 修饰模板形参解析:解析 根据模板函数的定义可知,模板形参表是用括起来的,而不是()。16.在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是_。(分数:2.50)A.ios_base:cur B.ios_base:begC.ios_base:outD.ios_base:end解析:解析 ios_base:cur 是相对于当前位置,ios_base:beg 是相对于文件首,ios_base:out 是为输出而打开,ios_base:end 是相对于文件尾。17.下列字符串可以用作 C+标识符的是_。(分数:2.50)A.2009vatB.gotoC.test-2009D._1
30、23 解析:解析 在 C+中,标识符只能使用字母、数字、下画线,其中数字不能是首字符,关键字也不能为标识符。A 是以数字开头的字符串,B 是关键字,C 中包含-,非标识符的合法构成。18.下列枚举类型的定义中,包含枚举值 3 的是_。(分数:2.50)A.enum test RED, YELLOW, BLUE, BLACK; B.enum test RED, YELLOW=4, BLUE, BLACK;C.enum test RED=-1, YELLOW, BLUE, BLACK;D.enum test RED, YELLOW=6, BLUE, BLACK;解析:解析 n 个枚举值若全未赋值时
31、,它们自动自左至右分别与整数 0,1,n-1 对应。若第 i 个枚举值赋值为 m,则其未赋值的后续枚举值分别为 m+1,m+2,对应,直到下一个赋值了的枚举值或结束。19.有如下程序段: int i=1; while(1) i+; if(i=10) break; if(i%2=0) cout“*“; 执行这个程序段输出字符*的个数是_。(分数:2.50)A.10B.3C.4 D.5解析:解析 由题意知 i 从 1 开始到 9,凡是 2 的倍数的数字就输出一个*,故有 4 个*输出。20.已知数组 arr 的定义如下: int arr5=1, 2, 3, 4, 5; 下列语句中输出结果不是 2
32、的是_。(分数:2.50)A.cout*arr+1endl;B.cout*(arr+1)endl;C.coutarr1endl;D.cout*arrendl; 解析:解析 2 是数组元素第二个元素,*arr 是数组的第一个元素 1,因为数组下标是从 0 开始计起的,所以 arr1是第二个元素。arr 是数组首地址,arr+1 为第二个元素地址。故答案 D 的输出不是 2。21.计算斐波那契数列第 n 项的函数定义如下: int fib(int n) if(n=0) return 1; else if(n=1) return 2; else return fib(n -1)+fib(n-2);
33、若执行函数调用表达式 fib(2),函数 fib 被调用的次数是_。(分数:2.50)A.1B.2 C.3D.4解析:解析 fib(2)=fib(1)+fib(0);fib(1)调用一次,fib(0)调用一次,一共调用 2 次。22.Sample 是一个类执行下面语句后,调用 Sample 类的构造函数的次数是_。 Sample a2, *p=new Sample;(分数:2.50)A.0B.1C.2D.3 解析:解析 创建数组对象时,因为数组的长度为 2,调用 2 次构造函数。动态创建对象指针时,再调用一次构造函数。23.下列关于虚基类的描述中,错误的是_。(分数:2.50)A.使用虚基类可
34、以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明“class B:virtual public A”说明类 B 为虚基类 D.建立派生类对象时,首先调用虚基类的构造函数解析:解析 声明“class B:virtual public A”说明类 A 为虚基类。24.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是_。(分数:2.50)A.不合法的运算符B.一元运算符 C.无操作数的运算符D.二元运算符解析:解析 成员函数有隐含参数的 this 指针,一般是第一个操作数,并不显式出现在参数表中。即对于单目运算符,参数表为空,对于双目运算符,参数表中有
35、一个参数。25.有如下模板声明: templatetypename T1, typename T2 class A; 下列声明中,与上述声明不等价的是_。(分数:2.50)A.templateclass T1, class T2class A;B.templateclass T1, typenarne T2class A;C.templatetypename T1, class T2class A;D.templatetypename T1, T2class A; 解析:解析 在模板声明中,class 和 typename 是可以相互替换的,但是在类模板的声明中,class 是不可以被替换为
36、typename。26.下列关于 C+流的描述中,错误的是_。(分数:2.50)A.cout“A“表达式可输出字符 A B.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件解析:解析 cout“A“是输出 A 的表达式,与 cin 连用。27.有如下程序: #includeiostream using namespace std; class Toy public: Toy(char*_n)strcpy(name, _n); count+; Toy()count-; ch
37、ar* GetName()return name; static int getCount()return count; private: char name10; static int count; ; int Toy:count=0; int main() Toy t1(“Snoopy“), t2(“Mickey“), t3(“Barbie“); coutt1.getCount()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.1B.2C.3 D.运行时出错解析:解析 创建埘象 t1、t2、t3 时,调用含参构造函数三次,因为 count 是静态数据成员,三次c
38、ount 自加都是同一数据的自加,三次调用后 count 的值为 3,利用对象调用静态成员函数输出 count 的值。28.有如下程序: #includeiostream using namespace std; class A public: A(int i):r1(i) void print()cout“E“r1“-“; void print() constcout“C“r1*r1“-“; private: int r1; ; int main() A a1(2); const A a2(4); a1.print(); a2.print(); return 0; 运行时的输出结果是_。(分
39、数:2.50)A.运行时出错B.E2-C16- C.C4-C16-D.E2 E4-解析:解析 创建对象 a1 和常对象 a2,分别将其 i 和 r1 值初始化为 2,4,调用 a1.print()输出 E2-,调用 a2.print(),因为 a2 是常对象,只能调用常成员函数。所以输出为 C16-。29.有如下程序: #includeiostream using namespace std; class Name char name20; public: Name() strcpy(name, “); cout“?“; Name(char *fname) strcpy(name, fname
40、); cout“?“; ; int main() Name names3=Name(“张三“), Name(“李四“); return 0; 运行此程序输出符号?的个数是_。(分数:2.50)A.0B.1C.2D.3 解析:解析 创建数组对象,其数组长度为 3,三次调用构造函数,其中两次调用含参构造函数,输出两个?,一次调用无参构造函数,输出一个?。30.有如下程序: #includeiostream using namespace std; public: AA()cout“1“; ; class BB:public AA int k; public: BB():k(0)cout“2“; B
41、B(int n):k(n)cout“3“; int main() BB b(4), c; return 0; 运行时的输出结果是_。(分数:2.50)A.1312 B.132C.32D.1412解析:解析 创建对象 b 时,派生类的构造函数要调用基类的构造函数,输出 1,再调用派生类的含参构造函数,输出 3,创建对象 c 时,先调用基类的构造函数,输出 1,再调用派生类的无参构造函数,输出 2。31.有如下程序: #includeiostream us ing namespace std; class C1 public: C1()cout1; ; Class C2:public C1 pub
42、lic: C2()cout2; ; int main() C2 cb2; C1 *cb1; return 0; 运行时的输出结果是_。(分数:2.50)A.121B.21 C.211D.12解析:解析 根据派生类析构函数的执行顺序,程序结束时先调用派生类的析构函数,输出 2,再调用基类的构造函数输出 1。32.有如下程序: #includeiostream us ing namespace std; class Publication/出版物类 char name30; public: Publication(char *name=“未知名称“) strcpy(this-name, name)
43、; const char *getName()constreturn name; virtual const char *getType()constreturn“未知类型“; ; class Book:public Publication/书类 public: Book(char *name):Publication(name) virtual const char *getType()constreturn“书“; ; void showPublication(Publication int main() Book book(“精彩人生“); showPublication(book);
44、return 0; 运行时的输出结果是_。(分数:2.50)A.未知类型:未知名称B.未知类型:精彩人生C.书:未知名称D.书:精彩人生 解析:解析 创建对象 book,派生类的构造函数调用基类的构造函数将未知名称赋值为“精彩人生”。然后调用派生类的构造函数。showPublication 函数参数是引用,一个基类的引用可以指向派生类对象,因此 p.getType()调用的是引用实际指向的派生类的函数定义版本,p.getName()调用的是基类的函数定义版本。输出书:精彩人生。33.下列关于运算符重载的描述中,错误的是_。(分数:2.50)A.:运算符不能重载B.类型转换运算符只能作为成员函数
45、重载C.将运算符作为非成员函数重载时必须定义为友元 D.重载运算符应完成“下标访问”操作解析:解析 运算符重载一般有两种形式:以成员函数和非成员函数重载,非成员函数通常为友元,但不一定是友元。34.有如下程序: #includeiostream #includeiomanip using namespace std; int main() int s=123, 234; coutrightsetfill(“*“)setw(6); for(int i=0; i2; i+)coutsiendl; return 0; 运行时的输出结果是_。(分数:2.50)A.123234B.*123234 C.*
46、123*234D.*123234*解析:解析 设置对齐方式一般在设置输出宽度的情况下才会生效,setw 设置只对一次输出有效。输出s0时,设置其对齐方式为有对齐,填充字符为*,输出宽度为 6,即*123,当输出 s1时,setw 失效,故直接输出 234。35.有如下类定义: class A char *a; public: A():a(0) A(char *aa) /把 aa 所指字符串复制到 a 所指向的存储空间 a=_; strcpy(a, aa); strcpy(a, aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.new charstrlen(aa)+1 B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-1解析:解析 用 new 来动态创建空间,数组长度应该为将要复制的字符串长度+1。36.