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