[计算机类试卷]国家二级(C++)笔试模拟试卷131及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷131及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷131及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 131及答案与解析 1 下列叙述中错误的是 ( )。 ( A)一种数据的逻辑结构可以有多种存储结构 ( B)数据的存储结构与数据的处理效率无关 ( C)数据的存储结构与数据的处理效率密切相关 ( D)数据的存储结构在计算机中所占的空间不一定是连续的 2 下列叙述中错误的是 ( )。 ( A)线性表是由 n个元素组成的一个有限序列 ( B)线性表是一种线性结构 ( C)线性表的所有结点有且仅有一个前件和后件 ( D)线性表可以是空表 3 下列关于栈的描述中错误的 是 ( )。 ( A)栈是先进先出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对
2、栈的插入与删除操作中,不需要改变栈底指针 4 对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为 ( )。 ( A) 125 ( B) n/2 ( C) n ( D) n+1 5 下列叙述中正确的是 ( )。 ( A)在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息 ( B)在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节 ( C)在模块化程序设计中,一 个模块内部的控制结构也要符合结构化原则 ( D)在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法 6 下列特征中不是面向对象方法的主要特征的是 ( )。 ( A)多态性 ( B)
3、继承 ( C)封装性 ( D)模块化 7 有下列二叉树,对此二叉树中序遍历的结果为 ( )。 ( A) BDYEACFXZ ( B) DYBEAFCZX ( C) ABCDEFXYZ ( D) ABDYECFXZ 8 下列不属于软件工程 3个要素的是 ( )。 ( A)工具 ( B)过程 ( C)方法 ( D)环境 9 设计软件结构是在软件生命周期的 ( )。 ( A)软件定义期 ( B)软件开发期 ( C)软件维护期 ( D)以上 3个都不是 10 下列工具中为需求分析常用工具的是 ( )。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 11 下列打开文件的表达式中
4、,错误的是 ( )。 ( A) ofstream ofile;ofile.open(“C:vcLabC.txt“,ios:binary); ( B) fstream iofile;iofile.open(“abC.txt“,ios:ate); ( C) ifstream ifile(“C:vcabC.txt“); ( D) cout.open(“C:vcabC.txt“,ios:binary); 12 C+语言本身没有定义 I/O操作,但 I/O操作包含在 C+实现中。 C+标准库iostream提供了基本的 I/O类。 I/O操作分别由两个类 istream和 ( )提供。 ( A) fst
5、ream ( B) iostream ( C) ostream ( D) cin 13 在 C+程序中, 如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用 ( )。 ( A)内联函数 ( B)重载函数 ( C)递归调用 ( D)嵌套调用 14 类 MyClass的定义如下: class MyClass public: MyClass()value=0; SetVariable(int i)value=i; private: int value; ; 则对下列语句序列正确的描述是 ( )。 MyClass*P, my;p= ( A)语句 p= 是把对象 my赋值给
6、指针变量 P ( B)语句 MyClass*p, my; 会调用两次类 MyClass的构造函数 ( C)对语句 *P. SetVariable(5)的调用是正确的 ( D)语句 p- SetVariable(5)与语句 my.SetVariable(5)等价 15 非成员函数只有在声明为 ( ),才能访问这个类的所有 private成员。 ( A)内联函数 ( B)纯虚函数 ( C)重载函数 ( D)友元函数 16 下列关于纯虚函 数与抽象类的描述中,错误的是 ( )。 ( A)纯虚函数是一种特殊的虚函数,它没有具体的实现 ( B)抽象类是指具有纯虚函数的类 ( C)一个基类中说明具有纯虚函
7、数,该基类的派生类一定不再是抽象类 ( D)抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出 17 将 x+y*z中的 “+”用成员函数重载, “*”用友元函数重载应写为 ( )。 ( A) operator+(operator*(y,z) ( B) x.operator+ (operator*(y,z) ( C) x.operator+(x*(y,z) ( D) x+(operator*(y,z) 18 已知递归函数 fun的定义如下: int fun(int n) if(n =1)return 1;/递归结束情况 else return n*fun(n-2);/递归 则函数调用语句
8、fun(5)的返回值是( )。 ( A) 5 ( B) 12 ( C) 15 ( D) 30 19 有下列程序,在横线添加; #include iostream using namespace std; class TestClass public: TestClass (int n)number=n; _/拷贝构造函数 TestClass() private: int number; ; TestClass fun(TestClass p) TestClass temp(P); return temp; int main() TestClsss obj1(10),obj2(0); TestC
9、lass obj3(obj1); obj2=fun(obj3); return 0; ( A) TestClass(TestClass ( B) TestClass(TestClass other)number=other.number; ( C) TestClass(TestClass ( D) TestClass( 20 下列关于成员函数特征的描述中,错误的是 ( )。 ( A)成员函数一定是内联函数 ( B)成员函数可以重载 ( C)成员函数可以设置参数的默认值 ( D)成员函数可以是静态的 21 若类 A和类 B的定义如下: #include malloc.h class A int
10、i,j; public: int geti() return i; ; class B:public A int k; public: void make() k=i*j; ; 则上述定义中非法的表达式是 ( )。 ( A) k=i*j ( B) int k; ( C) return i; ( D) void make(); 22 有如下程序: #include iostream using namespace std; class A public: A()cout “A“; A()cout “ A“; ; class B:public A A*p; public: B()cout “B“;
11、p=new A; B()cout “ B“;delete p; ; int main() B obj; return 0; 执行这个程序的输出结果是 ( )。 ( A) BAA A B A ( B) ABA B A A ( C) BAA B A- A ( D) ABA A B A 23 下列情况中,不会调用拷贝构造函数的是 ( )。 ( A)用一个对象去初始化同一类的另一个新对象时 ( B)将类的一个对象赋值给该类的另一个对象时 ( C)函数的形参是类的对象,调用函数进行形参和实参结合时 ( D)函数的返回值是类的对象,函数执行返回调用时 24 有如下程序: #include iostream
12、 using namespace std; Class Con char ID; public: Con():ID(A)cout 1; Con(char ID) :ID(ID) cout 2; Con(Con char get1D()constreturn ID; ; void show(Con c)cout c.get1D(); int main() Con c1; show(c1); Con c2(B); show(c2); return 0; 执行上面程序的输出是 ( )。 ( A) 13A23A ( B) 23A13B ( C) 13A23B ( D) 13B23A 25 下列函数的功
13、能是判断字符串 str是否对称,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 Boo1 fun (char*str) int i=0,j=0; while(strjj+; for(j-;i ji+,j-); return i _ j; ( A) ( B) | ( C) int*value; ; ( A) MyClass my;my.value=10; ( B) MyClass my;*my.value=10; ( C) MyClass my;my.*value=10; ( D) MyClass my(10); 27 下列对派生类的表述中,错误的是 ( )。
14、( A)一个派生类可以作为另一个派生类的基类 ( B)派生类至少有一个基类 ( C)派生类的缺省继承方式是 private ( D)派生类只继承了基类的公有成员和保护成员 28 将下列程序写成三目运算表达式是 ( )。 if(x y)min=x; else min=y; ( A) min=(x y)?x:y ( B) min=(x y)?x:y ( C) min=(x y)x:y ( D) min=(x y)?x,y 29 定义如下枚举类型: enumMonday,Tuesday,Wednesday,Thursday,Friday=2;表达式 Wednesday= =Friday的值是 ( )
15、。 ( A) false ( B) true ( C) 2 ( D)异常 30 关于模板,下列说法不正确的是 ( )。 ( A)用类模板定义一个对象时,不能省略实参 ( B)类模板只能有虚拟类型参数 ( C)类模板本身在编译中不会生成任何代码 ( D)类模板的成员函数 都是模板函数 31 如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用 ( )关键字来修饰。 ( A) const ( B) static ( C) void ( D) class 32 有如下程序: #include iostream using namespace std; long fun(
16、int n) if(n 2) return(fun(n-1)+fun (n-2); else return 2; int main() cout fun(3) end1; return 0; 则该程序的输出结果应该是 ( )。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 33 下列程序的输出结果是 ( )。 #include iostream using namespace std; template typename T T fun(T a,T b)return(a b)?a:b; void main() cout fun(3,6) , fun(3.14F,6.28F) end1
17、; ( A) 6,3.14 ( B) 3,6.28 ( C) 3,3.14 ( D) 6,6.28 34 有如下类声明; class SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int n0); ; 下列关于 setValue成员函数的实 现中,正确的是 ( )。 ( A) SAMPLE:setValue(int n0)n=n0;) ( B) void SAMPLE:setValue(int n0)n=n0; ( C) void setValue(int n0)n=n0; ( D) (int n0)n=n0; 35 下列有关
18、内联函数的叙述中,正确的是 ( )。 ( A)内联函数在调用时发生控制转移 ( B)内联函数必须通过关键字 inline来定义 ( C)内联函数是通过编译器来实现的 ( D)内联函数函数体的最后一条语句 必须是 return语句 36 在算法的 4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的_特性。 37 按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 _。 38 栈中允许进行插入和删除的一端叫做 _。 39 在面向对象程序设计中,从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作的算法,这称为对象的 _。 40 软件工程研究的内容主要包括 _
19、技术和软件工程管理。 41 插入排序算法的主要思想:每 次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。 Insert类的成员函数 sort()实现了插入排序算法,请填空。 class Insert public: Insert(int *b0,int n0):b(b0),n(n0) );/参数 b0是某数组首地址, n是数组元素个数 void sort() /此函数假设已排序序列初始化状态只包含 b0,未排序序列初始为 b1.bn-1 for(int i=1;i n;+i) int t=bi; int j; for(_;j 0;-j) if(t =bj-1) break; bj=
20、bj-1; bj=t; 42 若有函数 fun(x,y),并且已经使函数指针变量 p指向函数 fun,则使用 p调用函数 fun的方法是 _。 43 阅读下列程序: #include iostream.h void fun(int n) int x(5); static int y(10); if(n 0) +x; +y; cout x “,“ y endl; void main() int m(1); fun(m); 则该程序的输出结果是 _。 44 下面是一个栈类的模板,其中 push函数将元素 i压入栈顶, pop函数弹出栈顶元素。栈初始为空, top值为 0,栈项元素在 stackto
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 131 答案 解析 DOC
