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

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

1、国家二级( C+)笔试模拟试卷 164及答案与解析 1 算法的空间复杂度是指 ( )。 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 下列叙述中正确的是 ( )。 ( A)一个逻辑数据结构只能有一种存储结构 ( B)逻辑结构属于线性结构,存储结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 ( D)一个逻辑数据结构可以有多种存 储结构,且各种存储结构影响数据处理的效率 3 对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为 ( )。 ( A) 125

2、 ( B) n/2 ( C) n ( D) n+1 4 树是结点的集合,它的根结点的数目是 ( )。 ( A)有且只有 1个 ( B) 1或多于 1 ( C) 0或 1 ( D)至少有 2个 5 设 R是一个二元关系, S是一个三元关系,则下列运算中正确的是 ( )。 ( A) R-S ( B) RS ( C) RS ( D) R S 6 下列工具中为需求分析常用工具的是 ( )。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 7 有下列二叉树,对此二叉树前序遍历的结果是 ( )。 ( A) ACBEDGFH ( B) ABDGCEHF ( C) HGFEDCBA (

3、 D) ABCDEFGH 8 使用白盒测试法时,确定测试数据应该根据 ( )和指定的覆盖标准。 ( A)程序的内部逻辑 ( B) 程序的复杂结构 ( C)使用说明书 ( D)程序的功能 9 结构化程序设计的 3种基本结构是 ( )。 ( A)过程、子程序和分程序 ( B)顺序、选择和重复 ( C)递归、堆栈和队列 ( D)调用、返回和转移 10 在数据库设计中,将 E-R图转换为关系模式的过程属于 ( )。 ( A)需求分析阶段 ( B)逻辑设计阶段 ( C)概念设计阶段 ( D)物理设计阶段 11 下列符号中可以用作 C+标识符的是 ( )。 ( A) _radius ( B) foo ba

4、r ( C) else ( D) 3room 12 类模板的使用实际上是将类模板实例化成一个具体的 ( )。 ( A)类 ( B)对象 ( C)函数 ( D)模板类 13 若变量已正确定义并赋值,以下符合 C+语言语法的表达式是 ( )。 ( A) a=b+l ( B) a=b=c+2 ( C) int 18.5%3 ( D) a a+7=c+b 14 若有以下定义: inta 1, 2, 3, 4, 5, 6, 7; char cl b,c2=2; 则数值不为 2的表达式是 ( )。 ( A) a1 ( B) d-c1 ( C) a3-c2 ( D) c2-0 15 已知 :int m 10

5、;在下列定义引用的语句中,正确的是 ( )。 ( A) int Class MyString public: MyString(const char*s); MyString()deletedata; protected: unsigned len; char*data; ; MyString: MyString(const char*S) l ( A)构造函数的实参不允许是本类的对象 ( B)没有定义实现深层复制 (深拷贝 )的复制构造函数 ( C)构造对象 a时实参与形参类型不符 ( D)系统不能生成默认的复制构造函数 26 有以下程序: #include iostream using n

6、amespace std; class A private: int a; public: A(int i) a i; void disp() cout a“, ”; ; class B private: int b; public: B(int j) b=j; void disp() cout b “, ”; ( A) 10, 10, 10 ( B) 10, 12, 14 ( C) 8, 10, 12 ( D) 8, 12, 10 27 下列程序的输出结果是 ( )。 #include iostream.h void main() char*str ”12123434”; int x1 0,

7、 x2=0, x3 0, x4 0, i; for(i=0; stri! 0;i+) switch(stri) case1: x4+; case2: x3+; case3: x2+; case4: xl+; ) cout xl “, ” x2 ( A) 8, 6, 4, 1 ( B) 8, 6, 3, 2 ( C) 8, 8, 4, l ( D) 8, 6, 4, 2 28 以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是 ( )。 ( A) ofstream myfile; mynle.open(“d: ofile.txt”); ( B) ofstream * mynle=new

8、ofstream; mynle- open(“d: Ofile.txt”); ( C) ofstream myhle(“d: ofile.txt”); ( D) ofstream * mynle=new(“d: ofile.txt”); 29 以下类定义中可能会引起错误的语句是 ( )。 Class A public: A()/1 int i; /2 private: int j; /3 A(int i)i+; /4 ; ( A) 1 ( B) 2 ( C) 3 ( D) 4 30 有如下程序: #inClude iostream using namespace std; Class Test

