【计算机类职业资格】二级C++-208及答案解析.doc
《【计算机类职业资格】二级C++-208及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-208及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-208 及答案解析(总分:82.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.有如下类定义: class B public: void fun1() private: void fun2() protected: void fun3() ; class D: public B protected: void fun4() ; 若 obj 是类 D 的对象,则下列语句中不违反访问控制权限的是_。(分数:1.00)A.obj. fun1();B.obj. fun2();C.obj. fun3();D.obj. fun4();2.如下程序运行时的输出结果是
2、#includeiostream using namespace std; class ONE int c; public: ONE( ):c(0)eout1; ONE(int n):C(n)cout2; ; class TW0 ONE onel; ONE one2; public: TWO(int m):one2(m)eout3; ; int main( ) TWO t(4); return 0; (分数:2.00)A.3B.23C.123D.2133.判断字符型变量 ch 是否为大写英文字母,应使用表达式_。(分数:2.00)A.ch=“A“ class Basel public : Ba
3、sel(int d) cout d; Basel () ; class Base2 public : Base2 ( int d) cout d ; Base2() ; class Derived : public Base1 ,Base2 public : Derived(int a, int b, int c, int d) :Base1(b), Base2(a), b1(d), b2(e) private : int b1 ; int b2 ; ; int main() Derived d(1,2,3,4) ; return 0 ; 执行这个程序的输出记过是 _ 。(分数:1.00)A.
4、1234B.2134C.12D.215.对下列二叉树 (分数:2.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG6.若已经声明了函数原型“bool fun(bool a,int b=0);”,则下列重载函数声明中正确的是_。(分数:1.00)A.bool fun(bool a=true,int b=0); Bint fun(bool a,int B);B.void fun(double a,intC.;D.void fun(bool a,int b=0);7.若 MyClass 为一个类,执行“MyClass a4,*p5;”语句时会自动调用该类构造函数的次数是
5、_。(分数:2.00)A.2B.5C.4D.98.假设函数 fun 已经定义,其原型为“void fun(int a,int b=7,char*p=“*“);”下列函数调用中错误的是_。(分数:2.00)A.fun(5)B.fun(5,8)C.fun(6,“#“)D.fun(0,0,“=“)9.有如下类声明: class Foo int bar; 则 Foo 类的成员 bar 是_。(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数10.包容类 Contain 和内嵌类 Embed 定义如下: #includeiostream.h class Contain p
6、rivate: int X; protected: int z; public: class Embed private: int y; public: Embed()y=100; int Embed_Fun(); MyEmbed; int Contain_Fun(); ; 对上面的定义,正确的描述是 _ 。(分数:1.00)A.定义类 Embed 对象的语句是:Contain? Embed embed;B.类 Contain 的成员函数 Contain_Fun()中可以用 MyEmbe D.y 的方式访问类 Embed 的私有成员 yC.类 Embed 的成员函数 Embed_Fun()中可
7、以直接访问 Contain 的私有成员 xD.类 Embed 的成员函数 Embed_Fun()中可以直接访问 Contain 的保护成员 Z11.有如下类定义: class Bag public: Bag(int p=200, char s=“M“):price(p), size(s) coutsize; private: int price; char size; ; 若执行语句 Bag Alice, Kelly(Mice), *Twins2, F44; 则输出结果为_。(分数:1.00)A.MMMMMMMMB.MMMMMMC.MMMMMD.MMMM12.下列关于模板的描述中,错误的是_。
8、(分数:1.00)A.类模板的成员函数都是模板函数B.函数模板是一种参数化类型的函数C.满足一定条件时可以省略模板实参D.模板形参只能由关键字 typename 声明13.从工程管理角度,软件设计一般分为两步完成,它们是 _ 。(分数:2.00)A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计14.假定其中的 x 的单位是角度且不考虑丌的值的精度,则与数学公式 (分数:2.50)A.sqrt(cos(x)B.sqrt(abs(cos(x*3.14/180)C.sqrt(abs(cos(x*(/180)D.sqrt(fabs(cos(x*3.14/18
9、0)15.下列关于虚函数的说明中,正确的是_。(分数:1.00)A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数16.有如下程序: #includeiostream using namespace std; class A public: A(int i):r1(i) void print() cout“E“r1“-“; void print() const cout“C“r1*r1“-“; private: int r1; ; int main() A a1(2); const A a2(4); a1.print()
10、; a2.print(); return 0; 运行时的输出结果是_。(分数:2.00)A.运行时出错B.E2-C16-C.C4-C16-D.E2-E4-17.下面程序的输出结果为 _ 。 #includeiostream.h class TestClass public: TestClass ()val+; static int val; ; int TestClass:val=0; void main() TestClass cs1; coutcs1.val“; TestClass cs2; TestClass cs3,cs4; coutcs2.valendl; (分数:2.00)A.03
11、B.13C.14D.2418.有 3 个关系 R、S 和 T 如下: (分数:2.50)A并B.自然连接C.笛卡儿积D交19.已知在一个类体中包含如下函数原型:VOLUMEOPER ATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分数:1.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值20.有如下程序: #includeiostream using namespace std; void f1(intx=y;y=z; void f2(int x,int y)int z=x
12、;x=y;y=z; int main() int x=10,y=26; f1(x,y); f2(x,y); coutyendl; return 0; 运行时的输出结果是_。(分数:2.50)A.10B.16C.26D.3621.在软件设计中,不属于过程设计工具的是_。(分数:1.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图22.下列描述中正确的是_ 。(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合23.下列叙述中,错误的是_。(分数:2.50)A.false 是一个逻辑型常量
13、B.“b“是一个字符型常量C.365 是一个 int 常量D.3.1415926 是一个 double 常量24.下列程序执行后,输出的结果是_。 int x=-5,y=0; while(+x) y+; coutyendl;(分数:2.50)A.1B.2C.4D.525.下列叙述中正确的是_。(分数:1.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对26.下列叙述中错误的是 _ 。(分数:2.00)A.一个函数中可以有多条 return 语句B.调用函数必须在一条独立的语句中完成C.函数中可通过 return 语句传递函数
14、值D.主函数名 main 也可以带有形参27.关于关键字 class 和 typename,下列表述正确的是_。(分数:3.00)A.程序中所有的 class 都可以替换为 typenameB.程序中所有的 typename 都可以替换为 classC.A 和 B 都可以D.A 和 B 都不可以28.有如下类定义: class AA int a; Public: AA(int n=0):a(n) ; class BB:public AA public: BB(int n)_ ; 其中横线处的缺失部分是_。(分数:1.00)A.:a(n)B.:AA(n)C.a(n);D.a=n;29.下列关于运
15、算符重载不正确的是_。(分数:1.00)A.运算符重载不能改变运算符的操作数个数B.运算符重载不能改变运算符的优先级C.运算符重载不能改变运算符的结合性D.运算符重载能改变对预定义类型数据的操作方式30.下列选项合法的标识符是_。(分数:2.50)A.1_1B.1-1C._11D.1_ _31.下列关于运算符重载的叙述中,错误的是_。(分数:2.00)A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义C.不得为重载的运算符函数的参数设置默认值D.有的运算符只能作为成员函数重载32.下列关于 C+流的说明中,正确的是 _ 。(分数:2.00)A.与键盘、屏幕、打印
16、机和通信端口的交互都可以通过流类来实现B.从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作C.cin 是一个预定义的输入流类D.输出流有一个名为 open 的成员函数,其作用是生成一个新的流对象33.有如下函数模板: templateclass TT square(T x) retum x*x; 其中的参数 T 是_。(分数:1.00)A.函数形参B.函数实参C.模板实参D.模板形参34.若有说明:int s34=0则下面叙述正确的 _ 。(分数:1.00)A.只有元素 s00可得到初值 0B.此说明语句不正确C.数组 s 中各个元素都可得到初值,但其值不一定为 0D.数组
17、s 中每个元素均可得到初值 035.若有定义“int a23;”,下列选项中对 a 数组元素正确引用的是_。(分数:1.00)A.a2!1B.a23C.a03D.a12!1二、填空题(总题数:15,分数:23.00)36.己知类 sample 是一个抽象类,其成员函数 display 是无形参、无返回类型的纯虚函数,请完成其声明:class sample public: sample(); 1 ; (分数:2.00)37.一个 C+程序的开发步骤通常包括编辑、 1、链接、运行和调试。 (分数:1.00)38.算法的基本特征是可行性、确定性、 1 和拥有足够的情报。 (分数:1.00)39.冒泡
18、排序在最好情况下时间复杂度为 _ 1_ 。 (分数:2.00)40.一个抽象类的派生类可以实例化的必需条件是实现了所有的 _ 1_ 。 (分数:2.00)41.C+语言的标识符是以字母或 1 开头的,由字母、数字、 2 组成的字符串。 (分数:2.50)42.插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。InsertSort 类的成员函数 sort( )实现了插入排序算法。请将画线处缺失的部分补充完整。 class InsertSort public: InsertSort(int*aO,int nO):a(aO),n(nO) /参数 a0 是某组首地
19、址,n 是数组元素个数 void sort( ) /此函数假设已排序序列初始化状态只包含 a0,未排序序列初始为 a1.an-1 for(int i=1;in;+i); int t=ai; int j; for( 1;j0;-j) if(taj-1)break; aj=aj-1; aj=t; protected: int*a,n; /指针 a 用于存放数组首地址,n 用于存放数组元素个数 ; (分数:2.00)43.下面程序的结果为 _ 1_ 。 #includeiostreamh voidmain() int a=1,b=2; bool c=1; if(ab)|(c)cout “ture“
20、end1; else cout “false“ end1; (分数:1.00)44. 1 使一个函数可以定义成对许多不同数据类型完成同一个任务。 (分数:1.00)45.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 1。 (分数:1.00)46.将下面的语句段(a)补充完整,使其和语句段(b)在功能上完全等价: (a)double s=0.0; 1; int k=0; do s+=d; 2; d=1.0/(k*(k+1); while( 3); (b)double s=1.0; for(int k=1;k=10;k+)s+=1.0
21、/(k*(k+1); (分数:1.50)47.有一种只在循环语句或 switch 语句中使用的流程控制语句,表示该语句的关键字是 _ 1_ 。 (分数:2.00)48.Jackson 结构化程序设计方法是英国的 MJackson 提出的,它是一种面向 _ 1_ 的设计方法。 (分数:1.00)49.C+语言中关键字运算符有 new,delete 和 1。 (分数:1.00)50.结构化方式由结构化分析,结构化设计和 _ 1_ 构成,它是一种面向数据流的开发方法。 (分数:2.00)二级 C+-208 答案解析(总分:82.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)
22、1.有如下类定义: class B public: void fun1() private: void fun2() protected: void fun3() ; class D: public B protected: void fun4() ; 若 obj 是类 D 的对象,则下列语句中不违反访问控制权限的是_。(分数:1.00)A.obj. fun1(); B.obj. fun2();C.obj. fun3();D.obj. fun4();解析:解析 本题考查公用继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有。所以
23、在本题中,在类外引用成员函数时,派生对象只能引用基类的公用成员函数 fun1,故本题答案为 A。2.如下程序运行时的输出结果是 #includeiostream using namespace std; class ONE int c; public: ONE( ):c(0)eout1; ONE(int n):C(n)cout2; ; class TW0 ONE onel; ONE one2; public: TWO(int m):one2(m)eout3; ; int main( ) TWO t(4); return 0; (分数:2.00)A.3B.23C.123 D.213解析:解析 派
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C208 答案 解析 DOC
