ImageVerifierCode 换一换
格式:DOC , 页数:23 ,大小:88.50KB ,
资源ID:1324026      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1324026.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C++-200及答案解析.doc)为本站会员(孙刚)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C++-200及答案解析.doc

1、二级 C+-200 及答案解析(总分:88.50,做题时间:90 分钟)一、选择题(总题数:35,分数:61.50)1.有以下类定义 class MyClass private: int id; char gender; char*phone; public: MyClass():id(0),gender(“#“),phone(NULL) MyClass(int no,char ge=“#“,char*ph=NULL) id=no;gender=ge;phone=ph; ; 下列类对象定义语句中错误的是(分数:2.00)A.MyClassmyObj;B.MyClassmyObj(11,“133

2、01111155“);C.MyClassmyObj(12,“m“);D.MyClassmyObj(12);2.下面是重载为非成员函数的运算符的函数原型,其中错误的是_。(分数:2.00)A.Fraction operator+(Fraction,Fraction);B.Fraction operator-(Fraction);C.FractionD.Fraction3.类 MyClass 的定义如下: class MyClass public: MyClass()value=0; SetVariable(int i)value=i; private: int value; ; 则对下列语句序列

3、正确的描述是 _ 。 MyClass*P,my;p=(分数:2.00)A.语句 p= else if(n=1)return 2; else return fib(n-1)+fib(n-2); 若执行函数调用表达式 fib(2),函数 fib 被调用的次数是_。(分数:2.50)A.1B.2C.3D.45.已知函数 f 的原型是 void f(int*a,longlong v2; 下列调用语句中正确的是_。(分数:1.00)A.f(v1,B.f(v1,v2);C.f(D.f(6.下面关于函数模板的表述中不正确的是_。(分数:2.50)A.类模板的成员函数都是模板函数B.类模板本身在编译过程中不会

4、产生任何代码C.类模板只能有虚拟类型的参数D.用类模板定义一个对象时,实参不能省略7.医院里有不同的科室,每名医生分属不同科室,则实体科室与实体医生间的联系是_。(分数:1.00)A.一对一B.一对多C.多对一D.多对多8.下面关于常成员函数的说法中正确的是_。(分数:2.50)A.常成员函数不能修改任何的数据成员B.常成员函数只能修改一般的数据成员C.常成员函数只能修改常数据成员D.常成员函数只能通过常对象来调用9.下列语句中,错误的是_。(分数:1.00)A.const int buffer=256;B.const double*point;C.int const buffer=256;D

5、.double*const point;10.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书11.下列定义语句中,错误的是_。(分数:2.00)A.int px*;B.char*acp10;C.char(*pac)10;D.int(*p)();12.对于类定义 class A public: virtual void funcl() void func2() ; class D:public A public: void funcl()cout “class B rune 1“end1; virtua

6、l void func2()cout “class B func 2“end1; ; 下面正确的叙述是 _。(分数:2.00)A.A:func2()和 B:funcl()都是虚函数B.A:func2()和 B:funcl()都不是虚函数C.B:func1()是虚函数,而 A:func2()不是虚函数D.B:func1()不是虚函数,而 A:func2()是虚函数13.已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是 _ 。(分数:2.00)A.堆排序B.直接插入排序C.快速排序D.直接选择排序14.有如下程序: #includeiostream using namespa

7、ce std; class TestClass public; TestClass ()cout“BASE:; ; class TestClass1:public TestClass public: TestClass 1 ()cout“DERIVED“; ; int main()TestClass1 x;return 0; 执行后的输出结果是 _ 。(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE15.下列语句中,错误的是_。(分数:1.00)A.const int buffer=256;B.const double*point;C.int

8、 const buffer=256;D.double*const point;16.有如下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为 9 的表达式是_。(分数:1.00)A.*p+9B.*(p+8)C.*p+=9D.p+817.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是 _ 。(分数:2.00)A.int operator-(FunNumber);B.FunNumber operator-();C.FunNumber operator-(int);D.int operator-(FunNumber,FunNumber);18.某

9、二叉树共有 150 个结点,其中有 50 个度为 1 的结点,则_。(分数:1.00)A.不存在这样的二叉树B.该二叉树有 49 个叶子结点C.该二叉树有 50 个叶子结点D.该二叉树有 51 个叶子结点19.下列关于虚基类的描述中,错误的是_。(分数:2.50)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明“class B: virtual public A”说明类 B 为虚基类D.建立派生类对象时首先调用虚基类的构造函数20.对下列二叉树进行前序遍历的结果为_。 (分数:2.50)A.ABCDEFGHB.ABDGEHCFC.GDBEHA

10、CFD.GDHEBFCA21.关于静态数据成员的描述中正确的是(分数:1.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化22.函数定义为 Fun(int B.fun(20+n);C.fun(n);D.funD( class Power public: Power(int x):val(x) _ protected: int val; ; class Square:public Power public: Square(int x):Power(x) void Displa

11、y() coutval“的平方是“val*valendl; ; int main() Power*p=new Square(3); p-Display(); delete p; return 0; 若运行时的输出结果为“3 的平方是 9”,则划线处缺失的语句可能是_。(分数:1.00)A.void Display()B.virtual void Display()=0C.void virtual Display()=0;D.void Display()virtual 24.执行语句:coutsetfill(“*“)setw(10)setfill(“#“)left123“OK“endl;retu

12、rn 0;)后将输出 _ 。(分数:2.00)A.123*OKB.123#OKC.123*OK*D.123#OK#25.有如下程序: # includeiostrcam # includeiomanip using namespace std; int main() int s=123,234; coutsetfill(“*“)setw(6); for(int i=0;i2;i+)coutsiendl; return 0; 运行时的输出结果是_。(分数:2.50)A.123234B.*123234C.*123*234D.*123234*26.有如下类定义: ciass A char*a; pu

13、blic: A():a(0) A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间 a=_; strcpy(a,aa); A()(deletea; ; 横线处应填写的表达式是_。(分数:2.00)A.new charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-127.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是 _ 。(分数:2.00)A.if(a=B) n=0;B.if(aB) |(bC) )n=1; else n=0;C.if(aB) if(bC) n=h

14、 else n=0; else n=0;D.if(aB) n=1; else if(b=C) n=1; else if(bC) n=1; else n=0;28.下列关于模板的叙述中错误的是_。(分数:2.50)A.调用模板函数时,有时可以省略模板实参B.函数模板的每个实例就是一个函数定义C.类模板的每个实例就是一个类定义D.类模板的实例是一个类对象29.下列字符串中可以用作 C+标识符的是_。(分数:2.50)A.2009varB.gotoC.test-2009D._12330.在函数中,可以用 auto、extern、register 和 static 这四个关键字中的一个来说明变量的存储

15、类型,如果不说明存储类型,则默认的存储类型是_。(分数:1.00)A.autoB.externC.registerD.static31.以下程序中调用 cin 函数给变量 a 输人数值的方法是错误的,其错误的原因是_。 #includeiostream.h void main() int*p,*q,a,b; p=a; cout“input a;“; cinp; (分数:2.50)A.*p 表示的是指针变量 p 的地址B.p 表示的是变量 a 的地址,而不是变量 a 的值C.*p 表示的是指针变量 p 的值D.*p 只能用来说明 p 是一个指针变量32.下面对对象概念描述错误的是_。(分数:1.

16、00)A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态性属性33.下列选项中,不是一个算法的基本特征的是_。(分数:1.00)A.完整性B.可行性C.有穷性D.拥有足够的情报34.有如下类定义: class MyClass public: _ private: int data; ; 若耍为 Myclass 类重载流输入运算符,使得程序中可以“cinobj;”形式输入 MyClass 类的对象obj,则横线处的声明语句应为_。(分数:1.00)A.friend istream operator(istream is,MyClass-a);B.

17、friend istreamoperator(istream is,MyClassa);C.istreamoperator(istreamis,MyClassa);D.istrcamoperator(istreamis,Myclass a);35.下列语句中,错误的是(分数:2.00)A.const int buffei=256;B.const double*point;C.int const buffer=256;D.double*const point:;二、填空题(总题数:14,分数:27.00)36.设栈 S 和队列 Q 的初始状态为空,元素 e1、e2、e3、e4、e5 和 e6 依

18、次通过栈 S,一个元素出栈后即进入队列 Q,若 6 个元素出队的顺序是 e2、e4、e3、e6、e5、e1,则栈 S 的容量至少应是 _ 1_ 。 (分数:1.00)37.执行下列语句后,输出结果为 1。 int a=0,b=2,c=3; switch(a) case 0:switch(b) case 1:cout“*“;break; case 2:tout“%“;break; case 1:switch(C) case 1:cout“$“;break; case 2:cout“*“;break; default:tout“#“; (分数:2.00)38.下列程序的定义语句中,x1的初值是 1

19、,程序运行后输出的内容是 2。 #includestdio.h void main() int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),*p4,i; for(i=0;i4;i+) pi=x2*i+1; printf(“%d“,pi0); printf(“/n“) (分数:4.00)39.对象还有操作,用于改变对象的状态,对象及其操作就是对象的 _ 1_ 。 (分数:2.00)40.下列程序的输出结果是 1。 #includeiostream using namespace std; class Test public: Test()cnt+; Tes

20、t()cnt-; static int Count()return cnt; private: static int cnt; ; int Test:cnt=0; int main() coutTest:Count()“; Test t1,t2; Test *pT3=new Test; Test *pT4=new Test; eoutTest:Count()“; delete pT4; delete pT3; coutTest:Count()endl; return 0; (分数:2.00)41.C+语言的基本控制结构为顺序结构、选择结构和 1。 (分数:1.00)42.以下程序实现栈的入栈和

21、出栈的操作。其中有两个类:一个是节点类 node,它包含点值和指向上一个节点的指针 prev;另一个类是栈类 stack, 它包含栈的头指针 top。 生成的链式栈如下图所示。 img src=“tp/jsj/2jc+j28.1.gif“ 下面是实现程序,请填空完成此程序。 #include iostream using namespace std; class stack; class node int data; node *prev; public: node(int d, node *n) data=d; prev=n; friend class stack; ; class stac

22、k node *top; /栈头 public: stack() top=0; void push(int i) node *n= 1; top=n; int pop() node *t=top; if (top) top=top-prev; int c= t-data; delete t; return c; return 0; int main () stack s; s.push(6); s.push(3); s.push (1); return 0; (分数:1.00)43.重载的流运算符函数经常定义为类的 _ 1_ 函数。 (分数:2.00)44.在结构化设计方法中,数据流图表达了问

23、题中的数据流与加工间的关系,且每一个 1 实际上对应一个处理模块。 (分数:2.00)45.设有以下程序: #includeiostream using namespace std; int main() int a,b,k:4,m=6,*p1= /x 分量 double y; /y 分量 public: vector2D (double x0=0, double y0=0):x(x0),y(y0) void show() cout“(“x“,“y“)“; vector2D operator+(vector2D); ; vector2D 1 operator+(vector2D a) retu

24、rn vector2D( 2); (分数:2.00)在 C+语言的结构化程序设计中, 14 是程序的基本组成单元;在面向对象设计框架中, 15 是程序的基本组成单元。(分数:4.00)二级 C+-200 答案解析(总分:88.50,做题时间:90 分钟)一、选择题(总题数:35,分数:61.50)1.有以下类定义 class MyClass private: int id; char gender; char*phone; public: MyClass():id(0),gender(“#“),phone(NULL) MyClass(int no,char ge=“#“,char*ph=NUL

25、L) id=no;gender=ge;phone=ph; ; 下列类对象定义语句中错误的是(分数:2.00)A.MyClassmyObj;B.MyClassmyObj(11,“13301111155“); C.MyClassmyObj(12,“m“);D.MyClassmyObj(12);解析:解析 本题考核构造函数的应用。对象建立用初始化列表对数据成员进行时,列表中的参数类型要与构造函数中形参类型一致。B 选项中第二个参数为“13301111155”是字符串,而构造函数中第二个形参为 char 型,两者不一致造成错误。2.下面是重载为非成员函数的运算符的函数原型,其中错误的是_。(分数:2.

26、00)A.Fraction operator+(Fraction,Fraction);B.Fraction operator-(Fraction);C.Fraction D.Fraction解析:3.类 MyClass 的定义如下: class MyClass public: MyClass()value=0; SetVariable(int i)value=i; private: int value; ; 则对下列语句序列正确的描述是 _ 。 MyClass*P,my;p=(分数:2.00)A.语句 p= else if(n=1)return 2; else return fib(n-1)+

27、fib(n-2); 若执行函数调用表达式 fib(2),函数 fib 被调用的次数是_。(分数:2.50)A.1B.2 C.3D.4解析:5.已知函数 f 的原型是 void f(int*a,longlong v2; 下列调用语句中正确的是_。(分数:1.00)A.f(v1,B.f(v1,v2);C.f(D.f( 解析:解析 函数参数的 3 种传递方式:将变量名作为形参和实参,即传值方式;传递变量指针;引用形参。本题中函数 f 的第一个形参为指针,那么调用 f 函数时,第一个参数必须是地址,所以必须是B.const double*point;C.int const buffer=256;D.d

28、ouble*const point; 解析:解析 const 是一个 C+关键字,用于限定不允许改变的变量。选项 B 是指向常量的指针,定义时可以不初始化;选项 D 是指针常量,定义时必须初始化。故答案为 D。10.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书 解析:解析 需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择 D。11.下列定义语句中,错误的是_。(分数:2.00)A.int px*; B.char*acp10;C.char(*pac)10

29、;D.int(*p)();解析:12.对于类定义 class A public: virtual void funcl() void func2() ; class D:public A public: void funcl()cout “class B rune 1“end1; virtual void func2()cout “class B func 2“end1; ; 下面正确的叙述是 _。(分数:2.00)A.A:func2()和 B:funcl()都是虚函数B.A:func2()和 B:funcl()都不是虚函数C.B:func1()是虚函数,而 A:func2()不是虚函数 D.

30、B:func1()不是虚函数,而 A:func2()是虚函数解析:13.已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是 _ 。(分数:2.00)A.堆排序B.直接插入排序 C.快速排序D.直接选择排序解析:14.有如下程序: #includeiostream using namespace std; class TestClass public; TestClass ()cout“BASE:; ; class TestClass1:public TestClass public: TestClass 1 ()cout“DERIVED“; ; int main()Test

31、Class1 x;return 0; 执行后的输出结果是 _ 。(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE 解析:解析 程序中的 TestClassl 为 TestClass 的派生类,从程序中的 main 函数入手,定义了TestClass1 对象 x。调用析构函数的顺序,先执行派生类自己的析构函数,对派生类新增加的成员进行清理,然后调用子对象的析构函数,对予对象进行清理,最后调用基类的析构函数,对基类进行清理。这里派生类中析构函数输出 DERIVED,基类析构函数输出 BASE。15.下列语句中,错误的是_。(分数:1.00)A.c

32、onst int buffer=256;B.const double*point;C.int const buffer=256;D.double*const point; 解析:解析 const 是一个 C+关键字,用于限定不允许改变的变量。选项 B 是指向常量的指针,定义时可以不初始化;选项 D 是指针常量,定义时必须初始化。故答案为 D。16.有如下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为 9 的表达式是_。(分数:1.00)A.*p+9B.*(p+8) C.*p+=9D.p+8解析:解析 本题考查指向数组的指针,本题中指针变量 p 指向数组

33、a,那么*p 的值就是 1,即表示数组的第一个元素,那么数值为 9 的表达式就是将指针向后移动 8 个地址,即 p+8 指向的是数组元素值为9,所以数值为 9 的表达式是*(p+8)。17.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是 _ 。(分数:2.00)A.int operator-(FunNumber);B.FunNumber operator-();C.FunNumber operator-(int);D.int operator-(FunNumber,FunNumber); 解析:解析 本题考查的知识点是:运算符“-”的重载。“-”运算符有一元(取负)和二元(减

34、法)两种形式,且均可重载为成员函数和非成员函数。运算符重载为成员函数时,形参个数一般为运算符元数减1,因为此成员函数所属的对象可成为运算符的一个运算分量。重载为非成员函数时,形参个数一般和运算符元数相等。所以“-”运算符重载为成员函数时,参数个数可以是 0 个和 1 个,而重载为非成员函数时,参数个数可以是 1 个或 2 个。18.某二叉树共有 150 个结点,其中有 50 个度为 1 的结点,则_。(分数:1.00)A.不存在这样的二叉树 B.该二叉树有 49 个叶子结点C.该二叉树有 50 个叶子结点D.该二叉树有 51 个叶子结点解析:解析 在树结构中,一个结点所拥有的后件个数称为该结点

35、的度。对任何一棵二叉树,度为 0 的结点(即叶子结点)总是比度为 2 的结点多一个。二叉树中有 150 个结点,设叶子结点个数为 n 0 ,度为 1的结点个数为 50,设度为 2 的结点个数为 n 2 。150=n 0 +50+n 2 且 n 0 =n 2 +1,则 n 0 =50.5,n 2 =49.5。由于结点个数必须是整数,所以不存在这样的二叉树,故选择 A 选项。19.下列关于虚基类的描述中,错误的是_。(分数:2.50)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明“class B: virtual public A”说明类 B

36、为虚基类 D.建立派生类对象时首先调用虚基类的构造函数解析:解析 本题针对虚基类的定义及特点考查。虚基类的声明为“class类名:virlual继承方式基类名”,即选项 C 中的类 A 为虚基类。20.对下列二叉树进行前序遍历的结果为_。 (分数:2.50)A.ABCDEFGHB.ABDGEHCF C.GDBEHACFD.GDHEBFCA解析:解析 遍历就是不重复地访问二叉树的所有结点。二叉树遍历的方法有 3 种:前序遍历、中序遍历和后序遍历。记住 3 种遍历的顺序: 前序,访问根按前序遍历左子树按前序遍历右子树。 中序,按中序遍历左子树访问根按中序遍历右子树。 后序,按后序遍历左子树按后序遍

37、历右子树访问根。 所以对该二叉树的中序遍历结果为 ABDGEHCF。21.关于静态数据成员的描述中正确的是(分数:1.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化 解析:解析 C+类中的静态成员变量是该类中所有对象所共有的,它能够被类中的任何函数调用,所以选项 A,选项 B,选项 C 是错误的。而类的静态数据成员是必须要进行初始化才能使用的。22.函数定义为 Fun(int B.fun(20+n);C.fun(n); D.funD( class Power public

38、: Power(int x):val(x) _ protected: int val; ; class Square:public Power public: Square(int x):Power(x) void Display() coutval“的平方是“val*valendl; ; int main() Power*p=new Square(3); p-Display(); delete p; return 0; 若运行时的输出结果为“3 的平方是 9”,则划线处缺失的语句可能是_。(分数:1.00)A.void Display()B.virtual void Display()=0

39、C.void virtual Display()=0;D.void Display()virtual 解析:解析 由题意可知,基类指针 p 指向的是派生类的对象,当 p 调用 Display()时,输出的结果是派生类中的 Display(),可知 Display()必为虚函数,这样才能满足动态联编。虚函数的定义是在声明前加关键字 virtual,选项 A 不是虚函数,错误;选项 C、D 定义虚函数的格式不对,错误;答案为 B 选项。24.执行语句:coutsetfill(“*“)setw(10)setfill(“#“)left123“OK“endl;return 0;)后将输出 _ 。(分数:

40、2.00)A.123*OKB.123#OK C.123*OK*D.123#OK#解析:25.有如下程序: # includeiostrcam # includeiomanip using namespace std; int main() int s=123,234; coutsetfill(“*“)setw(6); for(int i=0;i2;i+)coutsiendl; return 0; 运行时的输出结果是_。(分数:2.50)A.123234B.*123234 C.*123*234D.*123234*解析:解析 setw()为填充字符控制,仅对紧接着它的字符起作用,当输出的字符宽度小

41、于 setw()预留的字符数时,需用 sctw()设置的字符给予填充。26.有如下类定义: ciass A char*a; public: A():a(0) A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间 a=_; strcpy(a,aa); A()(deletea; ; 横线处应填写的表达式是_。(分数:2.00)A.new charstrlen(aa)+1 B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-1解析:解析 函数 strlen(aa)返回字符串 aa 中字符的个数,不包括末尾的空字符。所以在内存

42、空间创建字符数组 a 时,需要字符数组的长度是 strlen(aa)+1。27.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是 _ 。(分数:2.00)A.if(a=B) n=0;B.if(aB) |(bC) )n=1; else n=0;C.if(aB) if(bC) n=h else n=0; else n=0; D.if(aB) n=1; else if(b=C) n=1; else if(bC) n=1; else n=0;解析:解析 条件表达式(ab?(bc?1:0):0)的含义是,如果 ab 成立,则此表达式的值等于条件表达式(bc?1:0)的值,否则其值

43、等于 0。而条件表达式(bc?1:0)的含义是,如果 bc 成立,其值等于1,否则其值等于 0。28.下列关于模板的叙述中错误的是_。(分数:2.50)A.调用模板函数时,有时可以省略模板实参B.函数模板的每个实例就是一个函数定义C.类模板的每个实例就是一个类定义 D.类模板的实例是一个类对象解析:29.下列字符串中可以用作 C+标识符的是_。(分数:2.50)A.2009varB.gotoC.test-2009D._123 解析:解析 标识符主要由数字、字母、下画线组成,且首位必为字母或下画线,同时标识符不能是关键字。30.在函数中,可以用 auto、extern、register 和 st

44、atic 这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是_。(分数:1.00)A.auto B.externC.registerD.static解析:解析 变量在使用之前其数据类型必须加以说明,而存储类型则可默认说明或显式说明。显式说明指直接在变量说明前加上存储类型标志,如 auto,register,static,extern 等。关键字 auto 通常省略。31.以下程序中调用 cin 函数给变量 a 输人数值的方法是错误的,其错误的原因是_。 #includeiostream.h void main() int*p,*q,a,b; p=a; cout“i

45、nput a;“; cinp; (分数:2.50)A.*p 表示的是指针变量 p 的地址B.p 表示的是变量 a 的地址,而不是变量 a 的值 C.*p 表示的是指针变量 p 的值D.*p 只能用来说明 p 是一个指针变量解析:解析 p 表示的是变量 a 的地址,定义后*p 表示的是变量 a 的值。32.下面对对象概念描述错误的是_。(分数:1.00)A.任何对象都必须有继承性 B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态性属性解析:解析 由题意可知,对对象概念描述错误的是选项 A。33.下列选项中,不是一个算法的基本特征的是_。(分数:1.00)A.完整性 B.

46、可行性C.有穷性D.拥有足够的情报解析:解析 作为一个算法,一般应该具有下列匹个特征:可行性,即考虑到实际的条件能够达到一个满意的结果;确定性,算法中的每一个步骤都必须是有明确定义的;有穷性,一个算法必须在有限的时间内完成;拥有足够的情报。34.有如下类定义: class MyClass public: _ private: int data; ; 若耍为 Myclass 类重载流输入运算符,使得程序中可以“cinobj;”形式输入 MyClass 类的对象obj,则横线处的声明语句应为_。(分数:1.00)A.friend istream operator(istream is,MyClass-a); B.friend istreamoperator(istream is,MyClassa);C.istreamoperator(istreamis,MyClassa);D.istrcamoperator(istreamis,Myclass a);

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