【计算机类职业资格】二级C++-215及答案解析.doc
《【计算机类职业资格】二级C++-215及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-215及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-215 及答案解析(总分:72.00,做题时间:90 分钟)一、选择题(总题数:40,分数:72.00)1.下面对静态数据成员的描述中,正确的是_。(分数:1.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可,以被类的对象调用C.静态数据成员不能受 private 控制符的作用D.静态数据成员可以直接用类名调用2.有如下程序: #include iostream using namespace std; class AA int n; public: AA(int k):n(k) int get()return n; int get()constreturn n+1
2、; int main() AA a(5); const AA b(6); couta.get()b.get(); return 0; 执行后的输出结果是 _ 。(分数:2.00)A.55B.57C.75D.773.模板对类型的参数化提供了很好的支持,因此_。(分数:1.00)A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员都具有同样类型D.类模板中的成员函数都没有返回值4.有如下程序段: int i=1; int j=4; int main() int i=5; j+=i; coutijendl; 运行时的输出结果是(分数:1.0
3、0)A.14B.95C.59D.555.具有 3 个结点的二叉树有(分数:1.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态6.有下列程序: #include stdio.h #define N 4 void fun(int aN,int b) int i; for(i=0;iN,i+) bi=aii; void main() int xN=1,2,3,4,5,6,7,8,9.10, yN,i; fun(x,y); for(i=0;in;i+) printf(“%d,“,yi); printf(“/n“); 程序的运行结果是_。(分数:2.50)A.1,2,3,4,B.1,0,
4、7,0,C.1,4,5,9,D.3,4,8,10,7.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成_。(分数:1.00)A.属性B.关系C键D域8.有如下程序: #includeiostream using namespace std; void function2(int n); void function1(int n) if(n=0)return; function2(n-2); void function2(int n) if(n=0)return; function1(n-1); int main() function1(5); return 0; 下列关于程序运行情
5、况的描述中,正确的是_。(分数:2.00)A.function1 运行 1 次,function2 运行 2 次B.function1 运行 2 次,function2 运行 1 次C.function1 运行 2 次,function2 运行 3 次D.function1 运行 2 次,function2 运行 2 次9.程序中有如下语句 for(int i=0;i5;i+)cout*(p+i)“,“;能够依次输出 int 型一维数组 a的前 5 个元素。由此可知,变量 P 的定义及初始化语句是 _ 。(分数:2.00)A.int*p=a;B.int p=a;C.*p=a;D.p=a;10.
6、在深度为 7 的满二叉树中,叶子结点的个数为 _ 。(分数:2.00)A.32B.31C.64D.6311.若 MyClass 为一个类,执行“MyClass a4,*p5;”语句时会自动调用该类构造函数的次数是_。(分数:2.00)A.2B.5C.4D.912.C+中设置虚基类的目的是_。(分数:1.00)A.简化程序B.消除二义性C.提高运行效率D.实现数据的隐藏性13.有如下类声明: class SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int n0); ; 下列关于 getValue 成员函数的定义中,正确的是_。
7、(分数:1.00)A.SAMPLE: setValue(int n0) n=n0; B.void SAMPLE: setValue(int n0) n=n0;C.void setValue(int n0) n=n0;D.setValue(int n0) n=n0;14.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是(分数:2.00)A.int operator-(FunNumber);B.FunNumber operator-( );C.FunNumber operator-(int);D.int operator-(FunNumber,FunNumber);15.在数据库设
8、计中,将 E-R 图转换成关系数据模型的过程属于_。(分数:1.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段16.执行下列程序的结果是 main( ) float x=1,y; y=+x*+x; coutyendl; (分数:2.00)A.9.000000B.6.000000C.1.000000D.程序有错误17.下列关于赋值运算符“=”重载的叙述中,正确的是(分数:2.00)A.赋值运算符只能作为类的成员函数重载B.默认的赋值运算符实现了“深层复制”功能C.重载的赋值运算符函数有两个本类对象作为形参D.如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符18.下
9、列选项中属于 float 类型字面常量的是_。(分数:2.50)A.3.14B.3.14fC.3.14LD.0.0314E219.有如下程序: #includeiostream using namespace std; class Point int x,y; public: Point(int x1=0,int y1=0):x(x1),y(y1) int get()return x+y; ; class Circle Point center; int radius; public: Circle(int cx,int cy,int r):center(cx,cy),radius(r) in
10、t get()return center.get()+radius; ; int main() Circle c(3,4,5); coutc.get()endl; return 0; 运行时的输出结果是_。(分数:1.00)A.5B.7C.9D.1220.有如下类定义: class XX int xdata; public: XX(int n=0):xdata(n) ; class YY:public xx int ydata; public: YY(int m=0,int n=0):XX(m),ydata(n) ; YY 类的对象包含的数据成员的个数是_。(分数:2.50)A.1B.2C.3
11、D.421.关于静态数据成员的描述中正确的是(分数:1.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化22.下列关于运算符重载的叙述中,错误的是_。(分数:2.00)A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义C.不得为重载的运算符函数的参数设置默认值D.有的运算符只能作为成员函数重载23.下列语句中,错误的是_。(分数:1.00)A.const int buffer=256;B.const double*point;C.int co
12、nst buffer=256;D.double*const point;24.有如下输出语句: coutsetw(5)fixedsetprecision(3)3.1415926; 此语句的输出结果是(分数:2.50)A.3.141B.3.142C.3.1415D.3.141625.下列关于类模板的模板参数的叙述中,错误的是 _ 。(分数:2.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型26.每个 C+程序都必须有且仅有一个 _ 。(分数:2.00)A.预处理命令B.函数C.语句D
13、.主函数27.下列叙述中错误的是_。(分数:2.50)A.在程序中凡是以“#”开始的语句行都是预处理命令行B.预处理命令行的最后不能以分号表示结束C.#define MAX 是合法的宏定义命令行D.C 程序中预处理命令行的处理是在程序执行的过程中进行的28.有如下程序: #includeiostream using namespace std; class MyClass putdic: MyClass(int i=0)cout1; MyClass(const MyClass MyClassreturn*this; MyClass()cout4; ; int main() MyClass ob
14、j1(1),obj2(2),obj3(obj1); return 0; 运行时的输出结果是_。(分数:2.50)A.112444B.11114444C.121444D.1131444429.下列关于模板的描述中,错误的是_。(分数:3.00)A.类模板的成员函数都是模板函数B.函数模板是一种参数化类型的函数C.满足一定条件时可以省略模板实参D.模板形参只能由关键字 typename 声明30.下列程序的运行结果为 #includeiostream.h void main( ) int a2; int ba1; cout a/b endl; ) 0.66667 ) 0 ) 0.7 ) 0.666
15、66666 (分数:2.00)A.B.C.D.31.以下选项中,不能正确赋值的是 _ 。(分数:2.00)A.char s110;s1=“Ctest“;B.char s2=“C“,“t“,“e“,“s“,“t“);C.char s320=“Ctest“;D.char* s4=“Ctest/n“;32.有如下程序: #includeiostream using namespace std; class A public: A(int i=0):r1(i) void print()cout“E“R1“-“; void print() constcout“C“R1*R1“-“; void print
16、(int x) cout“P“R1*R1*R1“-“; private: int r1; ; int main() A a1; const A a2(4); a1.print(2); a2.print(); return 0; 运行时的输出结果是_。(分数:2.50)A.P8-E4B.P8-C16-C.P0-E4-D.P0-C16-33.函数定义为 Fun(int B.fun(20+n);C.fun(n);D.funD( class AA int k; protected: int n; void setK(int k) this-k=k; public: void setN(int n) t
17、his-n=n; ; class BB: public AA /*类体略*/; int main() BB x; x. n=1:/1 x. setN(2);/2 x. k=3:/3 x. setK(4);/4 return 0; 在标注号码的四条语句中正确的是_。(分数:1.00)A.1B.2C.3D.436.在下列链表中,能够从任意一个结点出发直接访问到所有结点的是_。(分数:2.50)A.单链表B.循环链表C.双向链表D.二叉链表37.有如下程序: #includeiostream using namespace std; int main() cout.fill(“*“); cout.w
18、idth(6); cout.fill(“#“); cout888endl; return 0; 的执行结果是_。(分数:2.50)A.#888B.888#C.*888D.888*38.数据库设计的根本目标是要解决_。(分数:2.50)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护39.设有 int x11;,则表达式(x+*2/3)的值是 _ 。(分数:2.00)A.7B.8C.11D.1240.下列叙述中正确的是(分数:1.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令
19、二级 C+-215 答案解析(总分:72.00,做题时间:90 分钟)一、选择题(总题数:40,分数:72.00)1.下面对静态数据成员的描述中,正确的是_。(分数:1.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可,以被类的对象调用C.静态数据成员不能受 private 控制符的作用D.静态数据成员可以直接用类名调用 解析:解析 静态数据成员必须在类体外初始化,它是类的所有对象的共有成员,需要使用类名调用,静态数据成员的初始化与权隈控制无关。2.有如下程序: #include iostream using namespace std; class AA int n; pub
20、lic: AA(int k):n(k) int get()return n; int get()constreturn n+1; int main() AA a(5); const AA b(6); couta.get()b.get(); return 0; 执行后的输出结果是 _ 。(分数:2.00)A.55B.57 C.75D.77解析:3.模板对类型的参数化提供了很好的支持,因此_。(分数:1.00)A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类 C.在类模板中的数据成员都具有同样类型D.类模板中的成员函数都没有返回值解析:解析 此题考查了类模板
21、的概念。在定义对象的过程中,系统会自动地根据需要生成相应的类定义,这种依据类模板生成具体类的过程称为类模板的实例化。4.有如下程序段: int i=1; int j=4; int main() int i=5; j+=i; coutijendl; 运行时的输出结果是(分数:1.00)A.14B.95C.59 D.55解析:解析 main 函数中的局部变量 i 屏蔽了全局变量的 i,即在 main 函数中的 i 取值为 5,所以j=4+5=9,输出结果为 59,答案为 C 选项。5.具有 3 个结点的二叉树有(分数:1.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态 解析:解析
22、考查二叉树的基础知识。 解题要点 具有 3 个结点的二叉树具有以下的几种形态: 6.有下列程序: #include stdio.h #define N 4 void fun(int aN,int b) int i; for(i=0;iN,i+) bi=aii; void main() int xN=1,2,3,4,5,6,7,8,9.10, yN,i; fun(x,y); for(i=0;in;i+) printf(“%d,“,yi); printf(“/n“); 程序的运行结果是_。(分数:2.50)A.1,2,3,4,B.1,0,7,0, C.1,4,5,9,D.3,4,8,10,解析:解
23、析 本题考查数组的初始化,在对二维数组元素赋初值时,如果只对部分元素赋初值,那未赋初值的元素自动取 0。fun 函数是将二维数组 a 中主对角线上的元素赋给数组 b,所以 y4=1,0,7,0。7.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成_。(分数:1.00)A.属性B.关系 C键D域解析:解析 将 E-R 图转换成指定 RDBMS 中的关系模式是数据库逻辑设计的主要工作。从 E-R 图到关系模式的转换是比较直接的,实体和联系都可以表示成关系。8.有如下程序: #includeiostream using namespace std; void function2(int
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C215 答案 解析 DOC