9、Class public: virtUal void furll() cout “funlTestclass”; virtual void fun2() cout “fun2TestClass”; ; class TestClassl: public TestClass void fun() cout “fu ( A) fun1TestClass1 fun2TestClass ( B) fun1TestClass1 fun2TestClass1 ( C) fUnlTestClass fun2TestClass ( D) funlTe3tClass fun2TestClassl 31 有如下程序

10、: #include iostream using namespqce Std; class TestClass private; Char C; public; TestClass(char n): c(n) TestClass() cout c; ; class TestClassl: public TestClass private: Char C; public: ( A) xy ( B) yx ( C) x ( D) y 32 有如下程序: #include iostream.h using namespace std; Class Base public: Base()cout “

11、BB”; f(); void()cout “BF”; ; class Derived: public Base public: Derived()cout “DD”; void f()cout “Df”; ) ; int main ( A) BBBfDD ( B) BBDfDDDf ( C) DD ( D) DDBBBf 33 已知枚举类型定义语句为: enum TokenNAME, NUMBER, PLUS 5,MINUS, PRINT 10; 则下列叙述中错误的是 ( )。 ( A)枚举常量 NAME的值为 1 ( B)枚举常量 NUMBER的值为 1 ( C)枚举常量 MINUS的值为

12、6 ( D)枚举常量 PRINT的值为 10 34 有如下程序: #include iostream) using namespace std; classBASE public: BASE()cout “BASE”; ; class DERIVED:public BASE public: DERIVED()COUt “DERIVED”; ; int main()DERIVED x; return 0; 执行后的输出结果是 ( )。 ( A) BASE ( B) DERIVED ( C) BASEDERIVED ( D) DERIVEDBASE 35 有如下程序: #include(iostr

13、eam using namespace std; Class Test public: Test() n+ 2; Test() n- 3; ) static int getNum() return n; private: static int n; ; int Test: n 1; int main() Test*p=new Test; ( A) n 0 ( B) n 1 ( C) n 2 ( D) n=3 36 在面向对象方法中, _描述的是具有相似属性与操作的一组对象。 37 数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于 _。 38 顺序存储方法是把逻辑上相邻的结点存储在物

14、理位置 _的存储单元中。 39 通常,将软件产品从提出、实现、使用 维护到停止使用退役的过程称为_。 40 数据管理技术发展过程经过人工管理、文件系统和数据库系统 3个阶段,其中数据独立性最高的是 _阶段。 41 C+中封装性、继承性和 _是面向对象思想的主要特征。 42 下面程序的结果为 _。 #include iostream.h void main() int 3 1, b 2; bool c 1; if(a b)|c)cout “true” endl; else cout “false” endl; 43 下列 for语句的循环次数为 _。 for(int a 0, b 1; b。 2

15、4 【正确答案】 A 【试题解析】 本题首先执行语句 dok+ 5; cout $; while(k 19);,循环执行 4渔翁。;全了 4个 “$”, k的值变为 20;然后执行语句 while(k- O)cout *;,因为其中的 k是后缀自减,所以会输出 20个 “*”。 25 【正确答案】 B 【试题解析】 C+语 宫中当一个新对象被另一个已存在的同类型对象初始化时要调用复制构造函数,语句 MyS- trmg b(a), ”符合此条件将调用类 MyString的复制构造函数,但是类 MyString没有定义此复制构造函数,所以会出错。 26 【正确答案】 D 【试题解析】 本题中,派生

16、类 C具有多重继承关系,所以在派生类 C的构造函数中应该包含基类 A和 B的成员初始化列表。 27 【正确答案】 D 【试题解析】 本题考查循环的嵌套, for和 switch语句的应用。 C+中。各种条件判断,循环语句的用法。只要 注意在 C+语言中,系统在字符指针的最后位置会增加一个字符串结束符 0,执行 8次 for循环,再根据, witch语句中的条件易知答案。 28 【正确答案】 D 【试题解析】 本题考查文件对象的创建方法。可以直接定义文件对象,也可以用 new来动态生成。很明显,选项 D中使用 new的方式是错误的。 29 【正确答案】 D 30 【正确答案】 A 【试题解析】

17、TestClass为基类, TestClassl是 TestClass的派生类。基类中的fun1和 fun2枚定义为虚函数, C+规 定,当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数,所以派生类中的 fun1和 fun2也是虚函数。本题从 main主函数入手,首先定义了 TestClass类型的对象 obj1和指针 p,然后又定义了 TestClas1钓对象 obj2。指针指向对象 obj2,然后调用其成员函数funl(),即输出 “funlTestClassl”。 31 【正确答案】 A 【试题解析】 本题中 TestClass为基类, TestClassl为派生类。

