全国计算机等级考试二级c++历年真题及答案 .pdf
式全国计算机等级考试二级笔试试卷(11)关于面向对象的程序设计方法,下列说法正确的是A) “封装性”公共基础知识及C+语言程序设计指的是将不同类型的相关数据组合在一起,作为一个整体进行处理) 考试时间 90 分钟,满分100) 分( B)“多态性”指的是对象的状态会根据运行时要求自动变化) 每小题 2 分,共 70 分一、选择题(1)(35) 只有一个选C)基类的私有成员在派生类的对象中不可访问,也不四个选项中,下列各题A)、B) 、C)、D) 占内存空间项是正确的,请将正确选项涂写在答题卡相应位置上,D)答在试卷上不得分。在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(1) 下面叙述正确的是(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)注重提高程序的执行效率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) char *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 ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 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=&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, 当动态分配内存失败时,系统会立刻崩溃,因此一定(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 = 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,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); 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)关于友元,下列说法错误的是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) (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) 在下面的运算符重载函数的原型中,错误的是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) 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 outfile(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 = 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 复杂度和空间复杂度。数据的逻辑结构在计算机存储空间中的存放形式称下列语句中会发生编译错误的是(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:Count0 ; 的运算;,则表达式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)请按下面注释的提示,(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 (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 namespace 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:public 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) 算法的执行时间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) 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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 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)数据库管理系统中负责数据模式定义的语言是A(aa) , A) 数据定义语言c(aa+1) (9)9 A(aa),c(aa+1) 或(10)10 7 B)数据管理语言(11)11 042 C)数据操纵语言n*fact(n -1) (12)12 D)数据控制语言(13)13 3,3.14 (8)在学生管理的关系数据库中,存取一个学生信息(14)14 (*p).name 的数据单位是(15)15 25 A)文件月计算机等级考试二级32010 年 B) C+ 笔试试题数据库) 分 702 每小题 (一、选择题分,共C)字段B)A) 下列各题、 D)只有一个选四个选项中,D)、 C)、记录(9)数据库设计中, 用项是正确的。请将正确选项填涂在答题卡相应位置上,E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的答在试卷上不得分。需求分析阶段A)下列叙述中正确的是(1)MyTempp32; B) 逻辑设计阶段编译系统在处理上面的语句序列时,所生成的模板C)概念设计阶段MyTemp 的实例的个数是D)物理设计阶段A)1 如下: T 有两个关系R 和(10)B)2 C)3 D)0 (16)在 C+中, cin 是个A) 类B) 对象C)模板D)函数(17)在下列字符中,不允许作为C+标识符的是则由关系R 得到关系T 的操作是A)b A) 选择B)B 投影B)C)_ C)交D)2 并D)(18) (11) 下列关于函数的描述中,错误的是下列叙述中,错误的是函数可以没有返回值A) A)false 是一个逻辑型常量B)函数可以没有参数?扜是一个字符型常量C)365 是一个 int 函数可以是一个类的成员C) 常量D)3.1415926 是一个 double 常量D)函数不能被定义为模板(19)若 x 和 y 若(12)MyClass 是一个类名,且有如下语句序列是程序中的两个整型变量,则名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 36 页 - - - - - - - - - 下列 ifMyClass c1,*c2; 语句中正确的是A)if(x=0) y=1; else y=2; MyClass *c3=new MyClass; B)if(x=0) then y=1 else y=2; MyClass &c4=c1; C)if(x=0) y=1 else y=2; 上面的语句序列所定义的类对象的个数是A)1 D)if x=0 y=1; else y=2; B)2 (20)要定义整型数组x,使之包括初值为O 的三个 C)3 元素,下列语句中错误的是D)4 A)int x3=0,0,0; B)int x=0; 下列关于继承方式的描述中,错误的是(13)C)static int x3=0; 缺省的继承方式是如果不显式地指定继承方式,A)D)int x=0,0,0; (private) 私有 (21) 关于函数中的采用公有继承方式时,基类中的公有成员在派生B),下列表述中错误的是A) 类中仍然是公有成员中有可能包含关键字int B)中有可能包含自定义标识符C)中有可能包含字符* 基类中的私有成员在派生采用私有继承方式时,D)D)中可能包含 类中仍然是私有成员(22)要定义一个引用变量p,使之引用类MyClass 的一个对象, 正确的定义语句是下列原型” - “(14) 将前缀运算符重载为非成员函数,A)MyClass p=MyClass; 中,能正确用于类中说明的是B)MyClass p=new MyClass; A)Decr& operator -(int); B)Decr operator -( Decr&,int); C)MyClass &p=new MyClass; C)friend Decr& operator -(Decr&); D) MyClass a ,&p=a; D)frlend Decr operator -(Decr&,int); (23)有如下两个类定义class XX 是一个只有一个虚拟类型参数的类MyTemp 若(15)private: 模板,且有如下语句序列 double x1; MyTempp2; protected: using namespace std; class Test double x2; public: public: double x3; Test() ; Test(const Test &t) cout1; class YY:protected XX ; private: Test fun(Test &u) Test t=u; return t; double y1; int main()Test x,y; x=fun(y); return 0; protected: 运行这个程序的输出结果是double y2; A) 无输出名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 36 页 - - - - - - - - - B)1 public: double y3; C)11 ; D)111 (29)YY 在类中保护成员变量的个数是有如下程序A)1 #include B)2 using namespace std; C)3 class A D)4 public: A(int i=0):r1(i) (24)下列关于运算符重载的描述中,错误的是void print() coutER1-; C+A) 可以通过运算符重载在中创建新的运算符void print() const coutCR1*R1-; B)赋值运算符只能重载为成员函数void print(int x) cout PR1*R1*R1-; 运算符函数重载为类的成员函数时,第一操作数C)private: 是该类对象int r1; 重载类型转换运算符时不需要声明返回类型D); (25)下列关于类模板的描述中,错误的是int main() 类模板的成员函数都是模板函数 A)A a1; 可以为类模板参数设置默认值B)const A a2(4); C) 类模板描述了一组类a1.print(2); D)类模板中只允许有一个类型参数a1.print(); 下列控制格式输入输出的操作符中,能够设置(26)return 0; 浮点数精度的是 A)setprecision B)setw 运行时的输出结果是A)P8 -E4 C)setfill B)P8-C16-个函数, 其中下列程序段中包含D)showpoint(27)4C)P0 -E4-this 具有隐含指针的是 D)P0-C16-int fun1(); class Test 3 个类(30)下列代码声明了class Person; public: class Student:public Person; int fun2(); class Undergraduate:Student; friend int fun3(); static int fun4(); 下列关于这些类之间关系的描述中,错误的是; 的基类是类UndergraduatePersonA) 类 A)fun1 Student 公有继承类B)Undergraduate 从类B)fun2 的派生类Student 是类 PersonC)类 C)fun3 的派生类是类D)类UndergraduatePersonD)fun4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 36 页 - - - - - - - - - (28)(31) 有如下程序有如下程序#include #include using namespace std; C)Class Base D) public: (35)有如下程序:#include Base(int x=0):valB(x) coutVALB; ALB; Base() coutV using namespace std; private: Class B int valB; public: ; B(int xx):x(xx) +cout; x+=10; class Derived:public Base virtual void show() const coutCOUNT_XENDL; public: Derived(int x=0,int protected: ALD; static int count; y=0):Base(x),valD(y)coutVDerived() coutVALD; private: int x; private: int valD; ; ; class D:public B int main() public: Derived obj12(2,3); D(int xx,int yy):B(xx),y(yy) +count; y+=100; retuen 0; virtual void show() const coutCOUNT_YENDL; private: 运行时的输出结果是A)2332 int y; B)2323 ; int B:count=0; C)3232 D)3223 int main() B *ptr=new D(10,20); (32)下面是类Shape的定义:class Shape ptr -show(); public: delete ptr; virtual void Draw()=0; return 0; ; Shape下列关于类的描述中,正确的是运行时的输出结果是A)1_120 Shape是虚基类A)类B)2_120 B)类 Shape是抽象类C)1_20 Draw 函数声明有误类C)Shape 中的D)2_20 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 36 页 - - - - - - - - - s “Shape s;”D)语句能够建立的一个对象Shape二、填空题 (每空 2 分,共重载为非成员函数,(33)将运算符“ +”下列原型声明30 分) 请将每一个空的正确答案写在答题卡【l 中,错误的是】【15】 A)MyClock operator + (MyClock,long); 序号的横线上,答在试卷上不得分。B)MyClock operator + (MyClock,MyClock); (1)一个队列的初始状态为空。现将元素C)MyClock operator + (long,long); A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元D)MyClock operator + (long,MyClock); 素退队的顺序为【1】 。(2)设某循环队列的容量为50,(34)打开文件时可单独或组合使用下列文件打开模如果头指针 front=45( 式指向队头元素的前一位置) ,尾指针 rear=10(指向队尾元素),则该循环队列中共有ios_base:app ios_base:binary 【2】 个元素。(3)ios_base:out ios_base:in 设二叉树如下:若要以二进制读方式打开一个文件,需使用的文件打开模式为A) B)定义的对象FirstDay 的值为 2010 年 1 月 1 日。class Date public: Date( 【11】 ):year(y),month(m),day(d) private: int year,month,day; / 依次表示年、月、日; (12)请将下面的程序补充完整,使得程序输出“飘是张娜的书”。#include using namespace std; 对该二叉树进行后序遍历的结果为【3】 。class Book 、数据和文档的集合。【(4)软件是4】public: 有一个学生选课的关系,其中学生的关系模式(5)Book(char *str) strcpy(title,str); ,课程的关系模式学号,姓名, 班级,年龄为: 学生 ()【12】(为:课程课号,课程名,学时),其中两个关系模式的void PrintInfo() coutTITLEENDL; protected: 键分别是学号和课号,则关系模式选课可定义为:选课 char title50; ,成绩【(学号,5】 )。; 是两个整形变量,在执行了语句序列x(6) 若和 yclass MyBook:public Book x=5; y=6; y+=x -; public: 。 】的值为后,x+y 【6): 在执行语句序列祍潂歯挨慨?猪?档牡 ?尽张娜(7)int i=0; do i+; while(i*i10); strcpy(owner,s2); 】 【13 捻畯 ?吼呉 ?是 virtual 后面的循环体语句时, doi+ 被执行的次数为void PrintInfo() ENDL; 作乗剅 ? 7【】 。的书 private: (8)有如下的函数定义:char owner10; int Xfun(int *a, int n) ; int x=*a; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 36 页 - - - - - - - - - int main() for(int *pa=a+1; pa if(*pax) x=*pa; ); 潂歯 ?牰?敮?祍潂歯尨飘prt-PrintInfo(); return x; return 0; 若执行了语句int x5=23,46,78,55,16; ,以中重载插入运算符(13)在有理数类Rational 运算符函数的定义补充完整。请将便按则得到的返Xfun(x,5) 后,通过表达式调用该函数,a/q 形式输出。 class Rational 8 回值为【】 。public: 有如下的函数定义:(9)Rational(int aa, int qq):a(aa),q(qq) int Xfun(int x) int y=x; operator(ostream &out, Rational &x) 】 14friend 【 int x=10; y+=x; return (outX.A p ?x.q); return x+y; private: 调用该函数,则得到的返回值通过表达式Xfun(5)int a,q; 9 】 。 【 为; 是一个类,该类中一个成员函数的原假定Xcs(10)(14)下面的函数定义是某函数模板能够生成的函数,则在类外定义时对应的函数头为*abc(); ”型为“ Xcs 实例。 】 【10int square(int n) return n*n; 使得由语 (11)的定义补充完整,Date 请将下面的类double square(double n) return n*n; 句 Date FirstDay; 。 】15【 由此可知,该函数模板的定义是D)数据库系统需要操作系统的支持(11)为了取代C 中带参数的宏,在C+中使用A)重载函数B)内联函数2007 年 4 月计算机等级考试C+考试及答案C)递归函数D)友元函数(12 一、选择题(每小题2 分,共 70 分) )下列关于类定义的说法中,正确的是AD )四个选项中,只有一个选)类定义中包括数据成员和函数成员的声明、下列各题A) 、B)C) 、B)类成员的缺省访问权限是保护的项是正确的。请将正确选项涂写在答题卡相应位置上,C) 答在试卷上不得分。数据成员必须被声明为私有的D(1)下列叙述中正确的是。 )成员函数只能在类体外进行定义(,而与数据的存储结13)下列关于派生类构造函数和析构函数的说法中,)算法的效率只与问题的规模有关A 错误的是构无关 . A)派生类的构造函数会隐含调用基类的构造函数)算法的时间复杂度是指执行算法所需要的计算工作BB 量)如果基类中没有缺省构造函数,那么派生类必须定义构造函数C)数据的逻辑结构与存储结构是一一对应的. C)在建立派生类对象时,先调用基类的构造函数,再)算法的时间复杂度与空间复杂度一定相名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 36 页 - - - - - - - - - 关. D 调用派生类的构造函数。2()在结构化程序设计中,模块划分的原则是D)在销毁派生类对象时,先调用基类的析构函数,再)A 各模块应包括尽量多的功能调用派生类的析构函数B) 各模块的规模应尽量大(14)通过运算符重载,可以改变运算符原有的C)各模块之间的联系应尽量紧密A)操作数类型B)操作数个数,D) 模块内具有高内聚度模块间具有低耦合度C)优先级D)结合性()下列叙述中正确的是。15)有如下函数模板:(3template T souare (T xA )软件测试的主要目的是发现程序中的错误. ) (retumx * x ; )基中 T 是 B)软件测试的主要目的是确定程序中错误的位置. A)函数形参)为了提高软件测试的效率C,最好由程序编制者自己来B)函数实参C)模板形参 D)模板实参(16)使用输入输出操作符完成软件测试的工作setw,可以控制A)输出精度B)输出宽度C)对齐方式DD)软件测试是证明软件没有错误)填充字符(17 。 )下列字符串中,不可以用作C+标识符的是下面选项中不属于面向对象程序设计特征的是)(4 A)多态性 A