【计算机类职业资格】二级C++-235及答案解析.doc
《【计算机类职业资格】二级C++-235及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-235及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-235 及答案解析(总分:65.00,做题时间:90 分钟)一、选择题(总题数:36,分数:65.00)1.有以下程序 #include iostream using namespace std; int a; int fun (); int main () extern int a; int b; a = 100; b = fun(); coutbend1; return 0; int fun) extern int a; return (10*a ; 其程序运行后的输出结果是(分数:2.00)A.100B.10C.1000D.100002.在软件开发中,需求分析阶段产生的主要文
2、档是 _ 。(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书3.对关系 S 和关系 R 进行集合运算,结果中既包含 S 中元组也包含 R 中元组,这种集合运算称为 _ 。(分数:2.00)A.并运算B.交运算C.差运算D.积运算4.下列不属于 C+关键字的是(分数:2.50)A.defaultB.unsignedC.goD.try5.有如下程序: #includeiostream using namespace std; class Instrument public: virtual void Display()=0; ; class Piano
3、:public Instrument public: void Display()/*函数体略*/ ; int main() Instrument s; Instrument*p=0; /; return 0; 下列叙述中正确的是_。(分数:1.00)A.语句“Insturment*p=0;”编译时出错B.语句“Instrument s;”编译时出错C.类 Piano 中的 Display 函数不是虚函数D.类 Instrument 是一个虚基类6.下列虚基类的声明中正确的是 _。(分数:2.00)A.class virtual B: public AB.class B: public A v
4、irtualC.class B: public virtual AD.virtual class B: public A7.有如下的运算符重载函数定义: double operator+(int i,int k)return double(i+k); 但定义有错误,对这个错误最准确的描述是_。(分数:3.00)A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的B.两个 int 型参数的和也应该是 int 型,而这里将+的返回类型声明为 doubleC.没有将运算符重载函数声明为某个类的友元D.C+已经提供了求两个 int 型数据之和的运算符+,不能再定义同样的运算符8.有下列程序:
5、#include stdio.h void fun(char*a,char*b) while(*a=“*“)a+; while(*b=*a)b+;a+; void main() char+s=“*a+b*“,t80; fun(s,t);puts(t) 程序的运行结果是_。(分数:2.50)A.*a*bB.a*bC.a*b*D.ab9.下面程序中对一维坐标点类 Point 进行运算符重载 #includeiostream using namespace std; class Point public: Point(int val)x=val; Pointreturn *this; Point o
6、perator+(int)Point old=*this;+(*this);return old; Int GetX()constreturn x; private: int x; ; int main() Point a(10); cout(+a).GetX(); couta+.GetX(); return 0; 编译和运行情况是_。(分数:3.00)A.运行时输出 1011B.运行时输出 1111C.运行时输出 1112D.编译有错10.语句 cout setprecison (3)3.1415926end1;的输出为 _ 。(分数:2.00)A.3.14B.3.1C.3.142D.3.1
7、4111.下列关于运算符重载的描述中,错误的是_。(分数:2.50)A.可以通过运算符重载在 C+中创建新的运算符B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作数是该类对象D.重载类型转换运算符时不需要声明返回类型12.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val= 3; 编译运行这个程序将出现的
8、情况是 _ 。(分数:2.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数13.当使用 ofstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为_。(分数:2.50)A.ios base:inB.ios_base:binaryC.ios base:in|ios_base:outD.ios_base:out14.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是_。(分数:1.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序15.下列叙述中正确的是_。(分数:2.50)A.算法就是程序B.设计算法时只
9、需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对16.以下程序的输出结果是 #includeiostreamh void main() int x=1,y=3; cout x+ “ , “; int x=0;X+=y*2; coutx“ ,“y“ ;“; coutx“ ,“y; (分数:1.00)A.1,6,3,1,3B.1,6,3,6,3C.1,6,3,2,3D.1,7,3,2,317.下面有关重载函数的说法中,正确的是 _ 。(分数:1.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不
10、同18.下面四个关键字中,说明友元函数的是 _ 。(分数:2.00)A.friendB.virtualC.publicD.base19.已知表达式+x 中的“+”是作为成员函数重载的运算符,则与+x 等效的运算符函数调用形式为_。(分数:1.00)A.operator+(1)B.operator+(x)C.operator+()D.operator+(x)20.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成_。(分数:1.00)A.属性B.关系C键D域21.若有函数调用“fun(x*y,3,max(a,b,c)”,则 fun 的实参个数为_。(分数:2.00)A.3B.4C.5D
11、.622.以下过程设计工具不属于图形工具的是 _ 。(分数:1.00)A.程序流程图B.PADC.HIPOD.PDL23.具有 3 个结点的二叉树有(分数:1.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态24.软件测试的目的是_。(分数:1.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误25.有如下模板声明: templatetypename T1,typename T2class A; 下列声明中,与上述声明不等价的是_。(分数:1.00)A.templateclass T1,class T2class A;B.templatec
12、lass T1,typename T2class A;C.templatetypename T1,class T2class A;D.templatetypename T1,T2class A;26.一个非空广义表的表头 _ 。(分数:2.00)A.不可能是子表B.只能是子表C.只能是原子D.可以是子表或原子27.下列特征中不是面向对象方法的主要特征的是 _ 。(分数:2.00)A.多态性B.继承C.封装性D.模块化28.下面程序的运行结果是 _ 。 #includeiostream.h void main() int i1; while(i8) if(+i%3!2)continue; els
13、e couti; (分数:2.00)A.25B.36C.258D.36929.下列关于构造函数的描述中,错误的是_。(分数:1.00)A.构造函数名与类名相同B.构造函数可以有返回值C.构造函数可以重载D.每个类都有构造函数30.关于静态数据成员的描述中正确的是 _ 。(分数:2.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化31.数据库设计中,用 ER 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的_。(分数:2.50)A.需求分析阶段B.逻辑设计阶段
14、C.概念设计阶段D.物理设计阶段32.若已知 char str 20;,且有语句 cinstr;,此时输入为“This is a program“,则所得的结果是 str= _ 。(分数:2.00)A.This is a programB.ThisC.This isD.This is a33.有以下程序: #includeiostream using namespace std; #define PI 3.14 class Point private: int x,y; public: Point(int a,int b) x=a; y=b; int getx() return x; int
15、gety() return y; class Circle:public Point private: int r: public: Circle(int a,int b,int c):Point(a,b) r=c; int getr() return r; double area() return PI*r*r; int main() Circle c1(5,7,10); coutc1.area()endl; relurn 0; 程序执行后的输出结果是_。(分数:1.00)A.314B.157C.78.5D.153.8634.有如下说明: int a10=1,2,3,4,5,6,7,8,9,
16、10,*p=a; 则数值为 9 的表达式是_。(分数:1.00)A.*p+9B.*(p+8)C.*p+=9D.p+835.执行下列语句: #includeiostream using namespace std; int main() int x=3; if(x=5) coutx+endl; else coutxendl; return 0; 程序的输出是_。(分数:2.50)A.3B.4C.5D.636.下面是一个模板声明的开始部分: templatetypename Tdouble. 由此可知_。(分数:2.50)A.这可能是一个函数模板的声明B.这可能是一个类模板的声明C.这既可能是一个
17、函数模板的声明,也可能是一个类模板的声明D.这肯定是一个错误的模板声明二级 C+-235 答案解析(总分:65.00,做题时间:90 分钟)一、选择题(总题数:36,分数:65.00)1.有以下程序 #include iostream using namespace std; int a; int fun (); int main () extern int a; int b; a = 100; b = fun(); coutbend1; return 0; int fun) extern int a; return (10*a ; 其程序运行后的输出结果是(分数:2.00)A.100B.10
18、C.1000 D.10000解析:解析 本题考核变量的作用域、生存周期和存储类别(自动、静态、存储器,外部)。先来了解外部变量:外部变量用关键字 extern 表示。由于外部变量可以被程序中的所有函数共同访问,其作用域为全局,因此也称为全局变量。对于外部变量而言,“定义变量”和“说明变量”是两个不同的概念。定义a 为外部变量是告诉编译程序, a 是一个外部变量,并要求系统为 a 分配一个固定的永久存储空间。a 的值在整个程序的运行期间都存在,只有当定义它的程序运行结束时,它的存储空间才释放。外部变量定义后,当程序中的函数要引用外部变量时,应在函数中作引用说明。在此程序中,在第二行定义了一个外部
19、变量 a,主函数 main 给外部变量赋的初始值为 100,当调用函数 fun()时,外部变量 a 的值传到函数 fun()中,因此函数所返回的值为 100*10=1000。2.在软件开发中,需求分析阶段产生的主要文档是 _ 。(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书 解析:解析 在软件开发过程中,需求分析阶段产生的要文档是软件需求规格说明书。3.对关系 S 和关系 R 进行集合运算,结果中既包含 S 中元组也包含 R 中元组,这种集合运算称为 _ 。(分数:2.00)A.并运算 B.交运算C.差运算D.积运算解析:4.下列不属于 C+关键
20、字的是(分数:2.50)A.defaultB.unsignedC.go D.try解析:5.有如下程序: #includeiostream using namespace std; class Instrument public: virtual void Display()=0; ; class Piano:public Instrument public: void Display()/*函数体略*/ ; int main() Instrument s; Instrument*p=0; /; return 0; 下列叙述中正确的是_。(分数:1.00)A.语句“Insturment*p=0
21、;”编译时出错B.语句“Instrument s;”编译时出错 C.类 Piano 中的 Display 函数不是虚函数D.类 Instrument 是一个虚基类解析:解析 本题考查纯虚函数和抽象类,纯虚函数是在声明虚函数时被“初始化”为 0 的函数,包含纯虚函数的类为抽象类,抽象类不能被实例化,所以语句“Instrument s;”在编译时出错。6.下列虚基类的声明中正确的是 _。(分数:2.00)A.class virtual B: public AB.class B: public A virtualC.class B: public virtual A D.virtual class
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C235 答案 解析 DOC
