已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2008年4月计算机等级考试二级C+考试试题及答案(考试时间90 分钟,满分100 分)一、选择题(每小题2分,共70分)(1)程序流程图中带有箭头的线段表示的是( )。A)图元关系 B)数据流 C)控制流 D)调用关系(2)结构化程序设计的基本原则不包括( )。 A)多元性 B)自顶向下 C)模块化 D)逐步求精(3)软件设计中模块划分应遵循的准则是( )。 A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(4)在软件开发中,需求分析阶段产生的主要文档是( )。A)可行性分析报告B)软件需求规格说明书C)概要设计说明书D)集成测试计划(5)算法的有穷性是指( )。A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是( )。A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)下列关于栈的叙述正确的是( )。A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据C)只能在栈底插入数据(8)在数据库设计中,将 E-R 图转换成关系数据模型的过程属于( )。A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段(9)有三个关系 R、S 和 T 如下:由关系 R 和 S 通过运算得到关系 T,则所使用的运算为( )。A)并 B)自然连接 C)笛卡尔积 D)交(10)设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为( )。 A)课号,成绩 B)学号,成绩 C)学号,课号 D)学号,姓名,成绩(11)下列有关函数重载的叙述中,错误的是A)函数重载就是用相同的函数名定义多个函数B)重载函数的参数列表必须不同C)重载函数的返回值类型必须不同D)重载函数的参数可以带有默认值(12)下列有关类成员的叙述中,正确的是A)友元函数是类的成员函数C)类成员函数必须声明为公有的D)类的静态数据成员不能是常成员(13)下列有关类继承的叙述中,错误的是A)继承可以实现软件复用B)虚基类可以解决由多继承产生的二义性问题C)派生类构造函数要负责调用基类的构造函数D)派生类没有继承基类的私有成员(14)下列有关运算符重载的叙述中,正确的是A)运算符重载是多态性的一种表现B)C+中可以通过运算符重载创造新的运算符C)C+中所有运算符都可以作为非成员函数重载D)重载运算符时可以改变基结合性(15)下列有关模板的叙述中,正确的是A)函数模板不能含有常规形参B)函数模板的一个实例就是一个函数定义C)类模板的成员函数不能是模板函数D)用类模板定义对象时,绝对不能省略模板实参(16)下列有关 C+流的叙述中,错误的是A)C+操作符 setw 设置的输出宽度永久有效B)C+操作符 endl 可以实现输出的回车换行C)处理文件 I/O 时,要包含头文件 fstreamD)进行输入操作时,eof()函数用于检测是否到达文件尾(17)下列符号中能够作为 C+标识符的是 A)const B)2a C)_shape D)-count(18)已知枚举类型声明语句为:enum COLOR WHITE,YELLOW,GREEN=5,RED,BLACK=10 ;则下列说法中错误的是A)枚举常量 YELLOW 的值为 1B)枚举常量 RED 的值为 6C)枚举常量 BLACK 的值为 10 D)枚举常量 WHITE 的值为 1(19)执行下列语句段后,输出字符“*”的个数是for (int i=50; i1; I-=2)cout*; A)24 B)25 C)26 D)50(20)有如下定义:int a5=1,3,5,7,9,*p=a;下列表达式中不能得到数值 5 的是 A)a2 B)a3 C)*(p+2) D)*p+4 (21)已知函数 f 的原型是 void f(int *a, long & b);,变量 v1、v2 的定义是:int v1; loong v2;下列调用语句中正确的是A)f(v1, &v2); B)f(v1, v2); C)f(&v1, &v2); D)f(&v1, v2);(22)有如下类定义:class Pointprivate;static int how_many;_ how_many=0; 要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是A)ingB)static intC)int Point: D)static int Point:(23)在下列关键字中,不能用来表示继承方式的是 A)private B)static C)public D)protected(24)已知 Value 是一个类,Value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是A)Value operator+(Value v, int i); B)Value operator+(Value v=value, int i);C)Value operator+(Value vint i=0);D)Value operator+(Value v=value, int i=0);(25)下面是一个模板声明的开始部分:templute double _由此可知A)这可能是一个函数模板的声明B)这可能是一个类模板的声明C)这既可能是一个函数模板的声明,也可能是一个类模板的声明D)这肯定是一个错误的模板声明(26)有如下 4 个语句: coutAsetfill(*)leftsetw(7)Bendl; coutsetfill(*)leftsetw(7)ABendl; coutAserfill(*)rightsetw(7)Bendl; coutsetfill(*)rightsetw(7)ABendl;其中能显示 A*B 的是 A)和 B)和 C)和 D)和(27)有如下类定义:class MyClass Int value; public;MyClass(int n): value (n) int gerValue()const return value;则类 MyClass 的构造函数的个数是 A)1 个 B)2 个 C)3 个 D)4 个(28)有如下类和对象的定义:class Constantspublic; static double getPI()return 3.1416;Constants constants;下列各组语句中,能输出 3.1416 的是A)coutgetPI();和 coutConstants:gerPI();B)coutconstants.getPI();和 coutConstants.getPI();C)coutgetPI();和 coutgetPI();D)coutconstants.getPI();和 coutConstants:getPI();29)有如下程序:#includeusing namespace std;class VACpublic; int f() const return 3; int f() return 5;Int main()VAC v1; const VAC v2;coutv1.f()v2.f();feturn 0; 运行时的输出结果是 A)53 B)35 C)55 D)33(30)有如下类声明:class Baseprotected; int amount;public;Base(int n=0): amount(n)int getAmount()const retum amount; ;class Derived: public Base protected;int value; public;Derived(int m, int n): value(m). Base(n)Int getData()const return value+amount; ;已知 x 是一个 Derived 对象,则下列表达式中正确的是A)x.value+ x.getAmount() B)x.getData()-x.gctAmount()C)x.getData()-x.amountD)x.value+x.amount(31)有如下程序:#includeusing namespace std;class Base int x; public;Baseint n=0; x(n)coutn;Int getX()constreturn x;class Derived public Baseint y;public;Derived(int m, int n): y(m), Base(n)coutm;Derived(int m): y(m)coutm;int main()Derived dl(3), d2(5,7);Return 0; 运行时的输出结果是 A)375 B)357 C)0375 D)0357(32)下列有关抽象类和纯虚函数的叙述中,错误的是A)拥有纯虚函数的类是抽象类,不能用来定义对象B)抽象类的派生类若不实现纯虚函数,它也是抽象类C)纯虚函数的声明以“=0;”结束D)纯虚函数都不能有函数体(33)有如下程序:#includeUsing namespace std;Class Amountint amount;public;Amount(int n=0): amount(n)Int getAmount()constreturn amount;Amount &operator +=(Amount a)amount+=a.amount; return ; ;int main()Amount x(3),y(7);x+=y; coutx.getAmount()endl;return 0; 已知程序的运行结果是 10,则下划线处缺失的表达式是 A)*this B)this C)&amount D)amount (34)下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“left”,输出效果将发生变化的是A)coutleftsetfill(*)357;B)coutleftsetw(5)357;C)coutleftsetw(5)ABCDE;D)coutleftABCDE;(35)有如下程序:#includeusing namespace std;class GApublic;virtual int f()retum l;class GB: public GApublic;virtual int f()return 2;void show(GA g)coutg.f(); void display(GA &g)coutg.f();int main()GA a: show(a); display(a);GB b: show(b); display(b);retum 0; 运行时的输出结果是 A)1111 B)1211 C)1112 D)1212 二、填空题(每空2分,共30分)(1)测试用例包括输入值集和_值集。(2)深度为 5 的满二叉树有_个叶子结点。(3)设某循环队列的容量为 50,头指针 front=5(指向队头元素的前一位置),尾指针 rear=29(指向队尾元素),则该循环队列中共有_个元素。(4)在关系数据库中,用来表示实体之间联系的是_。(5)在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中, _负责数据的模式定义与数据的物理存取构建。(6)在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作“类”。类是一种抽象的概念,属于该类的一个实例叫做“_”。(7)指针数组是由_构成的数组。(8)如果使用数组名称为函数参数,形实结合时,传递的是_。(9)在类的对象被创建的时候,_函数会被自动调用。(10)在类中,_成员为类的所有对象所共享。(11)有如下程序:#include using namespace std;class Basepublic;int m,n; ;class Derived1: _Base;class Derived2: public Derived1public:void SetMN(int M, int N) M=M; n=N; int GetSumMN() retum (m+n); ;int main()Derived2 objD;objD.SetMN(3,4);coutM+N=objD.m+bojD.nendl;retum 0; 编译时只有“coutM+N=objD.m+bojD.nendl;”有语法错误,程序的其他地方没有语法错误,请判断下划线处使用的关键字是什么。(12)有如下程序:#include using namespace std;class Baseint b; public;Base(int i) b=i; void disp()coutBase: b=b;class basel; virtual public Base public;Base1(int i): Base(i);class Base2:virtual public Basc public;Base2(int i):Base(i);class Derived:public Base2.public Base1int d; public;Derived(int I,int j):Base1(j), Base2(j), _ d=i; void disp() coutDerived: d=d; ;int main()Derived objD(1,2); objD.disp();objD.Basce:disp();objD.Basce1:disp();objD.Basce2:disp();return 0; 请将程序补充完整,使程序在运行时输出:Derived: d=1 Base: b=2 Base: b=2 Base: b=2(13)如下程序声明了一个电话号码类 PhoneNumber,重载了流插入运算符,以便于电话号码的输出。请将程序补充完整。#include #include #include using namespace std;class PhoneMumberpublic;void setNumber(string number) this-number=number; /重载流插入操作符friend_ (ostream &output, const PhoneNumber &num) outputnum.number; return output; private;string number;int main()PhoneNumber phone;phone.setNumber(8008100598);cout The phone number is:phone end1;return 0; (14)如下程序声明了一个二维图形类 TwoDShape,从其派生出矩形类 Rec。#include #include using namespace std;class TwoDShape /二维图形类char name20;public;TwoDShape(char *n=unknown)strcpy(name, n); char *getNa:ne() return name; _=0;class Rec : public TwoDShapedouble width, height;public;Rec (double w=0.0, double h=0.0):TwoDShape(rectamgle) width = w; height = h; double getWidth() return width; double getHeight() return height;double area() return width*height; ;int main()TwoDShape *shape;shape = new Rec(2.1, 3.0);cout object isgetName()n;cout Area isarea()n;return 0; 请将程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业岗位聘用协议与职责承诺书
- 安全卫士聘用协议
- 电商平台赠品营销服务协议
- 2025年碳资产租赁合作协议
- 2025年施工噪音标准协议
- 2025年生物可吸收硬组织补片技术入股协议
- 2025年商场冷冻区清洁协议
- 2025年个人与设计师合作协议
- 2025年个人养老护理服务合同协议
- 2025年个人信息保护合同协议
- 黑龙江省哈尔滨市师范大学附中2025-2026学年高三上学期期中语文试题(含答案及解析)
- DB62T 3130-2017 公路沥青路面碎石封层设计与施工技术规范
- 2025年高中信息技术学业水平考试真题及答案
- 发展历程时间轴
- 旅行应急预案范文
- 2026年江西电力职业技术学院单招综合素质考试必刷测试卷新版
- 2026年长沙职业技术学院单招职业倾向性测试必刷测试卷附答案
- 彩虹跑活动策划大纲
- 认识警察叔叔课件小学生
- 自治区幼儿园保育教育质量自评 指导手册 (试行)
- GB/T 16895.3-2024低压电气装置第5-54部分:电气设备的选择和安装接地配置和保护导体
评论
0/150
提交评论