历年全国计算机二级c++考试真题及答案(103页).doc
《历年全国计算机二级c++考试真题及答案(103页).doc》由会员分享,可在线阅读,更多相关《历年全国计算机二级c++考试真题及答案(103页).doc(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-历年全国计算机二级c+考试真题及答案-第 102 页全国计算机等级考试二级笔试试卷 公共基础知识及C+语言程序设计 (考试时间90分钟,满分100)分)一、选择题(1)(35)每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 下面叙述正确的是 A)算法的执行效率与数据的存储结构无关 B)算法的空间复杂度是指算法程序中指令(或语句)的条数 C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是 A)队列 B)线性表 C)二叉树 D
2、)栈(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)在软件开发中,下面任务不属于设计阶段的是 A)数据结构设计 B)给出系统模块结构 C)定义模块算法
3、 D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型 C)软件工具B)数据库管理系统 D)数据库(9)下列叙述中正确的是 A)数据库系统是一个独立的系统,不需要操作系统的支持 B)数据库设计是指设计数据库管理系统 C)数据库技术的根本目标是要解决数据共享的问题 D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式 B)外模式 C)概念模式 D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是 A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理 B)“多态性”指的是对象的状态会根
4、据运行时要求自动变化 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;时,若键盘输入1,则屏幕显示A)1 B)2 C)3 D)12(15)下列程序的输出结果是#include using namespace std;int m
5、ain() 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;在下列定义引用的语句中,正确的是A ) int &x=m; B )int y=&m; C )int &z; D ) int &t=&m;(17)下列函数原型声明中
6、错误的是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 test(int,int,int=0);D ) float test(int,int,float=)
7、;(19)有以下程序#includeint 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 v1;long v2;,正确的调用语句是A) f(v1, &v2); B) f(v1, v2); C) f(&v1, v2); D) f(&v1, &v2
8、);(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)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是A)new和delete是C+语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以
9、被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#includeusing namespace std;class MyClasspublic:MyClass(int n)number = n;/拷贝构造函数r;MyClass()private: int number;MyClass fun(MyClass p)MyClass temp(p);return temp;int main()MyClass obj1(10), obj2(0);MyClass obj3(
10、obj1);obj2=fun(obj3);return 0;程序执行时,MyClass类的拷贝构造函数被调用的次数是A)5 B)4 C)3 D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的 A)公有成员和私有成员 B)私有成员和保护成员 C)公有成员和保护成员 D)私有成员、保护成员和公有成员(26)在C+中用来实现运行时多态性的是 A)重载函数 B)析构函数 C)构造函数 D)虚函数(27)一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是 A)每个派生类的构造函数都要为虚基类构造函数提供实参 B)多继承时有可能出现对基类成员访问的二义性问
11、题 C)使用虚基类可以解决二义性问题并实现运行时的多态性 D)建立最派生类对象时,虚基类的构造函数会首先被调用(28)在一个类体的下列声明中,正确的纯虚函数声明是A) virtual 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 - (
12、Volume);D) Volume operator - (Volume, Volume);(30)下列是模板声明的开始部分,其中正确的是A) templateB) templateC) templateD) template(31)执行语句序列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
13、 = 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) Point 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;
14、 char gender, char *phone;public: MyClass():id(0),gender(#),phone(NULL) MyClass(int no, char ge=#, char *ph= NULl.) id=no;gende=ge;phone=ph; 下列类对象定义语句中错误的是A) MyClass myObj;C) MyClass myObj(12, m);D) MyClass myObj(12);(35)有以下程序#include using namespace std;class Complexpublic: Complex(double r =0, dou
15、ble i =0):re(r), im(i) double real() const return re; double imag() const return im; Complex operator +(Complex c) const return 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
16、+6i D) 1+1i二、填空题(每空2分,共30分) 请将每一个空的正确答案写在答题卡1-15序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。(1)算法的复杂度主要包括 1 复杂度和空间复杂度。(2)数据的逻辑结构在计算机存储空间中的存放形式称为数据的 2 。(3)若按功能划分,软件测试的方法通常分为白盒测试方法和 3 测试方法。(4)如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在 4 的联系。(5)关系数据库管理系统能实现的专门关系运算包括选择、连接和 5 。(6)设有定义语句:int a=12;,则表达式a*=2+3的运
17、算结果是 6 。(7)从实现的角度划分,C+所支持的两种多态性分别是 7 时的多态性和运行时的多态性。(8)将个函数声明为一个类的友元函数必须使用关键字 8 。(9)请按下面注释的提示,将类B的构造函数定义补充完整。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;
18、int &r = i; r = 7; cout i endl; return 0;(11)下列程序的输出结果是 11 。#include using namespace 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 Tes
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 全国计算机 二级 c+ 考试 答案 103
限制150内