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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(全国计算机二级C++考试真题及答案.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

全国计算机二级C++考试真题及答案.docx

1、全国计算机二级C+考试真题及答案2006年9月全国计算机二级C+考试真题及答案一、选择题每题2 分,共70 分以下各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。1以下选项中不符合良好程序设计风格的是_。A、源程序要文档化 B、数据说明的次序要标准化C、防止滥用goto 语句 D、模块设计要保证高耦合,高内聚2从工程管理角度,软件设计一般分为两步完成,它们是_。A、概要设计与详细设计 B、数据设计与接口设计C、软件构造设计与数据设计 D、过程设计与数据设计3以下选项中不属于软件生命周期开发阶段任务的是_。A、软件测试 B、概要设计 C、

2、软件维护 D、详细设计4在数据库系统中,用户所见的数据模式为_。A、概念模式 B、外模式 C、内模式 D、物理模式5数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和_。A、编码设计 B、测试阶段 C、运行阶段 D、物理设计6设有如下三个关系表以下操作中正确的选项是A、T=RS B、T=RS C、T=RS D、T=R/S7以下表达中正确的选项是A、一个算法的空间复杂度大,那么其时间复杂度也必定大B、一个算法的空间复杂度大,那么其时间复杂度必定小C、一个算法的时间复杂度大,那么其空间复杂度必定小D、上述三种说法都不对8在长为64 的有序线性表中进展顺序查找,最坏情况下需要比拟的次数为_。A、

3、63 B、64 C、6 D、79数据库技术的根本目标是要解决数据的_。A、存储问题 B、共享问题 C、平安问题 D、保护问题10对以下二叉树:进展中序遍历的结果是_。A、ACBDFEG B、ACBDFGE C、ABDCGEF D、FCADBEG11以下有关内联函数的表达中,正确的选项是_。A、内联函数在调用时发生控制转移B、内联函数必须通过关键字inline 来定义C、内联函数是通过编译器来实现的D、内联函数体的最后一条语句必须是rennin 语句12以下情况中,不会调用拷贝构造函数的是_。A、用一个对象去初始化同一类的另一个新对象时B、将类的一个对象赋予该类的另一个对象时C、函数的形参是类的

4、对象,调用函数进展形参和实参结合时D、函数的返回值是类的对象,函数执行返回调用时13以下有关继承和派生的表达中,正确的选项是_。A、如果一个派生类私有继承其基类,那么该派生类对象不能访问基类的保护成员B、派生类的成员函数可以访问基类的所有成员C、基类对象可以赋值给派生类对象D、如果派生类没有实现基类的一个纯虚函数,那么该派生类是一个抽象类14以下运算不能重载为友元函数的是_。A、= ( ) - B、+ - + -C、 = = D、+= -= *= /=15关于在调用模板函数时模板实参的使用,以下表述正确的选项是_。A、对于虚类型参数所对应的模板实参,如果能从模板函数的实参中获得一样的信息,那么

5、都可以省略B、对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的假设干个参数,FC EA DBG那么都可以省略C、对于虚拟型参数所对应的模板实参,假设能够省略那么必须省略D、对于常规参数所对应的模板实参,任何情况下都不能省略16以下关于输入流类成员函数getline( )的描述中,错误的选项是_。A、该函数是用来读取键盘输入的字符串的B、该函数读取的字符串长度是受限制的C、该函数读取字符串时,遇到终止符便停顿D、该函数读取字符串时,可以包含空格17以下符号中,正确的C+标识符是_。A、enum B、2b C、foo-9 D_3218以下语句中,错误的选项是_。A、const int

6、buffer=256; B、const double*point;C、int const buffer=256; D、double*const point;19if 语句的语法格式可描述为格式1:if或格式2:ifelse关于上面的语法格式,以下表述中错误的选项是A、局部可以是一个if 语句,例如if(if(a =0)?)?B、局部可以是一个if 语句,例如if(?)if(?)?C、如果在前加上逻辑非运算符!并交换和的位置,语句功能不变D、局部可以是一个循环语句,例如if(?)while?20有如下说明int a 10=1,2,3,4,5,6,7,8,9,10,*p=a;那么数值为9 的表达式

7、是_。A、*p+9 B、*(p+8) C、*p+=9 D、p+721或下面的函数调用fun(a+b,3,max(n-1)b)那么fun 的实参个数是_。A、3 B、4 C、5 D、622以下关键字不能用来声明类的访问权限的是_。A、public B、static C、protected D、private23在公有继承的情况下,允许派生类直接访问的基类成员包括_。A、公有成员 B、公有成员和保护成员C、公有成员、保护成员和私有成员 D、保护成员24关于运算符重载,以下表述中正确的选项是_。A、C+已有的任何运算符都可以重载B、运算符函数的返回类型不能声明为根本数据类型C、在类型转换符函数的定义

8、中不需要声明返回类型D、可以通过运算符重载来创立C+中原来没有的运算符25关于关键字class 和typename,以下表述中正确的选项是_。A、程序中的typename 都可以替换为classB、程序中的class 都可以替换为typenameC、在模板形参表中只能用typename 来声明参数的类型D、在模板形参表中只能用class 或typename 来声明参数的类型26有如下程序#include#includeusing namespace std;int main()count#includeusing namespace std;class MyClasspublic:MyClas

9、s()coutA;MyClass(char c coutusing namespace std;int i=1;class Funpublic;static int i;int value()return i-1int value ()constreturn i+1;int Fun;i=2;int main()int i=3;Fun Fun1const Fun fun2;return 0;假设程序的输出结果是:123那么程序中下划线处遗漏的语句是_。A、coutusing namespace std;class Objstatic int i;public:Obj()i+;Obj()i-;st

10、atic int getVal()teturn i;int Obj:i=0;void f ()Obj ob2;coutgetVal();Delete ob3;coutusing namespace std;class Baseprotected;Base()coutA;Base(char c)coutusing namespace std;class Apublic:virtual Void funcl()cout “A1;void fune2()cout “A2;class B: public Apublic:void func1()cout “B1;void func2()coutfunc

11、l();p-func2();retum0;运行程序,屏幕上将显示输出_。A、B1B2 B、A1A2 C、B1A2 D、A1B2二、填空题每空2 分,共30 分请将每一个空的正确答案写在答题卡115序号的横线上,答在试卷上不得分。1以下软件系统构造图的宽度为 1 。2 2 的任务是诊断和改正程序中的错误。3一个关系表的行为 3 。4按“行进后出原那么组织数据的数据构造是 4 。5数据构造分为线性构造和非线性构造,带链的队列属于 5 。6假设有定义语句:int*a,b;,那么变量b 的数据类型是 6 。7数组a 中的元素个数为n,以下语句的作用是将下标为i 的元素移动到下标为i1 的单元,其中1i

12、n。例如,当n=4,a 中原有数据为1,2,3,4 时,那么移动后a中元素为2,3,4,4。请将语句补充完整:For(int i=0;iusing namespace std;class Foopublic:Foo(int X)cout AFoo();int main()Foo f3,g(3);return 0;10习惯性在以下程序的输出结果是42,请将画线处缺失的局部补充完整。#includeUsing namespace atd;Class Fooint value;public:Foo():value(0)Void setValue(int value) 10 =value; /给Foo

13、 的数据成员value 赋值void print()coutusing namespace std;class Basepublic:Void print()cout B;class Derived: public Basepublicvoid print()coutprint();pd-print();delete pd;return 0;12在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承private。有如下类定义:class Baseprotected:void fun();Class Derived: Base;那么Base 类中的成员函数fun(),在Deriv

14、ed 类中的访问权限是 12 注意:要求填写private、protected 或public 中的一项。13在MyClass 类的定义中,对赋值运算符=进展重载。请将画线处缺失的局部补充完整。13 MyClass:operator=(const MyClass rhs)if(this=&rhs)return*this;value=rhs. value;return*this;14插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置,InsertSort 类的成员函数sort()实现了插入排序算法,请将画线处缺失的局部补充完整。class InsertSort

15、public:InsertSort(int*a0,int n0):a(a0),n(n0)/参数组首地址,n 是数组元素个数void sort()/此函数假设已排离序列初始化状态只包含a0,未排序序列初始为a1?an-1for (int i=1;i0;-j)if(taj-1)break;aj=aj-1;aj=t;protected:int*a,n;/指针a 用于存放数组首地址,n 用于存放数组元素个数;15以下程序的输出结果是 15#includeusing namespace std;class Aint apublic:A():a(9)virtual void print() const c

16、outprint();show(d1);show(d2);return 0; 31有如下类定义:class MyBaseint k;public;MyBase(int n=0):k(n)int value()constreturn k;class MyDerived; MyBaseint j;public;MyDerived(int i): j(i)int getK()const return k;int gutj()constreturn j;编译时发现有一处语法错误,对这个错误最正确准确的描述是A、函数getK 试图访问基类的私有成员变量KB、在类MyDerived 的定义中,基类名MyB

17、ase 前缺少关键字public、protected 或privateC、类MyDerived 缺少一个无参的构造函数D、类MyDerived 的构造的数没有对基数数据成员K 进展初始化32在一个派生类对象完毕其生命周期时A、先调用派生类的析构函数后调用基类的析构函数B、先调用基类的析构函数后调用派生类的析构函数C、如果基数没有定义析构函数,那么只调用派生类的析构函数D、如果派生类没有定义析构函数,那么只调用基类的析构函数33有如下的运算重载函数定义:Double operator+(int i, int k)return double(i+k);但定义有错误,对这个错误的最准确的描述是_。A

18、、+只能作为成员函数重载,而这里的+是作为非成员函数重载的B、两个int 型参数的和应该是int 型,而这里将+的返回类型声明为doubleC、没有将运算符重载函数声明为某个类的友元D、C+已经提供了求两个int 型数据之和运算符+,不能再定义同样的运算符34语句ofstreamf“SALARY.DAT,ios_base:app的功能是建立流对象f,并试图翻开文件SALARY.DAT 与f 关联,而且_。A、假设文件存在,将其置为空文件;假设文件不存在,翻开失败B、假设文件存在,将文件指针定位于文件尾;假设文件不存在,建立一个新文件C、假设文件存在,将文件指针定位于文件首;假设文件不存在,翻开

19、失败D、假设文件存在,翻开失败;假设文件不存在,建立一个新文件35有如下程序#includeusing namespace std;class Apublic:virtual Void funcl()cout “A1;void fune2()cout “A2;class B: public Apublic:void func1()cout “B1;void func2()coutfuncl();p-func2();retum0;运行程序,屏幕上将显示输出_。A、B1B2 B、A1A2 C、B1A2 D、A1B2二、填空题每空2 分,共30 分请将每一个空的正确答案写在答题卡115序号的横线上,

20、答在试卷上不得分。1以下软件系统构造图的宽度为 1 。2 2 的任务是诊断和改正程序中的错误。3一个关系表的行为 3 。4按“行进后出原那么组织数据的数据构造是 4 。5数据构造分为线性构造和非线性构造,带链的队列属于 5 。6假设有定义语句:int*a,b;,那么变量b 的数据类型是 6 。7数组a 中的元素个数为n,以下语句的作用是将下标为i 的元素移动到下标为i1 的单元,其中1in。例如,当n=4,a 中原有数据为1,2,3,4 时,那么移动后a中元素为2,3,4,4。请将语句补充完整:For(int i=0;in-1;i+) ai=a 7 。8递归函数f 的定义如下:int f (i

21、nt n)If(n1)return 1;/递归完毕情况else return n*f(n-2);/递归那么函数调用语句f(5)的返回值是 8 。9创立对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,那么调用缺省构造函数,以下程序涉及到对象数组的创立和单个对象的创建,其输出结果是 9 。#includeusing namespace std;class Foopublic:Foo(int X)cout AFoo();int main()Foo f3,g(3);return 0;10习惯性在以下程序的输出结果是42,请将画线处缺失的局部补充完整。#include

22、Using namespace atd;Class Fooint value;public:Foo():value(0)Void setValue(int value) 10 =value; /给Foo 的数据成员value 赋值void print()coutvalue;Int main()Foo f;f.setValue(42);f.print();retum0;11如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,以下程序没有使用多态机制,其输出结果是 11 。#includeusing namespace std;class Basepubl

23、ic:Void print()cout B;class Derived: public Basepublicvoid print()coutprint();pd-print();delete pd;return 0;12在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承private。有如下类定义:class Baseprotected:void fun();Class Derived: Base;那么Base 类中的成员函数fun(),在Derived 类中的访问权限是 12 注意:要求填写private、protected 或public 中的一项。13在MyClass

24、类的定义中,对赋值运算符=进展重载。请将画线处缺失的局部补充完整。13 MyClass:operator=(const MyClass rhs)if(this=&rhs)return*this;value=rhs. value;return*this;14插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置,InsertSort 类的成员函数sort()实现了插入排序算法,请将画线处缺失的局部补充完整。class InsertSortpublic:InsertSort(int*a0,int n0):a(a0),n(n0)/参数组首地址,n 是数组元素个数voi

25、d sort()/此函数假设已排离序列初始化状态只包含a0,未排序序列初始为a1?an-1for (int i=1;i0;-j)if(taj-1)break;aj=aj-1;aj=t;protected:int*a,n;/指针a 用于存放数组首地址,n 用于存放数组元素个数;15以下程序的输出结果是 15#includeusing namespace std;class Aint apublic:A():a(9)virtual void print() const couta;class B:public Achar b;public:B()b= S;void print()constcoutprint();show(d1);show(d2);return 0;参考答案:一、选择题01、D 02、A 03、C 04、B 05、D06、C 07、D 08、D 09、B 10、A11、C 12、D 13、D 14、A 15、D21、A 22、B 23、B 24、C 25、B26、D 27、D 28、A 29、A 30、B31、A 32、B 33、C 34、B 35、C

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1