[计算机类试卷]国家二级C++机试(选择题)模拟试卷66及答案与解析.doc

上传人:explodesoak291 文档编号:497876 上传时间:2018-11-30 格式:DOC 页数:23 大小:87KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(选择题)模拟试卷66及答案与解析.doc_第1页
第1页 / 共23页
[计算机类试卷]国家二级C++机试(选择题)模拟试卷66及答案与解析.doc_第2页
第2页 / 共23页
[计算机类试卷]国家二级C++机试(选择题)模拟试卷66及答案与解析.doc_第3页
第3页 / 共23页
[计算机类试卷]国家二级C++机试(选择题)模拟试卷66及答案与解析.doc_第4页
第4页 / 共23页
[计算机类试卷]国家二级C++机试(选择题)模拟试卷66及答案与解析.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、国家二级 C+机试(选择题)模拟试卷 66及答案与解析 一、选择题 1 若有函数调用 “fun(x*y, 3, max(a, b, c)”,则 fun的实参个数为 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 2 下列关于内联函数的叙述中,错误的是 ( )。 ( A)内联函数的定义必须出现在内联函数第一次被调用之前 ( B)内联函数主要解决程序的运行效率问题 ( C)类体中定义的函数都是内联函数 ( D)内联函数不能有参数 3 求 n阶勒让德多项式的递归函数定义如下: double P(double x, int n) if(n=0)return 1; if(n=1)ret

2、um x; if(n1)retum(2*n1)*xP(x, n一 1)一 (n一 1)*P(x, n一 2) n; 若执行函数调用表达式 P(1 3, 2),函数 P被调用的次数是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 4 有如下类定义: class MyClass public: MyClass(double d=0 0): val(d) _ 类型转换运算符 double的定义 private: double val; ; 若要使语句序列 MyClass x(2 1); cout using namespace std; elass Shape图形类 public

3、: 图形绘制函数 (用显示字母模拟 ) virtual void draw()eonsteoutdraw(); t draw(); plot(t); delete ps; retum 0; 运行这个程序的输出是 ( )。 ( A) SCC ( B) SCS ( C) CSS ( D) CCC 12 有如下类及函数的定义: class Wow int k; public: Wow(int n=0): k(n) int incre()retum+k; int deere(); void show()eonst; ; int Wow: deere()retum-k; inline void disp

4、lay(Wow w)w show(); void Wow: show()eonsteout using namespaee std; class CC int k; public: CC(int n): k(n) int get()constreturn k; ; int main() CC c3=CC(1), cc(2); retum 0; 此程序编译时未能通过,原因是 ( )。 ( A)数组只能定义为基本数据类型 ( B)类 CC缺少复制构造函数 ( C)对象数组只能作为类的数据成员 ( D)类 CC缺少默认的构造函数 15 有如下类声明和函数声明 class Base int m; pu

5、blic: int n; protected: int P; ; class Derived: public Base public: int k; ; void f(Derived d); 则在函数 f中通过 d可访问的数据成员包括 ( )。 ( A) n ( B) n和 k ( C) n、 k和 P ( D) n、 k、 P和 m 16 下列关于模板的表述中,错误的是 ( )。 ( A)模板形参表的两边使用尖括号括起来 ( B)模板以关键字 template开始 ( C)模板声明中的关键字 class都可以用关键字 typename替代 ( D)模板的形参表中可以有多个参数 17 要利用

6、C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。 ( A) fstream ( B) istream ( C) cstdlib ( D) iomanip 18 在下列标识符中,不属于文件流类的标识符是 ( )。 ( A) ifstream ( B) ofstream ( C) fstream ( D) operator 19 关于函数声明格式中的 ,下列叙述错误的是 ( A) 有可能包含关键字 true ( B) 有可能包含自定义标识符 ( C) 有可能包含字符 * ( D) 有可能包含关键字 float 20 下列关于运算符重载的叙述中,错误的是 ( A)不能通过运算符重

7、载在 C+ 中创建新的运算符 ( B)赋值运算符只能重载为成员函数 ( C)运算符函数重载为类的成员函数时,第一操作数是该类对象 ( D)重载类型转换运算符时,应声明返回类型为 void 21 下列运算符中,不能被重载的是 ( A) | ( B) += ( C) . ( D) - 22 下列叙述中正确的足 ( )。 ( A)循环队列是顺序存储结构 ( B)循环队列是链式存储结构 ( C)循环队列是非线性结构 ( D)循环队列的插入运算不会发生溢出现象 23 下列叙述中正确的是 ( )。 ( A)所有数据结构必须有根结点 ( B)所有数据结构必须有终端结点 (即叶子结点 ) ( C)只有一个根结

8、点,且只有一个叶子结点的数据结构一定是线性结构 ( D)没有根结点或没有叶子结点的数据结构一定是非线性结构 24 下列关于算法的描述中错误的是 ( ) ( A)算法强调动态的执行过程,不同于静态的计算公式 ( B)算法必须能在有限个步骤之后终止 ( C)算法设计必须考虑算法的复杂度 ( D)算法的优劣取决于运行算法程序的环境 25 在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数 ( )。 ( A)相同,元素的存 储顺序与逻辑顺序一致 ( B)相同,但其元素的存储顺序可以与逻辑顺序不一致 ( C)不同,但元素的存储顺序与逻辑顺序一致 ( D)不同,且其元素的存储顺序可以与逻辑顺序

9、不一致 26 设二叉树如下: 则中序序列为 ( )。 ( A) ABDEGCFH ( B) DBGEAFHC ( C) DGEBHFCA ( D) ABCDEFGH 27 下面不属于软件需求分析阶段工作的是 ( )。 ( A)需求获取 ( B)需求计划 ( C)需求分析 ( D)需求评审 28 下面不属于黑盒测试方法的是 ( )。 ( A)边界值分析法 ( B)基本路径测试 ( C)等价类划分法 ( D)错误推测法 29 在数据库系统中,数据模型包括概念模型、逻辑模型和 ( )。 ( A)物理模型 ( B)空间模型 ( C)时间模型 ( D)数据模型 30 若实体 A和 B是一对一的联系,实体

10、 B和 c是多对一的联系,财实体 A和 c的联系是 ( )。 ( A)多对一 ( B)一对多 ( C)一对一 ( D)多对多 31 某二叉树中共有 935个结点,其中叶子结点有 435个,则该二叉树中度为 2的结点个数为 ( )。 ( A) 64 ( B) 66 ( C) 436 ( D) 434 32 下列描述中,属于面向对象思想主要特征的是 ( )。 ( A)继承性 ( B)灵活性 ( C)可重用性 ( D)健壮性 33 有如下程序段: int i=10; while(1) i+: if(i=30)13reak; if(i 2=0)cout*; 执行这个程序段输出字符木的个数是 ( )。

11、( A) 20 ( B) 8 ( C) 9 ( D) 10 34 下列字 符中,可以出现在合法的 C+标识符中的是 ( )。 ( A): ( B) ( C) & ( D) 1 35 下列叙述中,错误的是 ( )。 ( A) false是一个逻辑型常量 ( B) n是一个字符型常量 ( C) 1481是一个 int常量 ( D) 1 414是一个 double常量 36 若 x和 y是程序中的两个整型变量,则下列 if语句中合法的是 ( )。 ( A) if(x)y=1; else y: 2; ( B) if(O)y=1 else y=2; ( C) if(x!=0)then y=1 else

12、y=2; ( D) if x!=0 y=1; else y=2; 37 若有定义语句 “double a=2 3; ”,则输出 a的结果是 ( )。 ( A) 0 66666667 ( B) 0 666667 ( C) 0 7 ( D) 0 38 下列关于函数原型声明的叙述中,正确的是 ( )。 ( A)在函数原型中不必声明形参列表 ( B)在函数原型中不必声明形参个数 ( C)在函数原型中不必声明形参类型 ( D)在函数原型中不必声明形参名称 39 若已经声明了函数 “int fun(int x, int y=0); ”,则下列重载函数声明中,正确的是 ( )。 ( A) double fu

13、n(const int x, int y); ( B) int fun(int x); ( C) int fun(int a, int b); ( D) jnt fun(int x, int y, int z); 40 下列运算符中,不能作为成员函数重载的是 ( )。 ( A) + ( B) = ( C) (流运算符 ) ( D) | 国家二级 C+机试(选择题)模拟试卷 66答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 函数 fun的实参分别是: x水 y的结果、 3、 max函数的返回值,实参个数为 3。答案为 A。 2 【正确答案】 D 【试题解析】 内联函数的函数定义必须

14、出现在内联函数第一次被调用之前;内联函数可以避免函数频繁调用时的开销,提高程序运行效率;在类定义体内部定义的成员函数,编译器都将其视为内联函数; A、 B、 C正确;内联函数也可以有参数, D错误,答案为 D。 3 【正确答案】 C 【试题解析】 首先执行调用 P(1 3, 2);由于 n=2,大于 1,所以需要递归调用P(1 3, 1)和 P(1 3, 0),此时 n的值或者是 0,或者是 1,函数 P返回。所以函数 P被调用 3次,答案为 C。 4 【正确答案】 A 【试题解析】 题目需要定义类型转换运算符 double,类型转换运算符是一种特殊的类成员函数,它定义将类类型的值转变为其他类

15、型值,由于转换函数必须是成员函数,选项 B、 D错误;另外转换函数不能指定返回类型,并且形参列表必须为空,选项 C错误;所以 double类型转换运算符的定义为: operator double()constreturn val; 答案为 A。 5 【正确答案】 A 【试题解析】 常对象是指对象的数据成员的值在对象被调用时不能被改变,常对象必须进行初始化,且不能被更新,不能通过常对象调用普通成员函数,常对象只能调用常成员函数,选项 B、 D错误;常对象是可以包含普通成员的,选项 C错误;答案为 A。 6 【正确答案】 B 【试题解析】 C+中,关键字 public、 protected、 pr

16、ivate用来声明类的访问权限,另外 friend关键字可以用来声明友元,同样可以控制类的访问权限; const用来修饰常量性,与类的访问权限无关,答案为 B。 7 【正确答 案】 B 【试题解析】 定义一个 ClassA类型的对象 c1,生成新对象 c1,调用默认构造函数;定义一个 ClassA类型的指针 c2,指针未赋初值,没有新对象生成,没有调用构造函数;定义一个 ClassA类型的指针 c3,使用动态分配方式为 c3分配内存,生成新的对象,将 c3初始化为新对象的地址,调用默认构造函数;定义一个ClassA类型的引用 c4,引用 c1对象,没有新对象生成,未调用构造函数;答案为B。 8

17、 【正确答案】 A 【试题解析】 在函数形参表后面添加 “: 0”可以指定该函数为纯虚函数,类中含有一个或多个纯虚函数,该类就是抽象类,选项 B错误;可以通过对象指针或引用调用虚函数,也可以使用对象直接调用虚函数,只不过使用对象直接调用虚函数和调用普通成员函数一样,没有动态绑定,不具有多态性,选项 C错误;抽象类中的成员函数至少有一个纯虚函数,对虚函数没有要求,选项 D错误;一个函数定义为虚函数,它就是动态绑定的,在派生类中可以覆盖,而静态成员函数是属于整个类,不属于某个类对象,对于每个类来说只有一份代码,所有同类的对象共享这份代码,没有动态绑定的必要,选项 A正确;答案为 A。 9 【正确答

18、案】 A 【试题解析】 dA公有继承 Parents, dB私有继承 Parents,所以 Parents中的公有成员 publicData在 dA中是公有成员,对 x可见,在 dB中是私有成员,对 y不可见, Parems中的私有成员 privateData对 x和 y都不可见;由此可知:只有 x可以访问 publicData,答案为 A。 10 【正确答案】 A 【试题解析】 C+的类定义中,只有非静态成员函数具有 this指针, Pass类中getCount()函数是友元函数,不属于成员函数,没有 this指针,选项 B、 D错误;incre()函数是静态成员函数,没有 this指针,选

19、项 C错误;答案为 A。 11 【正确答案】 D 【试题解析】 C+中,多态性调用需要满足两个条件, 1、被调用成员函数必须是虚函数; 2、必须通过基类类型的引用或指针进行函数调用。多态性使程序在运行时期根据指针或引用所指对象的类型来决定调用哪个函数。 程序中,类 shape定义了虚函数 draw(),在派生类 circle中重写了函数draw(); main函数中,分别使用指针、对象、引用三种方式调用函数 draw(),指针 ps是基类指针,指向的是派生类的对 象,所以这里根据多态性,将调用 Circle中的 draw函数,输出 “C”;对象 t是 Circle对象,也调用 Circle中的

20、 dmw函数,输出 “C”;函数 p10t()执行时引用 s引用的是实参 t,引用对象是派生类 Circle对象,根据多态性,同样调用 Circle中的 draw函数,输出 “C”;结果输出为“CCC”;答案为 D。 12 【正确答案】 C 【试题解析】 类定义体内部定义的函数,编译器都默认为内联函数,类定义体外部定义的函数,使用关键字 inline修饰的函数为内联函数,所以内联函数有:Wow(int n=0)、 incre()、 display(Wow w),答案为 C。 13 【正确答案】 B 【试题解析】 类 How的定义体中没有定义任何构造函数,所以编译器需要自动生成一个默认构造函数和

21、复制构造函数,答案为 B。 14 【正确答案】 D 【试题解析】 对象数组无论在哪里定义,都需要自动调用该对象元素的类的默认构造函数进行初始化,如果该类没有默认构造函数,必须为数组的元素提供显式初始化;程序中定义了对象数组 c,它包含了三个元素,前两个元素使用构造函数cc(int n)显式初始化,最后一个元 素需要使用默认构造函数初始化,由于类 CC中已经定义了构造函数,所以编译器不会自动生成默认的构造函数,缺少默认构造函数导致对象数组 c的第三个元素无法完成初始化,编译错误;答案为 D。 15 【正确答案】 B 【试题解析】 公有继承中,基类成员保持自己的访问级别 (private成员除外

22、),基类的 public成员在派生类中是 public成员,基类的 protected成员在派生类中是protected成员;所以程序中 Derired类的 public成员有: n、 k, protected成员有: p, m对 Derived不可见,所以: Derived对象 d可访问的成员有: n、 k,protected成员不可见;答案为 B。 16 【正确答案】 C 【试题解析】 模板定义以关键字 template开始,后接模板形参表,模板形参表是用尖括号括住的一个或多个模板形参的列表,形参之间用逗号分隔,选项 A、B、 D正确;至于选项 C,一般关键字 class和 typenam

23、e在模板形参表中,是没有区别的,但是关于类模板,类定义的关键字也是 class,这里 class是不可用tvpename替代的,答案为 C。 17 【正确答案】 D 【试题解析】 C+中 I O流控制头文件是 iomanip,它负责实现输入输出的各种格式控制;答案为 D。 18 【正确答案】 D 【试题解析】 文件流类的标识符由:输入文件流类 ifstream、输出文件流类ofstream和输入输出文件流类 fstream; operator是重载运算符的标识符,答案为D。 19 【正确答案】 C 【试题解析】 本题考查函数返回类型,函数返回类型可以是普通常量型的,可以返回指针以及自定义类型,

24、但是不能包含关键字 true,所以 A选项错误。 20 【正确答案 】 A 【试题解析】 本题考查运算符重载,重载不能定义新的运算符,且赋值运算符只能重载为成员函数,重载类型转换运算符时,声明返回类型不一定是 void,所以D选项错误。 21 【正确答案】 D 【试题解析】 本题考查运算符重载,不能重载的运算符只有 5个: .、 .*、 :、sizeof、 ?: 所以本题选择 C 22 【正确答案】 A 【试题解析】 循环队列是队列的一种顺序存储结构,线性结构是 n个数据元素构成的有限序列,除第一个元素外的每一个元素,有且只有一个前件,除最后一个元素外,有且只有 一个后件。循环队列是线性结构。

25、当需要插入的数据大于循环队列的存储长度,入队运算会覆盖前面的数据,发生溢出现象。故 A选项正确。 23 【正确答案】 D 【试题解析】 一个非空的数据结构如果满足以下两伞条件:有且只有一伞根结点;每 个结点最多有一个前件,也最多有一个后件,称为线性结构,在数据结构中习惯称为线性表, D选项正确。图是可能不包含根结点或叶子结点的数据结构, AB选项错误。数据结构中若有中间结点不满足只有一个前件或者后件条件,则不属于线性结构, c选项错误。 24 【正确答案】 D 【试题解析】 算法是指对解题方案的准确而完整的描述,简单地说,就是解决问题的操作步骤。算法不同于数学上的计算方法,强调实现, A选项叙

26、述正确。算法的有穷性是指,算法中的操作步骤为有限个,且每个步骤都能在有限时间内完成, B选项叙述正确。算法复杂度包括算法的时间复杂度和算法的空间复杂度。算法设计必须考虑执行算法所需要的资源,即时间与空间复杂度,故 C选项叙述正确。算法的优劣取决于算法复杂度,与程序的环境无关,当算法被编程实现之后,程序的运行受到计算机系统运行环境的限制,故正确答案为 D选项。 25 【正确答案 】 A 【试题解析】 顺序表具有以下两个基本特征:线性表中所有元素所占的存储空间是连续的;线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。在顺序表中,每个元素占有相同的存储单元。 A选项正确。 26 【正确答案】

27、B 【试题解析】 二叉树遍历可以分为 3种:前序遍历 (访问根结点在访问左子树和访问右子树之前 )、中序遍历 (访问根结点在访问左子树和访问右子树两者之间 )、后序遍历 (访问根结点在访问左子树和访问右子树之后 )。本题中前序遍历为ABDEGCFH,中序遍历为 DBGEAFHC,后序遍历为 DGEBHFCA,故 B选项正确。 27 【正确答案】 B 【试题解析】 需求分析阶段的工作可以分为 4个方面:需求获取、需求分析、编写需求规格说明书和需求评审,而需求计划不属于需求分析阶段的工作,故正确答案为 B选项。 28 【正确答案】 B 【试题解析】 常用的黑盒测试方法和技术有:等价类划分法、边界值

28、分析法、错误推测法和因果图等。基本路径测试属于白盒测试,故正确答案为 B选项。 29 【正确答案】 A 【试题解析】 数据模型按照不同的应用层次分为 3种类型:概念数据模型、逻辑数 据模型、物理数据模型,故 A选项正确。 30 【正确答案】 A 【试题解析】 一般来说,实体集之间必须通过联系来建立联接关系,分为三类:一对一联系 (1: 1)、一对多联系 (1: m)、多对多联系 (m: n)。 A与 B是 1: 1联系, B与 C是 m: 1联系,则 A与 C是 m: 1联系,即多对一,故 A选项正确。 31 【正确答案】 D 【试题解析】 在树结构中,一个结点所拥有的后件个数称为该结点的度,

29、所有结点中最大的度称为树的度。对任何一棵二叉树,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。叶子结点有 435个,则度为 2的结点为 434, D选项正确。 32 【正确答案】 A 【试题解析】 面向对象思想的主要特征有:封装、继承和多态。答案选 A。 33 【正确答案】 C 【试题解析】 程序首先定义一个整型变量 i并初始化为 10, while循环条件为 l,始终为真,所以只有执行 break语句才能结束循环。在 while循环中, i自增运算语句在循环开始,所以 while语句第一次循环, i值自增为 11,最后一次循环开始时, i值为 29;另外输出语句中若 i为偶数则

30、输出 “*”,综上 while循环中在 i自增1后取值为 : 12, 14, 16, 18, 20, 22, 24, 26, 28时,输出 “*”;答案为 C。 34 【正确答案】 D 【试题解析】 C+的标识符由字母、数字和下划线组成, A、 B、 C错误,答案为 D。 35 【正确答案】 B 【试题解析】 字符型常量是用单引号括起来的一个字符。 B选项中 “n”是字符串常量,答案为 B。 36 【正确答案】 A 【试题解析】 选项 B中, y=1语句后面少了分号 “; ”;选项 c中, then不是关键字,不符合 if语法;选项 D中,条件部分 x!=0必须用圆括号括起来; 只有选项 A正

31、确,整型变量 x在条件中转化为逻辑变量,非 0情况下都转化为 1;答案为 A。 37 【正确答案】 D 【试题解析】 该题是隐式类型转换。首先 2 3会按照 int型来计算,结果自然是0,由于赋值运算符左操作数对象是 double型,所以需要将 int型结果转换为double型 0 0,答案为 D。 38 【正确答案】 D 【试题解析】 函数声明由函数返回类型、函数名和形参列表组成,形参列表中必须包含形参类型,不必对形参命名。答案为 D。 39 【正确答案】 D 【试题解析】 出现在相同 作用域中的两个函数,如果具有相同的名字而形参表不同,称为重载函数。选项 A中,仅当形参是引用或指针时,形参

32、是否为 const对重载才有影响,这里 const对重载没有影响,另外函数不能仅仅基于不同的返回类型实现重载, A错误;选项 B中,当调用函数 fun(x)只带有一个实参时,两个函数都匹配,该调用具有二义性, B错误;选项 C中形参列表只有默认参数不同,默认参数并不改变形参个数, C错误;选项 D正确,形参列表中参数个数不同;答案为 D。 40 【正确答案】 C 【试题解析】 流运算符 “”不能重载为类的成员函数 ,因为一旦该操作符重载为类的成员函数,那么左操作数将只能是该类类型的对象,这样的用法与正常 IO使用方式相反。为了支持正常用法,左操作数必须为 ostream类型。但是,标准库中的类是不能人为添加成员的,答案为 C。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1