【计算机类职业资格】二级C++模拟489及答案解析.doc
《【计算机类职业资格】二级C++模拟489及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++模拟489及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+模拟 489及答案解析(总分:170.50,做题时间:90 分钟)一、选择题(总题数:40,分数:70.50)1.为了使模块尽可能独立,要求_。(分数:2.50)A.内聚程度要尽量高,耦合程度要尽量强B.内聚程度要尽量高,耦合程度要尽量弱C.内聚程度要尽量低,耦合程度要尽量弱D.内聚程度要尽量低,耦合程度要尽量强2.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:2.50)A.内联函数B.重载函数C.递归函数D.函数模板3.以下定义数组中错误的是(分数:2.00)A.int a10;B.int a2120;C.int a20;D.int a;4.运算符重载是对已有
2、的运算符赋予多重含义,因此_。(分数:2.00)A.可以对基本类型(如 int类型)的数据,重新定义“+”运算符的含义B.可以改变一个已有运算符的优先级和操作数个数C.只能重载 C+中已经有的运算符,不能定义新运算符D.C+中已经有的所有运算符都可以重载5.下列关于运算符重载的叙述中,正确的是_。(分数:2.50)A.不能改变重载运算符的优先级B.运算符只能重载为类的成员函数C.C+中已有的任何运算符都可以重载D.可以为重载运算符函数的参数设置默认值6.有如下类定义: class Foo public: Foo(int v):value(v) / Foo() / private: Foo()
3、/ int value=0; / ; 其中存在语法错误的行是_。(分数:1.00)A.B.C.D.7.有如下程序: #includeiostream 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 Point3; ptr=ptr_point; Point C; coutPoint:nu
4、mberendl; deleteptr; return 0; 执行这个程序的输出结果是_。(分数:1.00)A.3B.4C.6D.78.下列对于线性链表的描述中正确的是(分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的9.有如下程序: #includeiostream using namespace std; class Sample friend long fun(Sample s); public: Samp
5、le(long a)x=a; private: long x; ; long fun(Sample s) if(s.x2)return 1; return s.x*fun(Sample(s.x-1); int main() int sum=0; for(int i=0;i6;i+) sum+=fun(Sample(i); coutsum; return 0; 执行这个程序的输出结果是_。(分数:1.00)A.120B.16C.154D.3410.有如下程序: #includeiostream using namespace std; class XX int x; public: XX(int
6、 xx=0):x(xx) int getX()return x; ; class YY:public XX int y; public: YY(int xx, int yy):x(xx), y(yy) int getV()return getX()+y; ; int main() YY c(3, 4); coutc.getV()+c.getX()endl; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.3B.4C.7D.1011.已知在一个类体中包含如下函数原型:VOLUMEOPER ATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分数:
7、1.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值12.有如下头文件: int f1(); static int f2(); class MA public: int f3(); static int f4(); ; 在所描述的函数中,具有隐含的 this指针的是_。(分数:1.00)Af1Bf2Cf3Df413.有如下程序: int x =3; do x- =2; cout x; while(! (-x); 执行这个程序的输出结果是 _ 。(分数:1.00)A.1B.30C.1-2D.死循环14.有关
8、类和对象的说法不正确的是 _ 。(分数:1.00)A.对象是类的一个实例B.任何一个对象只能属于一个具体的类C.一个类只能有一个对象D.类与对象的关系和数据类型和变量的关系相似15.要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是_。(分数:2.00)A.fstreamB.istreamC.cstdlibD.iomanip16.下面类的定义,有 _ 处错误。 class MyClass public: void MyClass(); MyClass(int value); private: int i0;(分数:2.00)A.1B.2C.3D.417.下列关于 C+函数的说
9、明中,正确的是_。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式18.下列关于构造函数的描述中,错误的是_。(分数:2.50)A.构造函数名与类名相同B.构造函数可以有返回值C.构造函数可以重载D.每个类都有构造函数19.将运算符“+”重载为非成员函数,下列原型声明中,错误的是_。(分数:2.50)A.MyClock operator+(MyClock, long);B.MyClock operator+(MyCl
10、ock, MyClock);C.MyClock operator+(long, long);D.MyClock operator+(long, MyClock);20.下列关于模板形参的描述中,错误的是_。(分数:2.50)A.模板形参表必须在关键字 template之后B.模板形参表必须用括弧()括起来C.可以用 class修饰模板形参D.可以用 typename修饰模板形参21.下列关于函数重载的叙述中,错误的是_。(分数:2.50)A.重载函数的参数个数可以不同B.重载函数的参数类型可以不同C.重载函数的返回值类型必须不同D.重载函数的参数个数或参数类型必须有所不同22.一个满二叉树其深
11、度为 4,则其叶子节点的个数为 _ 。(分数:1.00)A.8B.16C.32D.423.下面程序的运行结果为 _ 。 #includeiostream.h void main() char a=“3“; switch(a) case“3“: cout“3”: case“2“: cout“2”; break; default:cout“1”: (分数:1.00)A.3B.321C.31D.3224.如果一个类至少有一个纯虚函数,那么就称该类为 _ 。(分数:2.00)A.抽象类B.虚基类C.派生类D.以上三者都不对25.有如下程序: #includeiostream using namespa
12、ce std; class Point public: Point(int xx=0,int yy=0):x(xx),y(yy) void SetX(int xx)x=xx; void SetY(int yy)y=yy; private: int x,y; ; class Circle:Point public: Circle(int r):radius(r) int GetRadius()return radius; private: void SetRadius(int r)radius=r; int radius; ; int main() Circle c1(5); c1.SetX(1
13、); / c1.SetY(2); / c1.SetRadius(10); / coutc1.GetRadius(); / return 0; 在标注号码的语句行中不存在语法错误的是_。(分数:1.00)A.B.C.D.26.有下列程序: #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) 程序的运行结果是_。(分数:2.50)A.*a*bB.a*bC.a*b*D.ab27.若 MyClass为一个
14、类,执行“MyClass a4, *p5;”语句时会自动调用该类的构造函数的次数是_。(分数:2.50)A.2B.5C.4D.928.下列叙述中正确的是_。(分数:1.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性29.有如下两个类定义 class XX private: double x1; protected: double x2; public: double x3; ; cla
15、ss YY:protected XX private: double y1; potected: double y2; punic: double y3; ; 在类 YY中保护成员变量的个数是_。(分数:2.00)A.1B.2C.3D.430.下面程序的输出结果是 _ 。 #includeiostream.h Class example int a; public: example(int B.a=b+; void print()aa+1 couta“; void print()constcouta“; ; void main() example x(3); Const example y(2
16、); x.print(); y.print(); (分数:2.00)A.2 2B.4 3C.4 2D.3 231.下列关于 this指针的描述中,正确的是_。(分数:1.00)A.类的成员函数都有 this指针B.类的友元函数都有 this指针C.任何与类相关的函数都有 this指针D.类的非静态成员函数都有 this指针32.有如下程序: #includeiostream using namespace std; int main() int*p; *p=9; cout“the value at p:“*p; return 0; 编译运行程序将出现的情况是_。(分数:1.00)A.编译时出现
17、语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错33.数据流程图(DFD)是_。(分数:2.50)A.软件概要设计的工具B.软件详细设计的丁具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具34.下列对变量的引用中,错误的是 _ 。(分数:1.00)A.int a; int class CD public: CD() cout“C“; private: char name80; ; int main() CD a,*b,d2;return 0; 运行时的输出结果是(分数:2.00
18、)A.CCCCB.CCCC.CCDC36.在 32位的计算机中,一个 char型数据所占的内存长度的字节是_。(分数:2.50)A.4B.1C.2D.837.通常的拷贝初始化构造函数的参数是 _ 。(分数:1.00)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名38.下列字符串可以用作 C+标识符的是_。(分数:2.50)A.2009vatB.gotoC.test-2009D._12339.若已经声明了函数原型“bool fun(bool a,int b=0);”,则下列重载函数声明中正确的是_。(分数:1.00)A.bool fun(bool a=true,int
19、 b=0);B.int fun(bool a,int );C.void fun(double a,int );D.void fun(bool a,int b=0);40.下列虚基类的声明中正确的是 _。(分数:2.00)A.class virtual B: public AB.class B: public A virtualC.class B: public virtual AD.virtual class B: public A二、基本操作题(总题数:1,分数:30.00)41.请使用 VC6或使用答题菜单打开 proj1 下的工程 proj1,该工程含有一个源程序文件 prw1. cpp
20、。其中位于每个注释“/ERROR *found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: The value is 10 注意:只修改注释“/ERROR *found*”的下一行语句,不要改动程序中的其他内容。 /proj1. cpp #include iostream using namespace std; class MyClass int value; public: /ERROR *found* void MyClass(int val): value(val) int GetValue()const return value; void SetValue(in
21、t val); ; /ERROR *found* inline void SetValue(int val) value=val; int main() MyClass obj(0); obj. SetValue(10); /ERROR *found*下列语句功能是输出 obj的成员 value的值 cout“The value is“obj. valueendl; return 0; (分数:30.00)_三、简单应用题(总题数:1,分数:30.00)42.使用 VC+6.0打开 下的源程序文件 2.cpp。阅读下列函数说明和代码,补充空出的代码。函数fun(doubleA55)返回二维数组
22、中大于本行平均数的所有数之和。 注意:部分代码已经实现,请勿改动 main函数代码。 试题程序: #includeiostream.h double fun(double A55) void main() double A55= 4431.3,45.56,5697.65,768.678,122.45, 444.4,34.545,5667.656,2548.678,1562.45, 537.3,655.5456,5677.65,7168.678,1242.45, 134.3,454.5486,5637.65,7687.678,1322.45, 189.3,445.5786,5677.65,752
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 模拟 489 答案 解析 DOC
