【计算机类职业资格】二级C++分类模拟278及答案解析.doc

上传人:visitstep340 文档编号:1324276 上传时间:2019-10-17 格式:DOC 页数:20 大小:74.50KB
下载 相关 举报
【计算机类职业资格】二级C++分类模拟278及答案解析.doc_第1页
第1页 / 共20页
【计算机类职业资格】二级C++分类模拟278及答案解析.doc_第2页
第2页 / 共20页
【计算机类职业资格】二级C++分类模拟278及答案解析.doc_第3页
第3页 / 共20页
【计算机类职业资格】二级C++分类模拟278及答案解析.doc_第4页
第4页 / 共20页
【计算机类职业资格】二级C++分类模拟278及答案解析.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、二级 C+分类模拟 278 及答案解析(总分:82.00,做题时间:90 分钟)一、选择题(总题数:40,分数:82.00)1.有如下程序: #includeiostream using namespace std; class B public: B(int xx):x(xx)+count;x+=10; virtual void show()const coutcount“_“xendl; protected: static int count; private: int x; ; class D:public B public: D(int xx,int yy):B(xx),y(yy)(+

2、count;y+=100; virtual void show()const coutcount“_“yendl; private: int y; ; int B:count=0; int main() B*ptr=new D(10,20); ptr-show(); delete ptr; return 0; 运行时的输出结果是_。(分数:2.50)A.1_120B.2_120C.1_20D.2_202.假定 AB 为一个类,则执行 AB x;语句时将自动调用该类的(分数:2.00)A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数3.下列语句段将输出字符“*“的个数为_。 in

