【计算机类职业资格】二级C++-76及答案解析.doc
《【计算机类职业资格】二级C++-76及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-76及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-76 及答案解析(总分:64.50,做题时间:90 分钟)一、选择题(总题数:20,分数:30.50)1.下面关于 C+流的叙述中,正确的是(分数:2.00)A.cin 是一个输入流对象B.可以用 ifstream 定义一个输出流对象C.执行语句序列 char *y=“PQMN“; couty;将输出字符串“PQMN“的地址D.执行语句序列 char x80;cin.getline(x,80);时,若键入 Happy new year 则 x 中的字符串是“Happy“2.在深度为 5 的满二叉树中,叶子结点的个数为(分数:1.00)A.31B.32C.16D.153.软件详细设计
2、的主要任务是确定每个模块的 _ 。(分数:2.00)A.算法和使用的数据结构B.外部接口C.功能D.编程4.下面程序段的运行结果是 void main ( ) int t, a, b, C; a1;b2;C2; while(abc) ta;ab;bt;c; cout a “,“ b “,“ C; (分数:2.00)A.1,2,0B.2,1,0C.1,2,1D.2,1,15.下面不属于软件设计原则的是 _ 。(分数:2.00)A.抽象B.模块化C.自底向上D.信息隐蔽6.下列关于类模板的描述中,错误的是_。(分数:1.00)A.类模板的成员函数都是模板函数B.可以为类模板参数设置默认值C.类模板
3、描述了一组类D.类模板中只允许有一个类型参数7.下面程序输出的结果为 #include“ iostreamh“ class A public: A( ) cout “CLASS A“ end1; A( ) ; class B:public A public: B( ) cout “CLASS B“ end1; B( ) ; void main( ) A * p; p=new B; B * q; q=new B; (分数:1.00)A.CLASS ACLASS BB.CLASS ACLASS BCLASS BC.CLASS ACLASS BCLASS ACLASS BD.CLASS ACLASS
4、 BCLASS BCLASS B8.应用数据库的主要目的是(分数:1.00)A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题D.解决数据量大的问题9.友元运算符 obj1obj2 被 C+编译器解释为 _ 。(分数:2.00)A.operator(obj1,obj2)B.(obj1,obj2)C.obj2.operator(obj1)D.obj1.operator(obj2)10.下列关于运算符重载不正确的是(分数:1.00)A.运算符重载不能改变运算符的操作数个数B.运算符重载不能改变运算符的优先级C.运算符重载不能改变运算符的结合性D.运算符重载能改变对预定义类型数据的操作方
5、式11.有以下程序: #includeiostream #includemath using namespace std; class point private: double x; double y; public: point(double a,double B) x=a; y=b; friend double distance (point a,point B) ; ; double distance (point a,point B) return sqrt(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); int main() point p1(1,2
6、); point p2(5,2); coutdistance(p1,p2)end1; return 0; 程序运行后的输出结果是(分数:1.00)A.1B.5C.4D.612.下面对枚举类型的描述正确的是 _ 。(分数:2.00)A.枚举类型的定义为:enum Monday, Tuesday, Wednesday, Thursday, Friday Day;B.在 C+语言中,用户自定义的枚举类型的第一个常量的默认值是 1C.可以定义如下枚举类型:enum Monday, Tuesday, Wednesday=5, Thursday, Friday=5;D.以上说法都不正确13.不能作为函数重
7、载的判断依据的是(分数:1.00)A.constB.返回类型C.参数个数D.参数类型14.下列关于构造函数和析构函数的描述,错误的是 _ 。(分数:2.00)A.析构函数中调用虚函数采用静态联编B.对虚析构函数的调用可以采用动态联编C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D.构造函数可以声明为虚函数15.关于类和对象描述错误的是_。(分数:2.50)A.对象(Object)是现实世界中的客观事物,对象具有确定的属性B.类是具有相同属性和行为的一组对象的集合C.对象是类的抽象,类是对象的实例D.类是对象的抽象,对象是类的实例16.有如下程序: #include iostr
8、eam using namespace std; int main() cout.fill(“*“); cout.width(6); cout.fill(“#“); cout123end1; return 0; 执行后的输出结果是(分数:2.00)A.#123B.123#C.*123D.123*17.下列不构成无限循环的语句或语句组是 _ 。(分数:2.00)A.n=0;do+n;)while(n=0);B.n=0;while(1)n+;C.while(n=10);n-;D.for(n=0,i=1; ;i+)n+=i18.下列叙述中正确的是_。(分数:1.00)A.在栈中,栈中元素随栈底指针与
9、栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确19.实体是信息世界中广泛使用的一个术语,它用于表示_。(分数:1.00)A.有生命的事物B.无生命的事物C.实际存在的事物D.一切事物20.若已知“int a37;”,则用指针表示数组 a 中的元素时,下列表示中错误的是_。(分数:1.00)A.*(a+1)5B.*(*a+3)C.*(*(a+1)D.*(*a00+2)二、填空题(总题数:18,分数:34.00)21.常用的黑箱测试有等价分类法、 1 、因果图法和错误推测法 4 种
10、。 (分数:1.00)22.设二叉树根结点的层次为 0,对含有 100 个结点的二叉树,可能的最大树深和最小树深分别是 1。 (分数:2.00)23.仅由顺序、选择(分支)和重复(循环)结构构成的程序是 1 程序。 (分数:2.00)24.执行语句 coutsetw(6)setfill(“*“)12endl; 结果是 _ 1_ 。 (分数:2.00)25.下面程序的功能是将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变,请填空。 #includeiostreamh #include stringh void main() char a=“clanguage“,t; inti,j,
11、k; k=strlen(a); for(i:0;i=k-2;i+=2) for(j=i+2;j=k; _ 1_ ) if( _ 2_ ) t=ai; ai =aj; aj =t; couta; coutendl; (分数:1.00)26.多继承情况下,派生类对基类成员的访问会出现二义性。解决二义性的方法是 _ 1_ 、 _ 2_ 和 _ 3_ 。 (分数:2.00)27.需求分析最终结果是产生 _ 1_ 。 (分数:2.00)28.下面是一个栈类的模板,其中 push 函数将元素 i 压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top 值为 0,栈顶元素在 stacktop-1中,在下面画
12、线处填上适当语句,完成栈类模板的定义。 templateclass T class T stack enunlsize=1000; T stacksize; intop; public: T stack( ):top(0) void push(consT i) if(topsize)stacktop+=i; T pop( ) if(top=0)exit(1); /栈空时终止运行 return 1; ; (分数:2.00)29.阅读下列程序: #includeiostream.h void fun(int n) int x(5); static int y(10); if(n0) +x; +y;
13、 coutx“,“yendl; void main() int m(1); fun(m); 则该程序的输出结果是 1。 (分数:2.00)30.作为成员函数重载的运算符,第一操作数就是参数表中隐含的 1 所指向的对象,因此并不显示地出现在参数表中。 (分数:1.00)31.假定 w、x、y、z、m 均为血型变量,有如下程序段: w=1;x=2;y=3;z=4; m=(WX)?w:X; m=(my)?m:y; m=(mz)?m:z; 则该程序运行后,m 的值是 _ 1_ 。 (分数:1.00)32.程序的输出结果是 1。 #includeiostream using namespace std;
14、 class Base int x; Public: Base(int B):x(B) virtual void display( )coutx; ; class Derived:public Base int y; public: Derived(int D):Base(D),y(D) void display( )couty; ; int main( ) Base b(1) ;Derived d(2); Base*p=d; b.display( );d.display( );pdisplay( ); return 0; (分数:2.00)33.标识虚函数的关键字是 1。 (分数:2.00)
15、34.下列程序的定义语句中,x1的初值是 1,程序运行后输出的内容是 2。 #includestdio.h void main() int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),*p4,i; for(i=0;i4;i+) pi=x2*i+1; printf(“%d“,pi0); printf(“/n“) (分数:4.00)35.面向对象的模型中,最基本的概念是对象和 _ 1_ 。 (分数:2.00)36.在模块化设计过程中, _ 1_ 用来衡量模块内部各个元素彼此结合的紧密程度。 (分数:2.00)37.下列程序的运行结果是 1。 #inclUde
16、(iostreamh) Class A public: Virtual void use()cout“inA/n”; class B:public A public: virtual void use()cout“inB/n”;; class C:public B public: Virtual void use()cout“in C/n”; void main() A *obj; Obj=new C; Obj-use(); delete obj; (分数:2.00)38.二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是 1。 (分数:2.00)二级 C+-76 答案解析(总
17、分:64.50,做题时间:90 分钟)一、选择题(总题数:20,分数:30.50)1.下面关于 C+流的叙述中,正确的是(分数:2.00)A.cin 是一个输入流对象 B.可以用 ifstream 定义一个输出流对象C.执行语句序列 char *y=“PQMN“; couty;将输出字符串“PQMN“的地址D.执行语句序列 char x80;cin.getline(x,80);时,若键入 Happy new year 则 x 中的字符串是“Happy“解析:解析 本题考核 C+流的概念和 I/O 的格式化。cin 是 istream 类的对象,即输入流对象。ifstream 是输入文件流类不能
18、定义个输出流对象。C 选项中执行语句序列 char *y=“PQMN“; couty;后将输出字符串“PQMN“。getline 函数功能是允许从输入流中读取多个字符,并且允许指定输入终止字符(默认是换行字符),在读取完成后,从读取的内容中删除该终止字符,所以 D 选项中的语句序列后 x 中字符串应该是“Happy new year“。2.在深度为 5 的满二叉树中,叶子结点的个数为(分数:1.00)A.31B.32C.16 D.15解析:解析 二叉树的一个性质是,在二叉树的第 k 层上,最多有 2 k-1 (k1)”个结点。对于满二叉树,每一层上的结点数都达到最大值,即在满二叉树的第 k 层
19、上有 2(上标)个结点。所以,在深度为 5 的满二叉树中,所有叶子结点在第 5 层上,即其结点数为 2 k-1 =2 5-1 =16。3.软件详细设计的主要任务是确定每个模块的 _ 。(分数:2.00)A.算法和使用的数据结构 B.外部接口C.功能D.编程解析:4.下面程序段的运行结果是 void main ( ) int t, a, b, C; a1;b2;C2; while(abc) ta;ab;bt;c; cout a “,“ b “,“ C; (分数:2.00)A.1,2,0 B.2,1,0C.1,2,1D.2,1,1解析:解析 本题中(abc) 的运算次序是先算 ab,返回 1,再运
20、算 1c,返回 1,所以表达式a bc 的值为 1。5.下面不属于软件设计原则的是 _ 。(分数:2.00)A.抽象B.模块化C.自底向上 D.信息隐蔽解析:6.下列关于类模板的描述中,错误的是_。(分数:1.00)A.类模板的成员函数都是模板函数B.可以为类模板参数设置默认值C.类模板描述了一组类D.类模板中只允许有一个类型参数 解析:解析 类模板是一系列相关类的模板,类成员组成相同,成员函数的源代码形式相同,所不同的是所针对的类型。类模板的成员函数都是模板函数,在用类模板定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法按函数模板的方式省略模板实参。但可以为类模板的参数设置默认值
21、。由此可知应选 D。7.下面程序输出的结果为 #include“ iostreamh“ class A public: A( ) cout “CLASS A“ end1; A( ) ; class B:public A public: B( ) cout “CLASS B“ end1; B( ) ; void main( ) A * p; p=new B; B * q; q=new B; (分数:1.00)A.CLASS ACLASS BB.CLASS ACLASS BCLASS BC.CLASS ACLASS BCLASS ACLASS B D.CLASS ACLASS BCLASS BCL
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C76 答案 解析 DOC
