【计算机类职业资格】二级C++-188及答案解析.doc
《【计算机类职业资格】二级C++-188及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-188及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-188 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.计算机算法指的是解决问题的有限运算序列,它具备_和足够的情报。(分数:2.50)A.可行性、可移植性和可扩充性B.易读性、稳定性和安全性C.确定性、有穷性和稳定性D.可行性、确定性和有穷性2.对于存储同样一组数据元素而言,_。(分数:2.50)A.顺序结构比链接结构易于扩充空间B.顺序结构与链接结构相比,更有利于对元素进行插入、删除运算C.顺序结构占用整块空间,而链接结构不要求整块空间D.顺序结构比链接结构多占存储空间3.算法的时间复杂度是指_。(分数:2.50)A.执行
2、算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数4.设有下列二叉树: (分数:2.50)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA5.信息隐蔽的概念与下述哪一种慨念直接相关?_。(分数:2.50)A.软件结构定义B.模块独立性C.模块类型划分D.模块耦合度6.结构化程序设计只允许由三种基本结构来构成任何程序。下列选项中,_不是结构化程序设计的基本结构。(分数:2.50)A.选择结构B.可选结构C.重复结构D.顺序结构7.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。(分数:2.50)A.概
3、要设计B.详细设计C.可行性设计D.需求分析8.下面不属于软件工程的 3 个要素的是_。(分数:2.50)A.工具B.过程C.方法D.环境9.下列关系运算的叙述中,正确的是_。(分数:2.50)A.投影、选择、连接是从二维表行的方向进行的运算B.并、交、差是从二维表的列的方向来进行运算C.投影、选择、连接是从二维表列的方向进行的运算D.以上 3 种说法都不对10.关系数据库管理系统应能实现的专门的关系运算包括_。(分数:2.50)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表11.下列关于 C+函数的说法,不正确的是_。(分数:2.50)A.C+程序中必须有一
4、个主函数 main,而且是从 main 的第一条语句开始执行的B.非主函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的C.主函数可以在任何地方出现D.主函数必须出现在固定位置12.以下非法的赋值表达式是_。(分数:2.50)A.n=(i=2, +i)B.j+C.+(i+1)D.x=i013.有如下程序: #includeiostream using namespace std; int main() int a=2, b=-1, c=2; if(ab) if(b0)c=0; else c+=1; coutcendl; return 0; 执行程序的输出结果是_。(分数:2.50)A.
5、0B.1C.2D.314.若存在定义“int k, *q;”,则下列赋值表达式正确的是_。(分数:2.50)A.q=*( S= p= 请指出*p 所代表的是_。(分数:2.50)AsB.”,则数组 array 所占的空间为_。(分数:2.50)A.4 字节B.5 字节C.6 字节D.7 字节17.考虑下面的函数原型: void funD(int a, bool b=true, float pai=3.14); 则下列函数调用中,不合法的是_。(分数:2.50)A.funD(5);B.funD(5, false);C.funD(5, 3.00);D.funD(0, true, 1.00)18.为
6、了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_。(分数:2.50)A.publicB.protectedC.privateD.static19.类的析构函数的作用是_。(分数:2.50)A.一般成员函数的初始化B.类的初始化C.对象的初始化D.删除类创建的对象20.下列关于静态数据成员的描述中,正确的是_。(分数:2.50)A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象都有自己的静态数据成员值D.静态数据成员不能通过类的对象调用21.有如下程序: #includeiostream using namespac
7、e std; int s=0; class MyClass static int n; public: MyClass(int i)n=i; static void add()s+=n; ; int MyClass:n=0; void main() MyClass a(3), b(5); MyClass:add(); coutsendl; 其运行结果是_。(分数:2.50)A.2B.5C.4D.722.有如下程序: #includeiostream using namespace std; class MyClass int x; public: MyClass(int a)x=a; frie
8、nd double square(MyClass s); ; double square(MyClass s) return s.x*s.x; int main() MyClass s1(20), s2(30); coutsquare(s2)endl; return 0; 其运行结果是_。(分数:2.50)A.20B.30C.900D.40023.有如下程序: #includeiostream using namespace std; class point private: int x, y; public: point()x=0; y=0; void setpoint(int x0, in
9、t y0)x=x0; y=y0; void dispoint() cout“x=“x“, “y=“yendl; ; int main() point *p=new point; p-setpoint(5, 12); p-dispoint(); return 0; 其运行结果是_。(分数:2.50)A.x=12, y=12B.x=5, y=5C.x=12, y=5D.x=5, y=1224.有如下程序: #includeiostream using namespace std; Class Base protected: int id; public: Base()id=1; ; class M
10、iddle1:virtual public Base public: Middle1()(id+=1; coutid; ; class Middle2:virtual public Base public: Middle2()id+=2; coutid; ; class Derived:public Middle1, public Middle2 public: Derived()coutidendl; ; int main() Derived obj; return 0; 其运行结果是_。(分数:2.50)A.1B.123C.242D.24425.有如下程序: #includeiostrea
11、m using namespace std; class Base char c; public: Base(char c0):c(c0) Base()coutc; ; class Derived:public Base char c; public: Derived(char c0):Base(c0+1), c(c0) Derived()coutc; ; int main() Derived obj(“x“); return 0; 其运行结果是_。(分数:2.50)A.xyB.yxCxDy26.下列描述中正确的是_。(分数:2.50)A.私有派生的子类无法访问父类的成员B.类 A 的私有派生
12、子类的派生类 C 无法初始化其祖先类 A 对象的属性C.私有派生类不能作为基类派生子类D.私有派生类的所有子孙类将无法继续继承该类的成员27.有如下程序: #includeiostream using namespace std; class Base public: Base()cout“1“; Base()cout“2“; ; class Derived:public Base public: Derived()cout“3“; Derived()cout“4“; ; int main() Derived A; return 0; 其运行结果是_。(分数:2.50)A.1234B.1324
13、C.1342D.314228.下列有关多态性的说法,不正确的是_。(分数:2.50)A.C+语言的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态绑定29.下列关于运算符重载的描述中,错误的是_。(分数:2.50)A.运算符重载不能改变操作数的个数、优先级、结合性和运算符的语法结构B.不是所有的运算符都可以重载C.运算符函数的调用必须使用关键字 operatorD.在 C+语言中不可以通过运算符重载创造出新的运算符30.有如下程序: #includeiostream using namespa
14、ce std; class Base public: virtual void disp()cout“B“; ; class Derived:public Base public: void disp()Base:disp(); cout“D“; ; int main() Base *ptr; Derived obj; ptr= ptr-disp(); return 0; 执行程序的输出结果是_。(分数:2.50)ABBDC.BDD.编译出错31.有如下程序: #includeiostream using namespace std; class point int x, y; public:
15、 point(int x0, int y0)x=x0; y=y0; point()x=0; y=0; point operator+(point p1) return point(x+p1.x, x+p1.x); point operator-(point p1) return point(x-p1.x, y-p1.y); void print()coutx“, “yendl; ; int main() point p1(10, 10), p2(20, 20); p1=p1+p2; p1.print(); return 0; 执行后的输出结果是_。(分数:2.50)A.10, 10B.20,
16、20C.10, 20D.30, 3032.下列对模板的声明中,正确的是_。(分数:2.50)A.templateMyTemplate;B.templateclass MyTemplate1, MyTemplate2;C.templateclass MyTemplate1, class MyTemplate2;D.templateclass MyTemplate1; class MyTemplate2;33.关于在调用模板函数时实参的使用,下列表述中正确的是_。(分数:2.50)A.如果能从模板函数的实参中获得相同信息,则虚拟类型参数对应的模板实参都可省略B.如果虚拟类型参数所对应的模板实参是参
17、数表中最后的若干个参数,则部可省略C.对于虚拟类型参数所对应的模饭实参,若能省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略34.有如下程序: #includeiostream using namespace std; class MyClass int n; public: MyClass(int_n)n=_n; operator+(int)n+; void display()coutnendl; ; int main() MyClass obj(5); obj+; obj.display(); return 0; 其运行结果是_。(分数:2.50)A.5B.6C.7D.
18、835.下列关于 getline 函数的描述,不正确的是_。(分数:2.50)A.getline 函数是用来从输入流中读取字符串的B.getline 函数读取字符串长度是受到限制的C.getline 函数读取字符串时,遇到终止符时就停止D.getline 函数中所使用的终止符只能是换行符36.运算符重载是对已有的运算符赋予多重含义,因此_。(分数:2.50)A.可以对基本类型(如 int 类型)的数据,重新定义“+”运算符的含义B.可以改变一个已有运算符的优先级和操作数个数C.只能重载 C+中已经有的运算符,不能定义新运算符D.C+中已经有的所有运算符都可以重载37.下列程序中对一维坐标点类
19、Point 进行运算符重载: class Point public: Point(int val)x=val; Point return *this; Point operator+(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; 编译和运行情况是_。(分数:2.50)A.运行时输出 1011B.运行时输出 1111C.运行时输出 1112
20、D.编译有错38.模板对类型的参数化提供了很好的支持,因此_。(分数:2.50)A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员都具有同样的类型D.类模板中的成员函数都没有返回值39.关于关键字 class 和 typename,下列表述中正确的是_。(分数:2.50)A.程序中 typename 都可以替换为 classB.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参列表中只能用 class 或 typename 来声明参数的类型40.下面关于 C
21、+流的说明中,正确的是_。(分数:2.50)A.与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B.从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作C.cin 是一个预定义的输入流类D.输出流有一个名为 open 的函数,其作用是生成一个新的流对象二级 C+-188 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.计算机算法指的是解决问题的有限运算序列,它具备_和足够的情报。(分数:2.50)A.可行性、可移植性和可扩充性B.易读性、稳定性和安全性C.确定性、有穷性和稳定性D.可行性、确定性和有穷性 解析:解析 算
22、法的基本特征有可行性、确定性、有穷性和拥有足够的情报四种。2.对于存储同样一组数据元素而言,_。(分数:2.50)A.顺序结构比链接结构易于扩充空间B.顺序结构与链接结构相比,更有利于对元素进行插入、删除运算C.顺序结构占用整块空间,而链接结构不要求整块空间 D.顺序结构比链接结构多占存储空间解析:解析 顺序结构中,元素之间的关系通过存储单元的邻接关系来表示,其存储空间必须占用整块空间;链接结构中,结点之间的关系通过指针来表示,不要求整块空间。3.算法的时间复杂度是指_。(分数:2.50)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数 D.算法程序中的指令
23、条数解析:解析 所谓算法的时间复杂度,是指执行算法所需要的计算工作量。算法所执行的基本运算次数与问题的规模有关。算法的工作量用算法所执行的基本运算次数来度量。4.设有下列二叉树: (分数:2.50)A.ABCDEFB.DBEAFC C.ABDECFD.DEBFCA解析:解析 中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。中序遍历的结果:DBEAFC。5.信息隐蔽的概念与下述哪一种慨念直接相关?_。(分数:2.50)A.软件结构定义B.模块独立性 C.模块类型划分D.模块耦合度解析:解析 利用信息隐蔽,可以确保每
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C188 答案 解析 DOC