3、t i=100; while(1) i-; if(i=0) break; cout“*“; (分数:2.50)A.98 个B.99 个C.100 个D.101 个4.下面有关重载函数的说法中,正确的是 _ 。(分数:1.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同5.有下列程序: #include stdio.h void fun(char*a,char*b) while(*a=“*“)a+; while(*b=*a)b+;a+; void main() char+s=“*a+b*“,t80; fun(s,t);p

4、uts(t) 程序的运行结果是_。(分数:2.50)A.*a*bB.a*bC.a*b*D.ab6.下列关于多继承二义性的描述中,错误的是_。(分数:2.50)A.一个派生类的两个基类巾都有某个同名成员,在派生类中对这个成员的访问可能出现二义性B.解决二义性的最常用的方法是对成员名的限定法C.基类和派生类中国时出现的同名函数,也存在二义性问题D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性7.对 C+编译器区分重载函数无任何意义的信息是_。(分数:1.00)A.参数类型B.参数个数C.返回值类型D.常成员函数关键字 const8.下列关

5、于 dowhile 语句的叙述中,正确的是_。(分数:2.50)A.dowhile 语句所构成的循环不能用其他语句构成的循环来代替B.dowhile 语句所构成的循环只能用 break 语句跳出C.dowhile 语句所构成的循环只有在 while 后面的表达式非零时才结束D.dowhile 语句所构成的循环只有在 while 后面的表达式为零时才结束9.下列模板声明中,有语法错误的是_。(分数:2.50)A.templatetypename TT fun(T x)return x*x;B.templatetypename TT fun(T x,int n)return x+n;C.templ

6、ateclass TT fun(T*p)return*p;D.templateclass TT fun()return T;10.下列 C+运算符中,优先级最高的是_。(分数:2.50)A.+(双目)B.*(单目)C.=D.*=11.将下面类 TestClass 中的函数 fun()的对象成员 n 值修改为 100 的语句应该是 _ 。 class TcstClass public: TestClass(int x)n=x; void SetNum(int n1)n=n1; private: int n; int fun() TestClass * ptr=new TestClass(45);

7、 _; (分数:2.00)A.TestClass(100)B.ptr-SetNum(100)C.SetNum(100)D.ptr-n=10012.下列有关类成员的叙述中,正确的是_。(分数:1.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员13.算法的空间复杂度是指_。(分数:2.50)A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数14.下列控制格式输入输出的操作符中,能够设置浮点数精度的是 _ 。(分数:2.00)A.set

8、precisionB.setwC.setfillD.showpoint15.下列关于 C+函数的说明中,正确的是_。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式16.如果表达式 y*x+十中,“*”是作为成员函数重载的运算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为(分数:1.00)A.operator+(0).operator *(y);B.operator * (x.op

9、erator+(0),y);C.operator * (operator+(x,0)D.operator * (operator+(x,0),y)17.下列各组类型声明符中,含义相同的一组是_。(分数:1.00)A.unsigned long int 和 longB.signed short int 和 shortC.unsigned short 和 shortD.short int 和 int18.下列关于赋值运算符“=”重载的叙述中,正确的是_。(分数:2.50)A.赋值运算符只能作为类的成员函数重载B.默认的赋值运算符实现了“深层复制”功能C.重载的赋值运算符函数有两个本类对象作为形参D

10、.如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符19.有如下程序: #includeiostream using namespace std; int main() int a6=23,15,64,33,40,58; int S1,s2; s1=s2=a0; for(int* p=a+1;pa+6;p+) if(s1*p)s1=*p; if(s2*P)s2=*p; couts1+s2endl; return 0; 运行时的输出结果是_。(分数:3.00)A.23B.58C.64D.7920.有如下程序: #includeiostream #includeiomnaip using n

11、amespace std; int main() coutsetfill(“*“)setw(6)123456; return 0; 运行时的输出结果是_。(分数:2.50)A.*123*456B.*123456*C.*123456D.12345621.有如下类定义: class Base int m; int n; public: Base(int m1,int n1):n(n1),m(m1) ; class Derived:public Base int q; public: Derived(int m1,int n1,int q1):q(q1),Base(m1,n1); ; 在创建一个 D

12、erived 对象时,数据成员 m、n 和 q 被初始化的顺序是_。(分数:2.50)A.m、n、qB.n、m、qC.q、m、nD.q、n、m22.面向对象的开发方法中,类与对象的关系是_。(分数:2.50)A.抽象与具体B.具体与抽象C.部分与整体D.整体与部分23.已知将运算符“+”和“*”作为类 Complex 的成员函数重载,设 c1 和 c2 是类 Complex 的对象,则表达式 c1+c2*c1 等价于_。(分数:2.00)A.c1.operator*(c2.operator+(c1)B.c1.operator+(c2.operator*(c1)C.c1.operator*(c1

13、.operator+(c2)D.c2.operator+(c1.operator*(c1)24.有如下程序 #includeiostream.h void main() char ch25=“6937“,“8254“,*p2; int i,j,s0; for(i0;i(2;i+)pichi; for(i0;i(2;i+) for(j0;pij“/0,j+2) s10*s+pij-“0“; couts; 该程序的输出结果是 _ 。(分数:2.00)A.69825B.63825C.6385D.69382525.有如下类定义: class XX int xdata; public: XX(int n

14、=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.426.下列控制对齐方式的操作符中,错误的是_。(分数:2.00)A.internalB.centerC.leftD.right27.有如下程序: #include iostream using namespace std; class Point public: static int number; public: Point( ) n

15、umber+ ; Point() number- -; ; int Point:number = 0; int main( ) Point * ptr; Point A, B; Point * ptr_point=new Point3; ptr=ptr_point; Point C; cout Point : number endl; delete ptr; return 0;(分数:2.00)A.3B.4C.6D.728.下列数据结构中,属于非线性结构的是_。(分数:2.50)A.双向链表B.循环链表C.二叉链表D.循环队列29.已知类 Time 的定义如下: class Time/时间类

16、private: int hour, minute, second; /时、分、秒 public: Time(int h, int m, int s): hour(h), minute(m), second(s) _ switch(index) case 0: return hour; case 1: return minute; default: return second; ; 其中横线处应为下标访问运算符的重载函数的函数头,横线处应填入的代码是_。(分数:2.50)A.int static,int val; ; int TestClass: val=0; void main() Test

17、Class csl; coutcsl.val“ “; TestClass cs2; TestClass cs3,cs4; coutcs2.valendl; (分数:1.00)A.03B.13C.14D.2431.以下选项中合法的用户标识符是 _ 。(分数:2.00)A.longB._2TestC.3DmaxD.dat32.类模板的使用实际上是将类模板实例化成一个具体的 _ 。(分数:2.00)A类B.对象C.函数D.模板类33.下列关于类成员对象构造函数调用顺序的叙述中,正确的是_。(分数:2.00)A.与它们在初始化列表中的顺序相同B.与它们在类中声明的顺序相同C.与析构函数的调用顺序相同D

18、.顺序不确定34.若目前 D 盘根目录下并不存在 test.txt 文件,则下列打开文件方式不会自动创建 test.txt 文件的是_。(分数:2.50)A.ifstream fin; fin.open(“d:/test.txt“,los_base:in);B.fstream fio; fio.open(“d:/test.txt“,los_base:out);C.ofstream four; fout.open(“d:/test.txt“,ios_base:out);D.ofstream fout; four.open(“d:/test.txt“,los_base:app);35.下列说法正确

19、的是_。(分数:1.00)A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字 inline 定义36.设有定义: class C public: int value; ; int x,*p; 则以下引用形式中,正确的是(分数:2.00)A.x=value;B.x=C:value;C.p= class D:public B protected:void fun4() ; 若 obj 是类 D 的对象,则下列语句中不违反访问控制权限的是_。(分数:2

20、.00)A.obj.fun1();B.obj.fun2();C.obj.fun3();D.obj.fun4();39.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是_。(分数:2.50)A.123456ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA40.Windows 环境下,由 C+源程序文件编译而成的日标文件的扩展名是_。(分数:2.50)A.cppB.exeC.objD.lik二级 C+分类模拟 278 答案解析(总分:82.00,做题时间:90 分钟)一、选择题(总题数:40,分数

21、:82.00)1.有如下程序: #includeiostream using namespace std; class B public: B(int xx):x(xx)+count;x+=10; virtual void show()const coutcount“_“xendl; protected: static int count; private: int x; ; class D:public B public: D(int xx,int yy):B(xx),y(yy)(+count;y+=100; virtual void show()const coutcount“_“yend

22、l; private: int y; ; int B:count=0; int main() B*ptr=new D(10,20); ptr-show(); delete ptr; return 0; 运行时的输出结果是_。(分数:2.50)A.1_120B.2_120 C.1_20D.2_20解析:解析 本题考查派生类构造函数调用、静态成员以及虚函数的使用。题中,定义基类指针 ptr 指针派生类的动态空间。要先调用基类 B 的构造函数,coum 自增后为 1,x 的值为 20;再调用派生类 D 的构造函数,count 自增后为 2,y 的值为 120。“ptr-show();”调用的是派生类

23、 D 中的 show()函数,输出count 和 y 的值,分别为 2 和 120。最终输出结果为 2_120。2.假定 AB 为一个类,则执行 AB x;语句时将自动调用该类的(分数:2.00)A.有参构造函数B.无参构造函数 C.拷贝构造函数D.赋值重载函数解析:解析 当没有显式调用指定形式的构造函数,则系统自动调用无参构造函数,如果没有为类指定此构造函数,则系统自动为其生成一个最简单的无参构造函数。3.下列语句段将输出字符“*“的个数为_。 int i=100; while(1) i-; if(i=0) break; cout“*“; (分数:2.50)A.98 个B.99 个 C.10

24、0 个D.101 个解析:4.下面有关重载函数的说法中,正确的是 _ 。(分数:1.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表 D.重载函数名可以不同解析:解析 函数重载允许用同一个函数名定义多个函数。被重载的函数必须要有不同的形参列表。不可以根据函数返回值类型来重载函数。5.有下列程序: #include stdio.h void fun(char*a,char*b) while(*a=“*“)a+; while(*b=*a)b+;a+; void main() char+s=“*a+b*“,t80; fun(s,t);puts(t

25、) 程序的运行结果是_。(分数:2.50)A.*a*bB.a*bC.a*b* D.ab解析:解析 在程序的主函数中,maon 定义了一个指向字符串的指针和一个字符数组,然后调用fun(s,t),在 fun()中第一个 while 语句判断*a 中的值为“*”时继续扫描,如果不是“*”终止,第二个 while 循环,将*a 中从“a”开始的后续所有字符都赋予*b,也就是 t80中的内容为“a*b*”,所以此时的运行结果为选项 C。6.下列关于多继承二义性的描述中,错误的是_。(分数:2.50)A.一个派生类的两个基类巾都有某个同名成员,在派生类中对这个成员的访问可能出现二义性B.解决二义性的最常

26、用的方法是对成员名的限定法C.基类和派生类中国时出现的同名函数,也存在二义性问题 D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性解析:7.对 C+编译器区分重载函数无任何意义的信息是_。(分数:1.00)A.参数类型B.参数个数C.返回值类型 D.常成员函数关键字 const解析:解析 所谓函数重载是指同一个函数名可以对应多个函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回值类型不同而参数类型和个数完全相同的重载。所以本题答案为 C。8.下列关于 dowhile 语句的叙述中,正确的是

27、_。(分数:2.50)A.dowhile 语句所构成的循环不能用其他语句构成的循环来代替B.dowhile 语句所构成的循环只能用 break 语句跳出C.dowhile 语句所构成的循环只有在 while 后面的表达式非零时才结束D.dowhile 语句所构成的循环只有在 while 后面的表达式为零时才结束 解析:9.下列模板声明中,有语法错误的是_。(分数:2.50)A.templatetypename TT fun(T x)return x*x;B.templatetypename TT fun(T x,int n)return x+n;C.templateclass TT fun(T

28、*p)return*p;D.templateclass TT fun()return T; 解析:10.下列 C+运算符中,优先级最高的是_。(分数:2.50)A.+(双目)B.*(单目) C.=D.*=解析:11.将下面类 TestClass 中的函数 fun()的对象成员 n 值修改为 100 的语句应该是 _ 。 class TcstClass public: TestClass(int x)n=x; void SetNum(int n1)n=n1; private: int n; int fun() TestClass * ptr=new TestClass(45); _; (分数:2

29、.00)A.TestClass(100)B.ptr-SetNum(100) C.SetNum(100)D.ptr-n=100解析:解析 对象指针存放的是对象的地址,要访问对象指针所指向对象的成员。可以通过两种方式。(*指针).成员,或者是指针-成员。12.下列有关类成员的叙述中,正确的是_。(分数:1.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的 C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员解析:解析 即可以是不属于任何类的非成员函数,也可以是另外一类的成员函数,统称为成员函数。友元函数不是当前类的成员函数,而是独立于当前类的外部函数。类成员函数可以声明为

30、任何访问权限。类的静态成员可以定义为常成员,只是其值不能改变。13.算法的空间复杂度是指_。(分数:2.50)A.算法在执行过程中所需要的计算机存储空间 B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析 算法的空间复杂度是指算法在执行过程中所需要的计算机存储空间。14.下列控制格式输入输出的操作符中,能够设置浮点数精度的是 _ 。(分数:2.00)A.setprecision B.setwC.setfillD.showpoint解析:解析 setpreeision(int)是设置浮点数的精度,setw(int n)是设置输入输出宽度,se

31、tfill(char c)设置填充字符,showpoint 即使小数部分为 0,也输出以及其后的无效 0。15.下列关于 C+函数的说明中,正确的是_。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函数之前,必须先声明其原型 D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式解析:16.如果表达式 y*x+十中,“*”是作为成员函数重载的运算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为(分数:1.00)A.operator+(0).operator *

32、(y);B.operator * (x.operator+(0),y);C.operator * (operator+(x,0) D.operator * (operator+(x,0),y)解析:解析 本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符 +,且 c1、c2都是该类的对象,则 c1.operator+(c2)与 c1+c2 含义相同。如果+作为该类的非成员函数重载,则operator 十(c1,c2)与 c1+c2 含义相同。同理,运算符*作为成员函数重载,则广(x+)与yoperator*(x+)含义相同,后缀什作为友元函数重载,那么 x+与 operator

33、+(x,0)含义相同,所以选项 C 是正确的。17.下列各组类型声明符中,含义相同的一组是_。(分数:1.00)A.unsigned long int 和 longB.signed short int 和 short C.unsigned short 和 shortD.short int 和 int解析:解析 本题考查整型变量的类型,A、C 选项中前者为无符号的,后者为有符号的,D 选项中short int 为 2 个字节,int 为 4 个字节。18.下列关于赋值运算符“=”重载的叙述中,正确的是_。(分数:2.50)A.赋值运算符只能作为类的成员函数重载 B.默认的赋值运算符实现了“深层复

34、制”功能C.重载的赋值运算符函数有两个本类对象作为形参D.如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符解析:19.有如下程序: #includeiostream using namespace std; int main() int a6=23,15,64,33,40,58; int S1,s2; s1=s2=a0; for(int* p=a+1;pa+6;p+) if(s1*p)s1=*p; if(s2*P)s2=*p; couts1+s2endl; return 0; 运行时的输出结果是_。(分数:3.00)A.23B.58C.64D.79 解析:解析 变量 s1 和 s2 的

35、初值都等于 23,那么在执行第一次 for 循环时,*p 的值等于 15,它小于23,所以把 15 赋给变量 s1;执行第二次 for 循环时,*p 的值等于 64,它大于 23,所以把 64 赋给变量s2;而数组 a 中 a2后面的元素的值都大于 15,小于 64,因而变量 s1,s2 的值不会再发生变化,最终值为 15+64=79。20.有如下程序: #includeiostream #includeiomnaip using namespace std; int main() coutsetfill(“*“)setw(6)123456; return 0; 运行时的输出结果是_。(分数:

36、2.50)A.*123*456B.*123456*C.*123456 D.123456解析:解析 该题考查的内容是格式输入/输出。考生应该掌握常用的格式输出/输入函数,常见的输入/输出操作符有:setw 是宽度设置,只对一次输入/输出有效。setfill 是填充字符设置,设置一次一直持续到下次设置才改变。right、left 是对齐方式。由题意知答案为 C。21.有如下类定义: class Base int m; int n; public: Base(int m1,int n1):n(n1),m(m1) ; class Derived:public Base int q; public: D

37、erived(int m1,int n1,int q1):q(q1),Base(m1,n1); ; 在创建一个 Derived 对象时,数据成员 m、n 和 q 被初始化的顺序是_。(分数:2.50)A.m、n、q B.n、m、qC.q、m、nD.q、n、m解析:22.面向对象的开发方法中,类与对象的关系是_。(分数:2.50)A.抽象与具体 B.具体与抽象C.部分与整体D.整体与部分解析:解析 现实世界中的很多事物都具有相似的性质,把具有相似的属性和操作的对象归为类,也就是说类是具有共同属性、共同方法的对象的集合,是对对象的抽象。它描述了该对象类型的所有对象的性质,而一个对象则是对应类的一个

38、具体实例。所以本题正确答案为 A 选项。23.已知将运算符“+”和“*”作为类 Complex 的成员函数重载,设 c1 和 c2 是类 Complex 的对象,则表达式 c1+c2*c1 等价于_。(分数:2.00)A.c1.operator*(c2.operator+(c1)B.c1.operator+(c2.operator*(c1) C.c1.operator*(c1.operator+(c2)D.c2.operator+(c1.operator*(c1)解析:解析 表达式 c1+c2*c1 的含义是 c1 加上 c2 与 c1 的积。24.有如下程序 #includeiostream

39、.h void main() char ch25=“6937“,“8254“,*p2; int i,j,s0; for(i0;i(2;i+)pichi; for(i0;i(2;i+) for(j0;pij“/0,j+2) s10*s+pij-“0“; couts; 该程序的输出结果是 _ 。(分数:2.00)A.69825B.63825C.6385 D.693825解析:解析 该题主要要搞清楚以下几点:定义了一个指针数组 char *p2后,程序中第一个循环or(i=o;i2,i+)pi=chi;的作用是使指针数组的 p0元素(它本身是一个指针)指向了二维数组ch 的第一行字符串,井使指针数组

40、的 p1元素指向了二维数组 ch 的第二行字符串,这样,就使指针数组p 和二维数蛆 ch 建立起了一种对应关系,以后对二维数组 ch 的某个元素的引用就有两种等价的形式;chij或 Pij。对二维数组 ch 的初始化,使其第一行 ch0中存入了字符串“6937“,第二行ch1中的内容为字符串”8254”。程序中第二个循环中的循环体 s=s。10+pij -“0“;的功能是这样的,每执行一次,将 s 中的值乘以 10(也即,将 s 中的数值整体向左移动一位,并在空出来的个位上添一个 0),再将当前 pij中的字符量转换为相应的数字,然后把这个数字加到 s 的个位上。注意到内层循环的循环条件 pi

41、j,“/0“是指 pij中的字符只要不是字符串结束标志“/0“就继续循环,语句j+2;是使下标 j 每次增加 2,也即一个隔一个地从 pi所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从 p0所指向的字符串” 6937“中一个隔一个地取出字符,分别是“6“和“3“,然后从 p1所指向的宇符串“8254“,中一个隔一个地取出字符,分别是”“8“和“5“,同时经过转换和相加运算后,结果 s 中的值应该是 6385。25.有如下类定义: class XX int xdata; public: XX(int n=0):xdata(n) ; class YY:public xx int

42、ydata; public: YY(int m=0,int n=0):XX(m),ydata(n) ; YY 类的对象包含的数据成员的个数是_。(分数:2.50)A.1B.2 C.3D.4解析:解析 派生类中的成员包括从基类继承过来的成员和自己增加的成员两大部分。其中,从基类继承的私有成员是不能直接访问的。题中,派生类 YY 除了增加的成员 ydata,还包含从基类继承的 xdata。故答案选 B。26.下列控制对齐方式的操作符中,错误的是_。(分数:2.00)A.internalB.center C.leftD.right解析:解析 对齐方式的控制操作符 left 的含义是在设定的宽度内左对

43、齐输出,右端填已设定的填充字符;right(此为默认设置)在设定的宽度内右对齐输出;internal 在设定的宽度内右对齐输出,但若有符号(-或+),符号置于最左端。27.有如下程序: #include iostream using namespace std; class Point public: static int number; public: Point( ) number+ ; Point() number- -; ; int Point:number = 0; int main( ) Point * ptr; Point A, B; Point * ptr_point=new

44、Point3; ptr=ptr_point; Point C; cout Point : number endl; delete ptr; return 0;(分数:2.00)A.3B.4C.6 D.7解析:解析 本题考查默认构造函数,题目中定义一个对象 A、B 以及对象数组 Point3,又定义了对象 C,共执行 6 次构造函数,number 变为了 6,所以本题答案为 C。28.下列数据结构中,属于非线性结构的是_。(分数:2.50)A.双向链表B.循环链表C.二叉链表 D.循环队列解析:解析 对于线性结构,除了首结点和尾结点外,每一个结点只有一个前驱结点和一个后继结点。线性表、栈、队列都

45、是线性结构,循环链表和双向链表是线性表的链式存储结构;二叉链表是二叉树的存储结构,而二叉树是非线性结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义。29.已知类 Time 的定义如下: class Time/时间类 private: int hour, minute, second; /时、分、秒 public: Time(int h, int m, int s): hour(h), minute(m), second(s) _ switch(index) case 0: return hour; case 1: return minute; default: return sec

46、ond; ; 其中横线处应为下标访问运算符的重载函数的函数头,横线处应填入的代码是_。(分数:2.50)A.int static,int val; ; int TestClass: val=0; void main() TestClass csl; coutcsl.val“ “; TestClass cs2; TestClass cs3,cs4; coutcs2.valendl; (分数:1.00)A.03B.13C.14 D.24解析:解析 由主函数 main 入手,定义 TestClass 类的对象 cs1,执行 cs1.va1,其中 va1 为静态变量,根据 intTestClass:va1=0;初始化,TestClass 中的 TestClass()val+;构造函数执行后,va1 值为1。主函数中接着定义对象 cs2,cs3,cs4。执行 coutcs2.va1endl;中的 va1 值为 4,所以输出为 14。31.以下选项中合法的用户标识符是 _ 。(分数:2.00)A.lo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1