18、在主函数中定义TestClassl对象 obj(x), “TestClassl(char n): TestClass(n+1), c(n)”,所以选输出 x,然后调用基类构造函数, x+1=y,所以输出 y,即答案为 xy。 32 【正确答案】 A 【试题解析】 本趣考查的是类的继承和派生。派生类执行构造函数的一般次序为;首先调用基类构造函数,然后调用成员对象的构造函数,最后是派生类构造函数中的内容。题目中定义派生类对象 d时,先调用基类 Base的构造函数,输出BBBf,然后调用派生类 Derived的构造函数,输出 DD。 33 【正确答案】 A 【试题解析】 本题考查的是 C+语言的数据

19、类型。第一个枚举常量的值为 0,允许程序曼示的定义中指定部分或全都枚举常量的值,枚举常量默认时,在首一枚举常量值的基础上以此增 1。 34 【正确答案】 D 【试题解析】 本题考查派生类的定义和使用。当对象被删除时,派生类的析构函数就被执行。由于析构函数不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相反。所以当 main函数结束时,派生类 DERIVED的对象 x将被删除,那么派生类 DERIVED的析构函数先被调用,输出 DERIVED,然后调用基类的析构函数输出 BASE。 35 【

20、正确答案】 A 【试题解析】 本题考查的是静态数据成员和静态成员函数。静态数据成员是类中所有对象共享的成员,而不是某个对象的成员。题目中的静态数据成员 n的运算具有叠加性,执行 “n+=2”和 “n-=3”后 n的值为 0。 36 【正确答案】 类。 【试题解析】 类是具有相同特征的对象的抽象,描述的是具有相似属性与操作的一组对象。对象是类的实例。 37 【正确 答案】 格式化模型。 【试题解析】 数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于格式化模型。 38 【正确答案】 相邻。 【试题解析】 顺序存储属于数据的存储结构的一种,它是指数据结构 (数据的逻辑结构 )在计算机中的

21、表示,是把逻辑上相邻的结点存储在物理位置相邻的存储单元中。 39 【正确答案】 软件生命周期。 【试题解析】 软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用及维 护等活动。 40 【正确答案】 数据库系统。 【试题解析】 相对于文件系统人工管理和数据项管理,数据库系统的数据独立性大大增加。 41 【正确答案】 多态性。 【试题解析】 面向对象系统包含了三个特征 封装性、继承性和多态性,这三个特征可以很好的实现数据抽象,进行行为共享,完成进化求解和描述一个系统的确定行为。 42 【正确答案】 true。 【

22、试题解析】 本题考查的是对于逻辑运算符号的理解, ”|”运算符的任何一边取值为真,则整个运算结果为真。 43 【正确答案】 5。 【试题解析】 因为 b的值为 1,所以 b&a 5相当于 a 5,当 a=5时退出循环,一共进行 5次循环。 44 【正确答案】 1 2 3 4 5。 【试题解析】 本题考查的是考生使用简单循环输出数组元素的能力,因为结束条件是 i 5,而 i初始值为 0,所以只会输出前 5个元素。 45 【正确答案】 main。 【试题解析】 所有的 C+语官程序都是从 main函数开始执行,而普通函数的存在是为了简化 main函数的复杂程度。 46 【正确答案】 拷贝构造。 【

23、试题解析】 本题考查的是拷贝构造函数的定义,它是一种特殊的成员函数,作用是使用一个已知的对象来初始化一个被创建的同类的对象,定义格式是类名:拷贝构造函数名 (类名 &引用名 )。 47 【正确答案】 基类 派生类。 【试题解析】 本题主要考查的是派生类构造函数的执行顺序,在 C+语言中构造函数的执行顺序是先基类后派生类,而析构函数的执行顺序正好相反,是先调用派生类后调用基类。 48 【正确答案】 类。 【试题解析】 本题考查的是类模板的定义, C+语言中模板分为两种:类模板和函数模板,类模板只能用 于类型参数,函数模板可以重载。 49 【正确答案】 * * * * *hello。 【试题解析】 本题考查的是 C+语言的流输出操作, eout中包括的函数 fill()和width()分别实现填充和设定显示长度的功能。

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

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

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