历年计算机二级c++真题及答案.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《历年计算机二级c++真题及答案.pdf》由会员分享,可在线阅读,更多相关《历年计算机二级c++真题及答案.pdf(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国计算机等级考试全国计算机等级考试 C+C+二级笔试试卷二级笔试试卷公共基础知识及 C+语言程序设计(考试时间 90 分钟,满分 100)分)20042004 年年 9 9 月全国计算机等级考试二级笔试试卷月全国计算机等级考试二级笔试试卷一、选择题(1)(35)每小题 2 分,共 70 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下面叙述正确的是 A)算法的执行效率与数据的存储结构无关 B)算法的空间复杂度是指算法程序中指令(或语句)的条数 C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 D)以上三
2、种描述都不对(2)以下数据结构中不属于线性数据结构的是 A)队列 B)线性表 C)二叉树 D)栈(3)在一棵二叉树上第 5 层的结点数最多是 A)8 B)16 C)32 D)15(4)下面描述中,符合结构化程序设计风格的是 A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B)模块只有一个入口,可以有多个出口 C)注重提高程序的执行效率 D)不使用 goto 语句(5)下面概念中,不属于面向对象方法的是 A)对象 B)继承 C)类 D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是 A)可行性分析 B)需求分析 C)详细设计 D)程序编码(7
3、)在软件开发中,下面任务不属于设计阶段的是 A)数据结构设计 B)给出系统模块结构 C)定义模块算法 D)定义需求并建立系统模型(8)数据库系统的核心是 A)数据模型 C)软件工具B)数据库管理系统 D)数据库1/94历年计算机二级c+真题及答案-第1页历年计算机二级c+真题及答案-第1页(9)下列叙述中正确的是 A)数据库系统是一个独立的系统,不需要操作系统的支持 B)数据库设计是指设计数据库管理系统 C)数据库技术的根本目标是要解决数据共享的问题 D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式 B)外模式 C)概
4、念模式 D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是 A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理 B)“多态性”指的是对象的状态会根据运行时要求自动变化 C)基类的私有成员在派生类的对象中不可访问,也不占内存空间 D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量 ch 是否为大写英文字母,应使用表达式A)ch=A&ch=Z B)ch=ZC)A=ch=A&ch n;switch(n)case 1:case 2:cout 1;case 3:case 4:cout 2;break;default:cout 3;时,若
5、键盘输入 1,则屏幕显示A)1 B)2 C)3 D)12(15)下列程序的输出结果是#include 2/94历年计算机二级c+真题及答案-第2页历年计算机二级c+真题及答案-第2页using namespace std;int main()char a=Hello,World;char*ptr=a;while(*ptr)if(*ptr=a&*ptr=z)cout char(*ptr+A-a);else cout *ptr;ptr+;return 0;A)HELLO,WORLD B)Hello,WorldC)hELLO,wORLD D)hello,world(16)已知:int m=10;在下
6、列定义引用的语句中,正确的是A)int&x=m;B)int y=&m;C)int&z;D)int&t=&m;(17)下列函数原型声明中错误的是A)void Fun(int x=0,int y=0);B)void Fun(int x,int y);C)void Fun(int x,int y=0);D)void Fun(int x=0,int y);(18)已知程序中已经定义了函数test,其原型是 int test(int,int,int);,则下列重载形式中正确的是A)char test(int,int,int);B)double test(int,int,double);C)int tes
7、t(int,int,int=0);D)float test(int,int,float=3.5F);(19)有以下程序#include3/94历年计算机二级c+真题及答案-第3页历年计算机二级c+真题及答案-第3页int i=0;void fun()static int i=1;std:couti+,;std:couti,;int main()fun();fun();return 0;程序执行后的输出结果是A)1,2,1,2,B)1,2,2,3,C)2,0,3,0,D)1,0,2,0,(20)已知函数 f 的原型是:void f(int*a,long&b);变量 v1、v2 的定义是:int
8、v1;long v2;,正确的调用语句是A)f(v1,&v2);C)f(&v1,v2);(21)有以下类定义class MyClasspublic:MyClass()cout1;则执行语句 MyClass a,b2,*p2;后,程序的输出结果是A)11 B)111 C)1111 D)11111(22)关于友元,下列说法错误的是A)如果类 A 是类 B 的友元,那么类 B 也是类 A 的友元B)如果函数 fun()被说明为类 A 的友元,那么在 fun()中可以访问类 A 的私有成员C)友元关系不能被继承B)f(v1,v2);D)f(&v1,&v2);4/94历年计算机二级c+真题及答案-第4页
9、历年计算机二级c+真题及答案-第4页D)如果类 A 是类 B 的友元,那么类 A 的所有成员函数都是类 B 的友元(23)关于动态存储分配,下列说法正确的是A)new 和 delete 是 C+语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete 释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#includeusing namespace std;class MyClasspublic:MyClass(int n)number=n;/拷贝构造函数M
10、yClass(MyClass&other)number=other.number;MyClass()private:int number;MyClass fun(MyClass p)MyClass temp(p);return temp;int main()MyClass obj1(10),obj2(0);MyClass obj3(obj1);obj2=fun(obj3);return 0;5/94历年计算机二级c+真题及答案-第5页历年计算机二级c+真题及答案-第5页程序执行时,MyClass 类的拷贝构造函数被调用的次数是A)5 B)4 C)3 D)2(25)在公有派生的情况下,派生类中定
11、义的成员函数只能访问原基类的 A)公有成员和私有成员 B)私有成员和保护成员 C)公有成员和保护成员 D)私有成员、保护成员和公有成员(26)在 C+中用来实现运行时多态性的是 A)重载函数 B)析构函数 C)构造函数 D)虚函数(27)一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是 A)每个派生类的构造函数都要为虚基类构造函数提供实参 B)多继承时有可能出现对基类成员访问的二义性问题 C)使用虚基类可以解决二义性问题并实现运行时的多态性 D)建立最派生类对象时,虚基类的构造函数会首先被调用(28)在一个类体的下列声明中,正确的纯虚函数声明是A)virtual
12、void vf()=0;B)void vf(int)=0;C)virtual int vf(int);D)virtual void vf(int)(29)在下面的运算符重载函数的原型中,错误的是A)Volume operator-(double,double);B)double Volume:operator-(double);C)Volume Volume:operator-(Volume);D)Volume operator-(Volume,Volume);(30)下列是模板声明的开始部分,其中正确的是A)templateB)templateC)templateD)template(31)
13、执行语句序列ofstream outfile(DATA.DAT);if(.)cout OK;else cout 是一个()A)用于输出操作的非成员函数 B)用于输入操作的非成员函数 C)用于输出操作的成员函数 D)用于输入操作的成员函数(33)有以下类定义class Point public:Point(int x=0,int y=0)_.x=x;_.y=y;void Move(int xOff,int yOff)_x+=xOff;_.y+=yOff;void Print()const cout (_x ,_y )endl;private:int _x,_y;下列语句中会发生编译错误的是A)P
14、oint pt;pt.Print();B)const Point pt;pt.Print();C)Point pt;pt.Move(l,2);D)const Point pt;pt.Move(l,2);(34)有以下类定义class MyClassprivate:int id;char gender,char*phone;public:MyClass():id(0),gender(#),phone(NULL)MyClass(int no,char ge=#,char*ph=NULl.)7/94历年计算机二级c+真题及答案-第7页历年计算机二级c+真题及答案-第7页 id=no;gende=ge
15、;phone=ph;下列类对象定义语句中错误的是A)MyClass myObj;B)MyClass myObj(11,);C)MyClass myObj(12,m);D)MyClass myObj(12);(35)有以下程序#include using namespace std;class Complexpublic:Complex(double r=0,double i=0):re(r),im(i)double real()const return re;double imag()const return im;Complex operator+(Complex c)const retur
16、n Complex(re+c.re,im+c.im);private:double re,im;int main()Complex a=Complex(l,1)+Complex(5);cout a.real()+a.imag()i endl;return 0;程序执行后的输出结果是A)6+6i B)6+1i C)1+6i D)1+1i二、填空题(每空 2 分,共 30 分)请将每一个空的正确答案写在答题卡 1-15序号的横线上,答在试卷上不得分。注意:以命令关键字填空8/94历年计算机二级c+真题及答案-第8页历年计算机二级c+真题及答案-第8页的必须拼写完整。(1)算法的复杂度主要包括 1复
17、杂度和空间复杂度。(2)数据的逻辑结构在计算机存储空间中的存放形式称为数据的 2。(3)若按功能划分,软件测试的方法通常分为白盒测试方法和 3测试方法。(4)如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在 4的联系。(5)关系数据库管理系统能实现的专门关系运算包括选择、连接和 5。(6)设有定义语句:int a=12;,则表达式 a*=2+3 的运算结果是 6。(7)从实现的角度划分,C+所支持的两种多态性分别是 7时的多态性和运行时的多态性。(8)将个函数声明为一个类的友元函数必须使用关键字 8。(9)请按下面注释的提示,将类B 的构造函数定义补
18、充完整。class A int a;public:A(int aa=0)a=aa;class B:public A int b;A c;public:/用 aa 初始化基类 A,用 aa+1 初始化类对象成员 cB(int aa):9 b=aa+2;(10)下列程序的输出结果是 10。#include using namespace std;int main()int i=5;int&r=i;r=7;9/94历年计算机二级c+真题及答案-第9页历年计算机二级c+真题及答案-第9页 cout i endl;return 0;(11)下列程序的输出结果是 11。#include using nam
19、espace std;class Test public:Test()cnt+;Test()cnt-;static int Count()return cnt;private:static int cnt;int Test:cnt=0;int main()cout Test:Count0 ;Test tl,t2;Test*pT3=new Test;Test*pT4=new Test;cout Test:Count0 ;delete pT4;delete pT3;cout Test:Count()endl;return 0;(12)下面是用来计算 n 的阶乘的递归函数,请将该函数的定义补充完整。
20、(注:阶乘的定义是 n!=n*(n-1)*.*2*1)unsigned fact(unsigned n)if(n=1)10/94历年计算机二级c+真题及答案-第10页历年计算机二级c+真题及答案-第10页 return 1;return 12 ;(13)下列程序的输出结果是 13。#include using namespace std;templateT fun(T a,T b)return(a=b)?:b;int main()cout fun(3,6),fun(3.14F,6.28F)name 等价的表达式是 14。(15)下列程序的输出结果是 15。#include using name
21、space std;class base public:int n;base(int x)n=x;virtual void set(int m)n=m;cout n ;class deriveA:public base public:deriveA(int x):base(x)void set(mt m)n+=m;cout n ;class deriveB:public base public:deriveB(int x):base(x)11/94历年计算机二级c+真题及答案-第11页历年计算机二级c+真题及答案-第11页 void set(int m)n+=m;cout n aet(1);p
22、base=&d2;pbase-set(2);return 0;2004 年 9 月全国计算机等级考试二级笔试试卷公共基础知识及 C+语言程序设计答案及评分标准选择题(1)(35)每小题 2 分,共 70 分)(1)C (2)C (3)B (4)A (5)D (6)B (7)D (8)B (9)C (10)A (11)D (12)D (13)C (14)D (15)A (16)A (17)D (18)B (19)D (20)C (21)B (22)A (23)B (24)B (25)C (26)D (27)C (28)A (29)A (30)C (31)C (32)B (33)D (34)B (
23、35)B二、填空题(每空 2 分,共 30 分)(1)1 时间 (2)2 存储结构或物理结构或物理存储结构 (3)3 黑盒或黑箱 (4)4一对多或 1 对多或 I:M或 I:N(其中 M、N 大小写均可)(5)5 投影12/94历年计算机二级c+真题及答案-第12页历年计算机二级c+真题及答案-第12页 (6)6 60 (7)7 编译 (8)8 friend (9)9 A(aa),c(aa+1)或 c(aa+1),A(aa)(10)10 7 (11)11 042 (12)12 n*fact(n-1)(13)13 3,3.14 (14)14(*p).name (15)15 2520102010
24、年年 3 3 月计算机等级考试二级月计算机等级考试二级 C+C+笔试试题笔试试题一、选择题(每小题 2 分,共 70 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n log2n)(2)算法的时间复杂度
25、是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器13/94历年计算机二级c+真题及答案-第13页历年计算机二级c+真题及答案-第13页(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD 图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 计算机 二级 c+ 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内