【计算机类职业资格】二级C++模拟499及答案解析.doc
《【计算机类职业资格】二级C++模拟499及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++模拟499及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+模拟 499 及答案解析(总分:150.50,做题时间:90 分钟)一、选择题(总题数:30,分数:50.50)1.计算斐波那契数列第 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.50)A.1B.2C.3D.42.如下函数的作用是以双倍行距输出文件: void double space(ifstream whilc(_) ;_ if(c=“/n“)t.p
2、ut(c); 画线处缺失的部分是_。(分数:2.00)A.get(c)与 t.put(c)B.put(c)与 t.get(c)C.get(c)与 f.put(c)D.put(c)与 f.get(c)3.下列关于纯虚函数与抽象类的描述中,错误的是 _ 。(分数:1.00)A.纯虚函数是一种特殊的虚函数,它没有具体的实现B.抽象类是指具有纯虚函数的类C.一个基类中说明具有纯虚函数,该基类的派生类一定不再是抽象类D.抽象类只能作为基类来用,其纯虚函数的实现由派生类给出4.软件设计中划分模块的一个准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合5.下列语句都
3、是程序运行时的第 1 条输出语句,其中一条语句的输出效果与其他 3 条语句不同,该语句是_。(分数:2.50)A.coutinternal12345;B.coutleft12345;C.coutright12345;D.coutsetw(6)12345;6.以下程序输出结果是 _ : #includeiostream using namespace std; void add(int X,int y,int *z) *z=y+x; int main() int a,b,c; add(8,4, add(6,a, add(a,b, couta“,“b“,“cend1; return 0;(分数:2
4、.00)A.12,10,14B.12,18,30C.12,6,18D.12,14,307.在深度为 7 的满二叉树中,叶子结点的个数为(分数:1.00)A.32B.31C.64D.638.对于循环队列,下列叙述中正确的是_。(分数:1.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针9.通过运算符重载,可以改变运算符原有的_。(分数:1.00)A.操作数类型B.操作数个数C.优先级D.结合性10.有如下头文件: int f1( ); static int f2( ); class MA public: int
5、 f3( ); static int f4( ); ; 在所描述的函数中,具有隐含的 this 指针的是(分数:2.00)Af1Bf2Cf3Df411.数据库关系模型中可以有三类完整性约束,下列选项中不属于三类完整性约束的是 _ 。(分数:2.00)A.实体完整性规则B.参照完整性规则C.对象完整性规则D.用户自定义完整性规则12.控制格式输入/输出的操作中,设置域宽的函数是_。(分数:1.00)A.wsB.octC.setfill(int)D.setw(int)13.数据库、数据库系统和数据库管理系统之间的关系是 _ 。(分数:1.00)A.数据库包括数据库系统和数据库管理系统B.数据库系统
6、包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.3 者没有明显的包含关系14.通过运算符重载,可以改变运算符原有的_。(分数:1.00)A.操作数类型B.操作数个数C.优先级D.结合性15.有如下类定义: class Sample public; Sample(int x):ref(x) / private: Sample():ref(0) / static int val=5; / constint ref; / ; 上述程序段中,错误的语句是_。(分数:2.00)A.B.C.D.16.字面常量 42、4.2、42L 的数据类型分别是_。(分数:1.00)A.long、
7、double、intB.long、float、intC.int、double、longD.int、float、long17.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:1.00)A.ios:inB.ios: outC.ios:in lios:outD.以上都不对18.在 C+语言中函数返回值的类型是由_决定的。(分数:2.50)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型19.语句 cout setprecison (3)3.1415926end1;的输出为 _
8、 。(分数:2.00)A.3.14B.3.1C.3.142D.3.14120.下列排序方法中,最坏情况下时间复杂度(即比较次数)低于 O(n 2 )的是_。(分数:1.00)A.快速排序B.简单插入排序C.冒泡排序D.堆排序21.下列关于类和对象的叙述中,错误的是_。(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系22.有如下程序: #includeiostream using namespace std; class Point int x,y; public: Point(int x1=0,int y1=
9、0):x(x1),y(y1) int get()return x+y; ; class Circle Point center; int radius; public: Circle(int cx,int cy,int r):center(cx,cy),radius(r) int get()return center.get()+radius; ; int main() Circle c(3,4,5); coutc.get()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.5B.7C.9D.1223.下列关于信息和数据的叙述不正确的是 _ 。(分数:2.00)A.信
10、息是数据的符号表示B.信息是数据的内涵C.信息是现实世界事物的存在方式或运动状态的反映D.数据是描述现实世界事物的符号记录24.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:2.50)A.内联函数B.重载函数C.递归函数D.函数模板25.软件需求分析应确定的是用户对软件的 _。(分数:2.00)A.功能需求和非功能需求B.性能需求C.非功能需求D.功能需求26.设有以下类和对象的定义: class A public; int m; ; A k1,k2, *p1,*p2; 则下面针对成员变量 m 的引用,错误的是_。(分数:2.50)A.k1.m=1B.k2m=2C.p1m
11、=3D.(*p2).m=427.有下列程序: #include stdio.h int fun(int (*s)4,int n,int k) int m,i; m=s0k; for(i=1;in;i+) if(sikm)m=sik; return m; void main() int a44=1,2,3,4),11,12,13,14,21,22,23,24,31,32,33,34; printf(“%d/n“,fun(a,4,0); 程序的运行结果是_。(分数:2.50)A.4B.34C.31D.3228.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:2.00)A.内联函
12、数B.重载函数C.递归函数D.函数模板29.下列函数的运行结果是 _ 。 #includeiostream.h int f(int a,int b) int c; if(ab) c=1; else if(a=b)c=0 elsec=-1; return(c); void main() int i=2,j=3; int p=f(i,j); coutp:(分数:1.00)A.-1B.1C.2D.编译出错,无法运行30.执行下列语句后,输出结果为_。 cout.put(“s“); cout“c“a“;(分数:1.00)A.caB.scaCsDa二、基本操作题(总题数:1,分数:30.00)31.请使
13、用 VC6 或使用【答题】菜单打开 proj1 下的工程 proj1,此工程中包含程序文件 main.cpp,其中有 ElectricFan(“电风扇”)类和主函数 main 的定义。程序中位于每个“/ ERROR *found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 品牌:清风牌,电源:关,风速:0 品牌:清风牌,电源:开,风速:3 品牌:清风牌,电源:关,风速:0 注意:只修改每个“/ ERROR *found*”下的那一行,不要改动程序中的其他内容。 #include iostream using namespace std; class ElectricFan
14、/“电扇”类 char * brand; int intensity; /风速:0-关机,1-弱,2-中,3-强 public: ElectricFan(const char * the_brand): intensity(0) brand = new charstrlen (the_brand) +1; strcpy(brand, the brand); ElectricFan() delete brand; / ERROR *found* const char * theBrand() const return * brand; /返回电扇品牌 int theIntensity() con
15、st return intensity; /返回风速 bool isOn() const return intensity0; /返回电源开关状态 / ERROR *found* void turnOff() intensity=1; /关电扇 void setIntensity (int inten) /开电扇并设置风速 / ERROR *found* if (intensity = 1 void show() cout “品牌:“ theBrand() “牌“ “,电源:“ (isOn()? “开“:“关“) “,风速:“ theIntensity() endl; ; int main()
16、 ElectricFan fan (“清风“); fan.show(); fan.setIntensity(3); fan.show(); fan.turnOff(); fan.show(); return 0; (分数:30.00)_三、简单应用题(总题数:1,分数:30.00)32.使用 VC+6.0 打开 下的源程序文件 2.cpp。请完成函数 fun(int x),该函数的功能是将 x 的值转换成二进制数输出到屏幕,并且在函数中调用写函数 WriteFile()将结果输出到 2.txt 文件中。 例如:x6,6 的二进制数为 110,则输出到屏幕的数为 110。 注意:不要改动 mai
17、n()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includeiostream #includefstream #includecmath using namespace std; void WriteFile(char *str) ofstream out1; out1.open(“2.txt“,ios_base:binary|ios_base:app); for(int i=0; stri != 0; i+) out1.put( stri); out1.close(); void fun(int x) void ClearFile() ofstream out1; out
18、1.open(“2.txt“); out1.close(); int main() ClearFile(); fun(13); return 0; (分数:30.00)_四、综合应用题(总题数:1,分数:40.00)33.请使用 VC6 或使用【答题】菜单打开 proj3 下的工程 proj3,其中定义的 Matrix 是一个用于表示矩阵的类。成员函数 max_value 的功能是求出所有矩阵元素中的最大值。例如,若有 33 矩阵 (分数:40.00)_二级 C+模拟 499 答案解析(总分:150.50,做题时间:90 分钟)一、选择题(总题数:30,分数:50.50)1.计算斐波那契数列第
19、 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.50)A.1B.2C.3 D.4解析:解析 针对递归调用的含义。当 n 为 2 时有 fib(0),fib(1)fib(2)被调用,且 fib(0),fib(1)时调用结束,即共 3 次。2.如下函数的作用是以双倍行距输出文件: void double space(ifstream whilc(_) ;_ if(c=“
20、/n“)t.put(c); 画线处缺失的部分是_。(分数:2.00)A.get(c)与 t.put(c) B.put(c)与 t.get(c)C.get(c)与 f.put(c)D.put(c)与 f.get(c)解析:解析 此题考查的是文件流。get()函数作用是读入一个字符,所以调用它的应该是输入文件流ifstream 对象 f;put()函数作用是输出一个字符,所以调用它的应该是输入文件流 ofstream 对象 t,故选项 B、C 排除。读入和输出应该是有顺序的,应该先读入后输出,所以前一空填 f.get(c),后一空填t.put(c)。3.下列关于纯虚函数与抽象类的描述中,错误的是
21、_ 。(分数:1.00)A.纯虚函数是一种特殊的虚函数,它没有具体的实现 B.抽象类是指具有纯虚函数的类C.一个基类中说明具有纯虚函数,该基类的派生类一定不再是抽象类D.抽象类只能作为基类来用,其纯虚函数的实现由派生类给出解析:解析 本题考核纯虚函数和抽象类的定义。 基类的虚函数有时候不可能被调用到,这时可定义该虚函数为纯虚函数。纯虚函数没有函数体,但一定要进行说明,它告诉编译器,它的具体实现在派生类中。所以选项 A 的说法是错误的。 抽象类是指至少有一个纯虚函数的类。它往往表示一些抽象的概念,它的成员函数没有什么意义。所以选项 B 的描述是正确的。 抽象类是一种特殊的类,它是为了抽象和设计的
22、目的而建立的,它处于继承层次结构的上层。抽象类的主要作用是将有关的类组织在一个继承层次结构中,由它来为它们提供一个公共的根,相关的子类是从这个根派生出来的。 对于抽象类的使用有几点规定:抽象类只能用作其他类的基类,不能建立抽象类对象。抽象类不能用作参数类型、函数返回类型或显式转换的类型。可以说明指向抽象类的指针和引用,此指针可以指向它的派生类,进而实现多态性。 由此可知选项 C 和 D 的描述是正确的。4.软件设计中划分模块的一个准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析 一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 模拟 499 答案 解析 DOC
