1、二级 C+-219 及答案解析(总分:73.50,做题时间:90 分钟)一、选择题(总题数:40,分数:73.50)1.有如下类定义: class A char*a: public: A():a() A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间 a=_; strcpy(a,aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.Dew charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-12.有下列程序: #include stdio.h struc
2、t st int x,y,date2=1.10,2,20; void main() struct st *p=date; printf(“%d,“, p-y); printf(“%d/n“,(+p)-x); 程序的运行结果是_。(分数:2.50)A.10,1B.20,1C.10,2D.20,23.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是二一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对4.C+中的模板包括_。(分数:2.50)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板D.变量模板和对象模板
3、5.数据结构中,与所使用的计算机无关的是数据的(分数:1.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构6.关于关键字 class 和 typename,下列表述中正确的是_。(分数:1.00)A.程序中的 typename 都可以替换为 classB.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class 或 typename 来声明参数的类型7.数据流程图(DFD 图)是 _ 。(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法
4、的需求分析工具8.有如下类定义: class Test char a;const char b; public: Test(char c)a=c;b=c; /第 1 行 void f(char a)constthis-a=a;) /第 2 行 void g(char b)this-b=b;) /第 3 行 char h()constreturn a;) /第 4 行 ; 编译时没有错误的行是_。(分数:2.00)A.第 1 行B.第 2 行C.第 3 行D.第 4 行9.有如下程序: #includeiostream using namespace std; class A public: s
5、tatic int a; void init()a=1; A(int a=2)init();a+; ; int A:a=0; A obj; int main() coutobj.a; return 0; 运行时输出的结果是_。(分数:1.00)A.0B.1C.2D.310.下面 _ 机制允许对一个函数名给出多个函数定义(分数:2.00)A.封装性B.继承性C.函数重载D.多态性11.下列选项中,能用作数据常量的是_。(分数:2.50)A.o115B.o118C.1.5e1.5D.115L12.对下列二叉树 (分数:1.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBE
6、G13.设有定义语句 int(*f)(int);,则下列叙述正确的是_。(分数:2.50)A.f 是基类型为 int 的指针变量B.f 是指向函数的指针变量,该函数具有一个 int 类型的形参C.f 是指向 int 类型一维数组的指针变量D.f 是函数名,该函数的返回值是其类型为 int 类型的地址14.有如下数组声明:int value 30;,下标值引用错误的是 _ 。(分数:2.00)A.value30B.value0C.value10D.value2015.执行语句序列 ofstream outfile(“DATA. DAT“); if(.)cout“OK“;else cout“FAI
7、L“; 后,如果文件打开成功,显示“OK”,否则显示“FAIL”。由此可知,上面 if 语句的处的表达式是_。(分数:2.50)A.outfile.fail()或 outfileB.outfile.good()或!outfileC.out.file.good()或 outfileD.outfile.fail()或!outfile16.若要对类 BigNumber 中重载的类型转换运算符 long 进行声明,下列选项中正确的是_。(分数:2.50)A.operator long()const;B.operator long(BigNumber);C.long operator long()con
8、st;D.long operator long(BigNumber);17.若有以下程序: #includeiostream usingnamespacestd; voidsub(intx,inty,int*2) *z=y+x; int main() int a,b,C; sub(8,4, switch(x) fcase 1: switch(y) case 0;a+;break; case 1:b+break; case 2:a+;b+;break; case 3:a+;b+; printf(“a=%d,b=%d/n“,a,b); 程序的运行结果是_。(分数:2.50)A.a=1,b=0B.a
9、=2,b=2C.a=1,b=1D.a=2,b=121.关键字 unsigned 不能修饰的类型是_。(分数:2.50)A.charB.intC.floatD.long int22.下列关于 C+流的描述中,错误的是 _ 。(分数:2.00)A.cout“A“表达式中输出字符 AB.eof 函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件23.概要设计中要完成的事情是 _ 。(分数:2.00)A.系统结构和数据结构的设计B.系统结构和过程的设计C.过程和接口的设计D.数据结构和过程的
10、设计24.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.自然连接B差C交D并25.下列关于函数重载的叙述中,错误的是_。(分数:2.00)A.重载函数的参数个数可以不同B.重载函数的参数类型可以不同C.重载函数的返回值类型必须不同D.重载函数的参数个数或参数类型必须有所不同26.有如下类定义: class Point int xx, yy; public: Point(): xx(0), yy(0) Point(in
11、t x, int y=0): xx(x),yy(y) ; 若执行语句 Point a(2), b3, *c4; 则 Point 类的构造函数被调用的次数是_。(分数:1.00)A.2 次B.3 次C.4 次D.5 次27.下列关于 this 指针的描述中,正确的是_。(分数:1.00)A.类的成员函数都有 this 指针B.类的友元函数都有 this 指针C.任何与类相关的函数都有 this 指针D.类的非静态成员函数都有 this 指针28.有如下程序: #includeiostream using namespace std; void fl(intx,inty) int z=x;x=y;
12、y=z; void f2(int x,int y) int z=x;x=y;y=z; int main() int x=10,y=26; f1(x,y); f2(x,y); coutyendl; return 0; 运行时的输出结果是_。(分数:2.50)A.10B.16C.26D.3629.假定 int 类型变量占用两个字节,其有定义 int x10 0,2,4;,则数组 x 在内存中所占字节数是(分数:2.00)A.3B.6C.10D.2030.关于 C+语言与 C 语言关系描述中错误的是(分数:1.00)A.C+语言是 C 语言的超集B.C+语言对 C 语言进行了扩充C.C+语言包含 C
13、 语言的全部语法特征D.C+语言与 C 语言都是面向对象的程序设计语言31.设有以下程序段: int a5=0,*p,*q; p=a; q=a; 则下列选项中,合法的运算是 _ 。(分数:1.00)A.p+qB.p-qC.p*qD.p%q32.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_ 。(分数:2.00)A.这是运算符的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值33.已知 n 是一个 int 型变量,下列语句中错误的是 _ 。(分数
14、:2.00)A.long*p=new longn;B.long pn;C.long*p=new longn;D.long p10;34.函数定义为 Fun(int i),变量定义 n=100,则下面调用正确的是_。(分数:1.00)A.Fun(20);B.Fun(20+n);C.Fun(n);D.Fun(n);35.有如下程序: # includeiostream usmg namespace std; class A public: A(int i): r1(i) void print()(cout“E“r1“-“; void print()constcout“C“r1*r1“一“; pri
15、vate: int r1; ; int main() A a1(2); const A a2(4); a1.print(); a2.print(); return 0; 运行时的输出结果是_。(分数:2.50)A.运行时出错B.E2-Cl6-C.C4-C16-D.E2-E4-36.计算机能直接执行的程序是_。(分数:2.50)A.源程序B.目标程序C.汇编程序D.可执行程序37.下列关于类定义的说法中,正确的是_。(分数:1.00)A.类定义中包括数据成员和函数成员的声明B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义38.已知主函数中通过如下语句
16、序列实现对函数模板 swap 的调用: int a10,b10; swap(a,b,10); 下列对函数模板 swap 的声明中,会导致上述语句序列发生编译错误的是_。(分数:2.50)A.templatetypename Tvoid swap(T a,T b,int size);B.templatetypename Tvoid swap(int size,T a,T b);C.templatetypename T1,typename T2void swap(T1 a,T2 b,int size);D.templateclass T1,class T2void swap(T1 a,T2 b,i
17、nt size);39.下列描述中,错误的是 _ 。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中的保护成员在派生类中仍是保护成员40.下面程序的运行结果为 _ 。 #includeiostream.h void main() char a=“3“; switch(a) case“3“:cout“3“; case“2“:cout“2“;break; default:cout“1“; (分数:2.00)A.3B.321C.31D.32二级 C+-21
18、9 答案解析(总分:73.50,做题时间:90 分钟)一、选择题(总题数:40,分数:73.50)1.有如下类定义: class A char*a: public: A():a() A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间 a=_; strcpy(a,aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.Dew charstrlen(aa)+1 B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-1解析:解析 对动态分配存储空间的考查,在 C+中,回车键需计一字符,即总的长度
19、为 strlen(aa)+1。2.有下列程序: #include stdio.h struct st int x,y,date2=1.10,2,20; void main() struct st *p=date; printf(“%d,“, p-y); printf(“%d/n“,(+p)-x); 程序的运行结果是_。(分数:2.50)A.10,1B.20,1C.10,2 D.20,2解析:解析 data2是两个结构体组成的数组,p 指向结构体数组的首地址,p-y 访问第一个结构体的第二个元素;(+p)x 访问第二个结构体的第一个元素。所以输出为 10,2。3.下列叙述中正确的是(分数:2.0
20、0)A.实体集之间一对一的联系实际上就是二一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对 解析:解析 实体集之间一对一的联系不一定是一一对应的关系。例如,在一个教室中,实体集“学生”与实体集“座位”之间是一对一的联系。因为实体集“学生”中的每一个学生最多与实体集“座位”中的一个座位有联系(学生坐在该座位上);并且实体集“座位”中中的每一个座位也最多与实体集“学生”中的一个学生有联系(座位上坐着该学生)。但该教室中的学生与座位之间不一定是一一对应的关系,因为有可能某些座位是空的,没有学生去坐。因此,选项 A 中的说法是错误的。在关系模型中,
21、由于使用表格数据来表示实体之间的联系,因此,可以直接描述多对多的实体联系。因此,选项 B 中的说法也是错误的。关系模型是与格式化模型完全不同的数据模型,它与层次模型、网状模型相比有着本质的区别。关系模型是用表格数据来表示实体本身及其相互之间的联系,它是建立在数学理论基础上的。因此,选项 C 中的说法也是错误的。4.C+中的模板包括_。(分数:2.50)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板 D.变量模板和对象模板解析:解析 模板是一种对类型进行参数化的工具,通常有两种形式:函数模板和类模板。函数模板针对仅参数类型不同的函数;类模板针对仅数据成员和成员函数类型不同的类。5
22、.数据结构中,与所使用的计算机无关的是数据的(分数:1.00)A.存储结构B.物理结构C.逻辑结构 D.物理和存储结构解析:解析 数据结构概念一般包括 3 个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。6.关于关键字 class 和 typename,下列表述中正确的是_。(分数:1.00)A.程序中的 typename 都可以替换为 class B.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class
23、或 typename 来声明参数的类型解析:解析 此题考查的是 class 和 typename 两个关键字。关键字 class 除了能用来定义类以外还能用来声明模板的虚拟类型参数。在用作声明虚拟类型参数时 typename 与 class 可以互换,但不能使用typename 来定义类;在模板形参表中除了可以用 typename 和 class 声明虚拟类型参数外,还可以使用普通类型声明常规函数,故选项 C 错误。7.数据流程图(DFD 图)是 _ 。(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具 解析:解析 数据流程
24、图是一种结构化分析描述模型,用来对系统的功能需求进行建模。8.有如下类定义: class Test char a;const char b; public: Test(char c)a=c;b=c; /第 1 行 void f(char a)constthis-a=a;) /第 2 行 void g(char b)this-b=b;) /第 3 行 char h()constreturn a;) /第 4 行 ; 编译时没有错误的行是_。(分数:2.00)A.第 1 行B.第 2 行C.第 3 行D.第 4 行 解析:解析 类 Test 中的常成员函数 h()返回数据成员 a 的值。9.有如下
25、程序: #includeiostream using namespace std; class A public: static int a; void init()a=1; A(int a=2)init();a+; ; int A:a=0; A obj; int main() coutobj.a; return 0; 运行时输出的结果是_。(分数:1.00)A.0B.1 C.2D.3解析:解析 本题考查构造函数,本题中对类中的 a 数据成员先是赋值为 0,当定义了对象 obj 时,执行构造函数,将 a 的值变为了 1,所以输出 1。10.下面 _ 机制允许对一个函数名给出多个函数定义(分数:
26、2.00)A.封装性B.继承性C.函数重载D.多态性 解析:11.下列选项中,能用作数据常量的是_。(分数:2.50)A.o115B.o118C.1.5e1.5D.115L 解析:解析 选项 A 的第一个字母是 o 而不是数字 O,所以不构成数值常量;选项 B 中,8 不是八进制数字,八进制数为 O 到 7;选项 C 中字母“e”后面的指数是小数而非整数,不合法,不是一个合法的指数形式的数值常量;在选项 D 中,可以在整型常量的后面加一个字母 L,表示这个常量在内存中占 4 字节。12.对下列二叉树 (分数:1.00)A.ACBDFEG B.ACBDFGEC.ABDCGEFD.FCADBEG解
27、析:解析 二叉树的遍历有三种:前序、中序和后序。中序遍历首先遍历左子树或左子结点,然后访问根结点,最后遍历右子树或右子结点,分析本题二叉树,对其进行中序遍历,结果为 ACBDFEG。13.设有定义语句 int(*f)(int);,则下列叙述正确的是_。(分数:2.50)A.f 是基类型为 int 的指针变量B.f 是指向函数的指针变量,该函数具有一个 int 类型的形参 C.f 是指向 int 类型一维数组的指针变量D.f 是函数名,该函数的返回值是其类型为 int 类型的地址解析:解析 定义语句 int(*f)(int)中 f 是指向函数的指针变量,该函数中也只有一个 int 型的形参。14
28、.有如下数组声明:int value 30;,下标值引用错误的是 _ 。(分数:2.00)A.value30 B.value0C.value10D.value20解析:15.执行语句序列 ofstream outfile(“DATA. DAT“); if(.)cout“OK“;else cout“FAIL“; 后,如果文件打开成功,显示“OK”,否则显示“FAIL”。由此可知,上面 if 语句的处的表达式是_。(分数:2.50)A.outfile.fail()或 outfileB.outfile.good()或!outfileC.out.file.good()或 outfile D.outfi
29、le.fail()或!outfile解析:16.若要对类 BigNumber 中重载的类型转换运算符 long 进行声明,下列选项中正确的是_。(分数:2.50)A.operator long()const; B.operator long(BigNumber);C.long operator long()const;D.long operator long(BigNumber);解析:解析 类型转换符必须作为成员函数重载。在重载类型转换符时,其类型名就是返回值类型,因此不需要声明返回值的类型。重载类型转换符“long”的形式如下: operator long(参数表);17.若有以下程序:
30、#includeiostream usingnamespacestd; voidsub(intx,inty,int*2) *z=y+x; int main() int a,b,C; sub(8,4, switch(x) fcase 1: switch(y) case 0;a+;break; case 1:b+break; case 2:a+;b+;break; case 3:a+;b+; printf(“a=%d,b=%d/n“,a,b); 程序的运行结果是_。(分数:2.50)A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1 解析:解析 本题考查的是 switch.c
31、ase 分支语句,x=1 时,首先执行 case 1 进行嵌套判断,y=0 时switch(0)成立,执行 case 0,a 自加 1,遇到 break,退出嵌套,接着执行 case 2,a 自加为 2,b 自加为 1,遇到 break,结束循环,此时 a=2,b=1,故选项 D 正确。21.关键字 unsigned 不能修饰的类型是_。(分数:2.50)A.charB.intC.float D.long int解析:解析 unsigned:修饰整型数据,无符号数据类型。22.下列关于 C+流的描述中,错误的是 _ 。(分数:2.00)A.cout“A“表达式中输出字符 A B.eof 函数可
32、以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件解析:解析 在 C+中输入用“cin”,输出用“cout”。23.概要设计中要完成的事情是 _ 。(分数:2.00)A.系统结构和数据结构的设计 B.系统结构和过程的设计C.过程和接口的设计D.数据结构和过程的设计解析:解析 软件概要设计的基本任务是:设计软件系统结构、数据结构及数据库设计、编写概要设计文档、概要设计文档评审。24.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1
33、 2 b 2 1 T A B C c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.自然连接B差 C交D并解析:解析 关系 T 中的元组是 R 关系中有而 S 关系中没有的元组的集合,所以进行的是差的运算。25.下列关于函数重载的叙述中,错误的是_。(分数:2.00)A.重载函数的参数个数可以不同B.重载函数的参数类型可以不同C.重载函数的返回值类型必须不同 D.重载函数的参数个数或参数类型必须有所不同解析:解析 两个或两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数进行最佳匹配,自动确定调用哪个函数,这就是函数的重
34、载。26.有如下类定义: class Point int xx, yy; public: Point(): xx(0), yy(0) Point(int x, int y=0): xx(x),yy(y) ; 若执行语句 Point a(2), b3, *c4; 则 Point 类的构造函数被调用的次数是_。(分数:1.00)A.2 次B.3 次C.4 次 D.5 次解析:解析 本题考查默认构造函数和带参数的构造函数,题目中定义一个对象 a(2)以及对象数组 b3,共执行 4 次构造函数,对象指针不调用构造函数。所以本题答案为 C。27.下列关于 this 指针的描述中,正确的是_。(分数:1.
35、00)A.类的成员函数都有 this 指针B.类的友元函数都有 this 指针C.任何与类相关的函数都有 this 指针D.类的非静态成员函数都有 this 指针 解析:解析 this 作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。另外,全局函数和静态函数都不能使用 this 指针。所以答案为 D。28.有如下程序: #includeiostream using namespace std; void fl(intx,inty) int z=x;x=y;y=z; void f2(int x,int y) int z=x;
36、x=y;y=z; int main() int x=10,y=26; f1(x,y); f2(x,y); coutyendl; return 0; 运行时的输出结果是_。(分数:2.50)A.10 B.16C.26D.36解析:解析 该题考查了函数参数传递的两种方式:引用传递和值传递。引用传递时 x 和 y 会交换,而值传递时二者不交换,因此选 10。29.假定 int 类型变量占用两个字节,其有定义 int x10 0,2,4;,则数组 x 在内存中所占字节数是(分数:2.00)A.3B.6C.10D.20 解析:解析 x 数组共有 10 个元素,在花括号内只提供 3 个初值,这表示只给前面
37、的 3 个成员赋值,后7 个元素的值为 0,所以,一共有 20 个字节。30.关于 C+语言与 C 语言关系描述中错误的是(分数:1.00)A.C+语言是 C 语言的超集B.C+语言对 C 语言进行了扩充C.C+语言包含 C 语言的全部语法特征D.C+语言与 C 语言都是面向对象的程序设计语言 解析:解析:C 语言是一种面向过程的程序设计语言,而 C+语言是一种面向对象的设计语言,C+语言是C 语言的超集,它包含了 C 语言的所有语言特性,并进行了扩充。31.设有以下程序段: int a5=0,*p,*q; p=a; q=a; 则下列选项中,合法的运算是 _ 。(分数:1.00)A.p+qB.
38、p-q C.p*qD.p%q解析:解析 本题考核指针的运算。C+语言中,指向同一字符串的指针之间能且只能进行减运算,减运算后返回的是一整型数,表示指针之间的地址偏移量。32.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_ 。(分数:2.00)A.这是运算符的重载运算符函数 B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值解析:解析 重载的是一个二元运算符“一”,所以此题选择 A。33.已知 n 是一个 int 型变量,下列语句中错误的是 _ 。(分数:2.0
39、0)A.long*p=new longn;B.long pn; C.long*p=new longn;D.long p10;解析:34.函数定义为 Fun(int i),变量定义 n=100,则下面调用正确的是_。(分数:1.00)A.Fun(20);B.Fun(20+n);C.Fun(n); D.Fun(n);解析:解析 本题考查函数的调用。当函数的参数是引用类型时,参数不能是常量、表达式和变量地址,只能是变量本身。35.有如下程序: # includeiostream usmg namespace std; class A public: A(int i): r1(i) void prin
40、t()(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; 运行时的输出结果是_。(分数:2.50)A.运行时出错B.E2-Cl6- C.C4-C16-D.E2-E4-解析:解析 const 关键字可以用于参与对重载函数的区分。重载的原则是常对象调用常成员函数,一般对象调用一般成员函数。36.计算机能直接执行的程序是_。(分数:2.50)A.源程序B.目标程序C.汇编程序D.可
41、执行程序 解析:解析 由高级语言编写的程序称为“源程序”;由二进制代码表示的程序称为“目标程序”;由汇编语言编写的程序称为“汇编程序”。对于计算机本身来说,它只能接收和处理由 0 到 1 的代码构成的二进制指令和数据。所以计算机能识别的程序是“目标程序”。而计算可以直接执行的程序是可执行程序,即后缀为.exe 的程序。37.下列关于类定义的说法中,正确的是_。(分数:1.00)A.类定义中包括数据成员和函数成员的声明 B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义解析:解析 类的成员的缺省访问权限是私有的,数据成员可以是私有,可以是公用的,也可以
42、是受保护的。类的成员函数可以在类内定义。38.已知主函数中通过如下语句序列实现对函数模板 swap 的调用: int a10,b10; swap(a,b,10); 下列对函数模板 swap 的声明中,会导致上述语句序列发生编译错误的是_。(分数:2.50)A.templatetypename Tvoid swap(T a,T b,int size);B.templatetypename Tvoid swap(int size,T a,T b); C.templatetypename T1,typename T2void swap(T1 a,T2 b,int size);D.templatecl
43、ass T1,class T2void swap(T1 a,T2 b,int size);解析:39.下列描述中,错误的是 _ 。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员 D.保护继承时基类中的保护成员在派生类中仍是保护成员解析:解析 保护继承时基类中的公有成员在派生类中是保护成员。40.下面程序的运行结果为 _ 。 #includeiostream.h void main() char a=“3“; switch(a) case“3“:cout“3“; case“2“:cout“2“;break; default:cout“1“; (分数:2.00)A.3B.321C.31D.32 解析:解析 本题主要考查 switch 语句的使用,在第一个 case 处,因为满足条件,所以输出字符 3,但这个分支没有 break 语句终止,所以会继续执行下面的分支语句,即输出字符 2,这时出现 break 语句,结束整个语句,即输出 32。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1