【计算机类职业资格】国家二级C++机试(选择题)-试卷31及答案解析.doc
《【计算机类职业资格】国家二级C++机试(选择题)-试卷31及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C++机试(选择题)-试卷31及答案解析.doc(12页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(选择题)-试卷 31 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.程序流程图中带有箭头的线段表示的是( )。(分数:2.00)A.图元关系B.数据流C.控制流D.调用关系2.结构化程序设计的基本原则不包括( )。(分数:2.00)A.多态性B.自顶向下C.模块化D.逐步求精3.软件设计中模块划分应遵循的准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合4.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.可行性分析报告B.软件需求规格说明书C.概要设计
2、说明书D.集成测试计划5.算法的有穷性是指( )。(分数:2.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用6.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n1)/2 的排序方法是( )。(分数:2.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序7.下列关于栈的叙述正确的是( )。(分数:2.00)A.栈按“先进先出“组织数据B.栈按“先进后出“组织数据C.只能在栈底插入数据D.不能删除数据8.在数据库设计中,将 ER 图转换成关系数据模型的过程属于( )。(分数:2.00)A.需求分析阶段
3、B.概念设计阶段C.逻辑设计阶段D.物理设计阶段9.有三个关系 R、S 和 T 如下: (分数:2.00)A.并B.自然连接C.笛卡尔积D.交10.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为( )。(分数:2.00)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩11.下列符号中能够作为 C+ 标识符的是(分数:2.00)A.ClassB.gpa4.0C.1481quanzhanD.-score12.已知枚举类型声明语句为: enum COLOR WHITE, Y
4、ELLOW, GREEN=6, RED, BLACK=10 ;则枚举常量RED 的值为(分数:2.00)A.2B.3C.7D.813.执行语句序列 int n=0; for (int i=60; i0; i-=3) n+;之后,变量 n 的值是(分数:2.00)A.20B.21C.60D.6114.常量 4.2、4.2f、4L 的数据类型分别是(分数:2.00)A.float、float、doubleB.double、float、longC.double、double、floatD.float、float、long15.下列语句或语句序列中错误的是(分数:2.00)A.int a;const
5、int *point = B.const int a = 10;C.const int *point = 10;D.const int *point = new int(10);16.在一个有参函数的原型声明中可有可无的语法成分是(分数:2.00)A.形参类型B.形参变量C.函数名D.函数返回类型17.在名为 BigNumber 的类的类体中对运算符函数 double 进行了如下声明: operator double(BigNumber);函数声明中有一个明显的错误,这个错误就是(分数:2.00)A.参数表中不应该有任何参数B.缺少对函数返回类型的说明C.参数声明中缺少参数变量D.函数声明中缺
6、少函数体18.已知在一程序中已定义函数 double Mak(int m, double n);则下列函数中不可在同一程序中重载的是(分数:2.00)A.int Mak(int m, double n);B.double Mak(int m, int n);C.double Mak(double m, int n);D.double Mak(int n);19.关于赋值运算符 = 的重载,下列表述中错误的是(分数:2.00)A.= 的重载函数必须且只能有一个参数B.一个类即使没有重载 =,也可以用 = 为该类的对象赋值C.为了实现像“x=y=z;“这样的连续赋值,= 的重载函数的返回值必须声明
7、为引用D.= 可以重载为一个类的友元函数20.下面是重载为非成员函数的运算符函数原型,其中错误的是(分数:2.00)A.MyClass operator * (MyClass);B.MyClass operator + (MyClass,int);C.MyClassD.MyClass21.有如下函数定义: void swap(int a, int a=b; b=c; 若执行语句序列 int x = 0, y = 1; swap(x, y);则变量 x 和 y 的值分别是(分数:2.00)A.0 和 0B.0 和 1C.1 和 0D.1 和 122.下列运算符中,不能被重载的是(分数:2.00)
8、A.:B.=C.D.+23.用于定义类的必不可少的 C+ 关键字是(分数:2.00)A.autoB.returnC.classD.public24.有如下类声明: class Wd int a; public: int b; int c; private: int d; protected: int e; ;其中访问权限为私有的成员变量有(分数:2.00)A.a 和 bB.b 和 cC.a 和 dD.d 和 e25.有如下类声明: class Te public: Te(); / Te te; / Te *pte; / void f(Te / ;在标注号码的的四个语句中,错误的是(分数:2.0
9、0)A.B.C.D.26.当一个派生类对象结束其生命周期时,自动做的事情是(分数:2.00)A.先调用派生类的析构函数后调用基类的析构函数B.先调用基类的析构函数后调用派生类的析构函数C.如果派生类没有定义析构函数,则只调用基类的析构函数D.如果基类没有定义析构函数,则只调用派生类的析构函数27.当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是(分数:2.00)A.任何B.私有C.保护或私有D.公有或保护28.有如下类定义: class XX int xdata; public: XX(int n=0) : xdata(n) ; class
10、 YY : public XX int ydata; public: YY(int m=0, int n=0) : XX(m), ydata(n) ;其中 YY 类的对象所包含的数据成员的个数是(分数:2.00)A.4B.3C.2D.129.有如下程序: #include using namespace std; class Cup public: Cup(double val=5.8):price(val) void SetPrice(double val) price=val; double GetPrice() const return price; private: double pr
11、ice; ; int main() const Cup c1(4.5); Cup c2(29.8); c1.SetPrice(5.8); / c2.SetPrice(12.8); / c1.GetPrice(); / c2.GetPrice(); / return 0; 在标注号码的语句行中存在语法错误的是(分数:2.00)A.B.C.D.30.有如下类定义: class Bag public: Bag(string s=“Small“,string cr=“Black“):size(s),color(cr) Bag() private: string size,color; ; 若执行语句
12、Bag *ptr,my,colleage2,则 Bag 类的构造函数被调用的次数是(分数:2.00)A.2 次B.3 次C.4 次D.5 次31.N610060099) 有如下程序: #include #include using namespace std; class MyBag public: MyBag(string br,string cr):brand(br),color(cr) cout0; i-=3) n+;之后,变量 n 的值是(分数:2.00)A.20 B.21C.60D.61解析:解析:本题考查 for 循环语句,i 每次减 1,所以 for 循环执行 20 次。选项 A
13、 正确。14.常量 4.2、4.2f、4L 的数据类型分别是(分数:2.00)A.float、float、doubleB.double、float、long C.double、double、floatD.float、float、long解析:解析:本题考查实型变量,4.2 默认为 double,4.2f 为 float 型的、4L 为 long 型的。所以 B 选项正确。15.下列语句或语句序列中错误的是(分数:2.00)A.int a;const int *point = B.const int a = 10;C.const int *point = 10; D.const int *poi
14、nt = new int(10);解析:解析:本题考查常指针,C 选项中不能直接将整型变量赋值给常指针,所以 C 选项错误。16.在一个有参函数的原型声明中可有可无的语法成分是(分数:2.00)A.形参类型B.形参变量 C.函数名D.函数返回类型解析:解析:函数原型,包含返回值,函数名,参数类型,而形参变量可有可无,所以答案为 B 选项。17.在名为 BigNumber 的类的类体中对运算符函数 double 进行了如下声明: operator double(BigNumber);函数声明中有一个明显的错误,这个错误就是(分数:2.00)A.参数表中不应该有任何参数 B.缺少对函数返回类型的说
15、明C.参数声明中缺少参数变量D.函数声明中缺少函数体解析:解析:本题考查类型转换函数,其一般形式如下: operator 类型名() 实现转换的语句 在函数名前面不能指定函数类型,函数没有参数,所以 A 选项错误。18.已知在一程序中已定义函数 double Mak(int m, double n);则下列函数中不可在同一程序中重载的是(分数:2.00)A.int Mak(int m, double n); B.double Mak(int m, int n);C.double Mak(double m, int n);D.double Mak(int n);解析:解析:本题考查函数重载相关知
16、识,C+允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。返回值类型对区别重载函数没有意义。所以答案为 A 选项。19.关于赋值运算符 = 的重载,下列表述中错误的是(分数:2.00)A.= 的重载函数必须且只能有一个参数B.一个类即使没有重载 =,也可以用 = 为该类的对象赋值C.为了实现像“x=y=z;“这样的连续赋值,= 的重载函数的返回值必须声明为引用D.= 可以重载为一个类的友元函数 解析:解析:本题考查赋值运算符重载,赋值运算符只能作为类的成员函数重载,所以 D 选项错误。20.下
17、面是重载为非成员函数的运算符函数原型,其中错误的是(分数:2.00)A.MyClass operator * (MyClass);B.MyClass operator + (MyClass,int);C.MyClassD.MyClass 解析:解析:本题考查赋值运算符重载,赋值运算符只能作为类的成员函数重载,所以 D 选项错误。21.有如下函数定义: void swap(int a, int a=b; b=c; 若执行语句序列 int x = 0, y = 1; swap(x, y);则变量 x 和 y 的值分别是(分数:2.00)A.0 和 0 B.0 和 1C.1 和 0D.1 和 1解析
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 机试 选择题 试卷 31 答案 解析 DOC
