[计算机类试卷]国家二级(C++)笔试模拟试卷120及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷120及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷120及答案与解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 120及答案与解析 1 下列叙述中正确的是 ( A)所有形态的二叉树都只能采用链式存储结构 ( B)循环队列是队列的一种存储方式 ( C)栈只能采用顺序存储结构 ( D)循环队列与循环链表都属于链式存储结构 2 下列叙述中正确的是 ( A)软件测试的主要目的是确定程序中错误的位置 ( B)软件调试的主要目的是发现程序中错误的类型 ( C)程序经调试后还应进行测试 ( D)软件的测试与调试工,作最好都由程序编制者来完成 3 下列有关程序设计的原则中错误的是 ( A)对 所有的输入数据都要检查数据的合法性 ( B)输入一批数据时,最好使用数据结束标志 ( C)对于不
2、好的程序,尽量重新编写,避免修补 ( D)输出数据要干净,避免加注释 4 在深度为 6的满二叉树中,叶子结点的个数为 ( A) 64 ( B) 63 ( C) 32 ( D) 31 5 下列数据结构中按 “先进先出 ”原则组织数据的是 ( A)线性表 ( B)循环队列 ( C)循环链表 ( D)双向链表 6 将 7个数据进行插入排序,在最坏情况下需要比较的次数是 ( A) 42 ( B) 6 ( C) 7 ( D) 21 7 设有如图所示的二叉树 则对该二叉树前序遍历的结果是 ( A) FCADBEG ( B) ACBDFGE ( C) ABDCGEF ( D) ACBDFEG 8 下列关于软
3、件设计基本原理的叙述中错误的是 ( A)信息隐蔽是指在一个模块内的信息要使所有的模块都能访问得到 ( B)模块的独立程度是评价软件设计好坏的重要标准 ( C)耦合性用于衡量软件的模块独立性 ( D)内聚性用于衡量软件的模块独立性 9 数据库概念设计中,由分散到集中的设计方法是 ( A)视图设计 ( B)视图集成设计 ( C)集中式模式设 计 ( D)分数式模式设计 10 在下列关系运算中,可能改变关系中属性个数的是 ( A)并 ( B)差 ( C)投影 ( D)交 11 假定 a为一个整型数组名,则元素 a4的字节地址为 ( A) a+4 ( B) a+8 ( C) a+16 ( D) a+3
4、2 12 以下的 for循环 for(x 0, y=0, (y! =123)x+); ( A)是无限循环 ( B)循环次数不定 ( C)最多执行 4次 ( D)最多执行 3次 13 已知 int a, b;用语句 scanf(“%d%d“, ( A) 49.5 ( B) 9.5 ( C) 22 ( D) 45 17 设有以下类的定义: class Ex int x; public: void setx(int t=0); ; 若在类外定义成员函数 setx(),以下定义形式中正确的是 ( A) void setx(int t). ( B) void Ex: :setx(int t). ( C)
5、 Ex: :void setx(int t). ( D) void Ex: :setx(). 18 关于 const修饰符的说法中,错误的是 ( A) const既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象 ( B)若 const修饰了一个对象,则该对象中的所有数据成员都无法被更新 ( C)常对象无法调用一般成员函数 ( D)常成员函数只能被常对象调用,不能被一般对象调用 19 以下不属于构造函数特征的是。 ( A)构造函数名 与类名相同 ( B)构造函数可以重载 ( C)构造函数可以设置默认参数 ( D)构造函数必须指定函数类型 20 以下叙述正确的是 ( A)派生类中不可以定义与
6、基类中同名的成员变量 ( B)派生类中不可以重载成员函数 ( C)派生类中不能调用基类中的同名函数 ( D)以上三项均不正确 21 如果一个类含有一个以上的纯虚函数,则称该类为 ( A)虚基类 ( B)抽象类 ( C)派生类 ( D)以上都不对 22 下列各类函数中,不是类的成员函数的是 ( A)构造函数 ( B)析构函数 ( C)友元函数 ( D)拷贝构造函数 23 在多继承中,公用派生和私有派生对于基类成员在派生类中的可访问性与单继承规则 ( A)完全相同 ( B)完全不同 ( C)部分相同,部分不同 ( D)以上都不对 24 已知类 A有公用数据成员 a,并重载了 =运算符,且有 A o
7、bj2; const A * ptr= new A;则下列语句错误的是 ( A) ptr- a=100; ( B) ptr ( C) ptr+; ( D) obj2=*ptr; 25 已知语句 int m 10;则下列引用的表示中正确的是 ( A) int ( B) int ( C) int ( D) float 26 以下有关类与结构体关系的叙述不正确的是 ( A)结构体中只包含数据;类中封装了数据和操作 ( B)结构体的成员对外界通常是开放的;类的成员可以被隐蔽 ( C)用 struct不能声明一个类型名;而 class可以声明一个类名 ( D)结构体成员默认为 Public;类成员默认为
8、 private 27 以下不能作为输出流对象的是 ( A)文件 ( B)内存 ( C)键盘 ( D)显示器 28 以下不能够读入空格字符的语句是 ( A) char line; line cin.get() ( B) char line; cin. get(line); ( C) char line; cin line; ( D) char line2; cin. getline(line,2); 29 设有定义 char str80;以下不能将输入数据 firstnsecondn CR读取到数组str中的语句是 ( A) cin.get(str, strlen(str); ( B) cin
9、.getline(str,strlen(str); ( C) cin str; ( D) cin.read(str, strlen(str); 30 当使用 fstram流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 ( A) ios:in ( B) ios:out ( C) ios:int | ios:out ( D)没有 31 对于常数据成员,下面描述正确的是 ( A)常数据成员可以不初始化,并且不能更新 ( B)常数据成员必须被初始化,并且不能更新 ( C)常数据成员可以不初始化,并且可以被更新 ( D)常数据成员必须被初始化,并且可以被更新 32 下列能对对象进行初始化的
10、是 ( A)构造函数 ( B)析构函数 ( C)友元函数 ( D)静态成员函数 33 下述说法错误的是 ( A)对象之间不可以相互赋值 ( B)对象可以用作函数参数 ( C)对象可以用作数组的元素 ( D)对象可以用作另一对象的成员 34 设 A为 test类的对象且赋有初值,赋值符号已经重载,则语句 test B=A;表示 ( A)语法错 ( B)为对象 A定义一个别名 ( C)将对象 A复制给对象 B ( D)仅说明 B和 A属 于同一个类 35 重载函数在调用时选择的依据中,错误的是 ( A)函数的参数名称 ( B)参数的类型 ( C)函数的名字 ( D)函数的类型 36 设一棵二叉树的
11、中序遍历结果为 ABCDEFG,前序遍历结果为 DBACFEG,则后序遍历结果为【 】。 37 在面向对象方法中,属性与操作相似的一组对象称为【 】。 38 在结构化设计方法中,数据流图表达了问题中的数据流与加工之间的关系,并且,每一个【 】实际上对应一个处理模块。 39 在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动 模块和承接模块。其中【 】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 40 在关系运算中,【 】运算是在指定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个新的关系是原关系的一个子集。 41 执行 “cout char(F-2
12、) end1; ”语句后得到的输出结果后【 】。 42 十进制 28和 3.26的类型分别是【 】。 43 假定一个二维数组的定义为 “int a35; ”,则该数组所含元素的个数为 15,所占的存储空间的字节数为【 】。 44 假定要动态分配一个类型为 Worker的具有 n个元素的数组,并由 r指向这个动态数组,则使用的语句是【 】。 45 将关键字 const写在函数头之后,函数体之前,说明该函数是一个 const成员函数。此时 const不是指定函数的返回值,而是修饰【 】指针。 46 若要在程序文件中进行标准输入输出操作,则必须在开始的 # include命令中使用头文件【 】。 4
13、7 下列程序的输出结果为【 】。 # include iostream, h void Func(char ch) switch (ch). case A: case a cout “优秀 “ end1; case B: case b: cout “良好 “ end1; break; case C: case c: cout “及格 “ end1 break; default cout “不及格 “ end1; void main() char ch1 =b Fune(chl); Func(A); 48 根据注释内容在空白处填写适当内容。 class Location private: int
14、 X,Y; public: void init(int init X,int init Y); int GetX( ); int GetY( ) ; void Location: init(int initX,int initY) X = initX Y=initY; int Location: :GetX( ) reutrn X int Location: :GetY( ) reutrn Y; # inelude iostream. h void main( ) Location A1; A1.init (20, 90) 【 】 /定义一个指向 A1的引用 rA1 cout rA1.GetX
15、() “: “ rA1.GetY() end1; 49 下列程序的招待结果是【 】。 # include iostream. h float temp; float float n= m; void disp() cout “normal: n=“ n end1; void disp()const cout “static: n=“ n end1; ; void main() const Sample a(12), Sample b(13), a. disp( ), b. disp() cout a, n “ b. con end1; 国家二级( C+)笔试模拟试卷 120答案与解析 1 【正
16、确答案】 B 【试题解析】 一般来说,二叉树采用链式存储结构,但由于完全二叉树的特点,采用顺序存储也能方便地访问其中的每一个元素。因此,选项 A)中的说法是不对的。 所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列结构中,当存储空间的最后一个位置已被使用而再要进行人队运算时,只要存储空间的第一个位置空闲,便可将元素加人到第一个位置,即将存储空间的第一个位置作为队尾。因此,循环队列是队列的一种顺序存储方式,选项 B)中的说法是正确的。 栈是特殊的线性表,它既能采用顺序存储结构,又能采用链式存储结构。因此,选项 C)中的说法也是不对的。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 120 答案 解析 DOC
