[计算机类试卷]国家二级(C++)笔试模拟试卷142及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷142及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷142及答案与解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 142及答案与解析 1 下列选项中,不是算法的基本特征的是 ( )。 ( A)完整性 ( B)可行性 ( C)有穷性 ( D)拥有足够的情报 2 结构化分析方法是面向 ( )的自顶向下、逐步求精进行需求分析的方法。 ( A)对象 ( B)数据结构 ( C)数据流 ( D)目标 3 下列工具中为需求分析常用工具的是 ( )。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 4 线性表进行二分法检索,其前提条件是 ( )。 ( A)线 性表以顺序方式存储,并按关键码值排好序 ( B)线性表以顺序方式存储,并按关键码的检索频率排好序 ( C)线
2、性表以链式方式存储,并按关键码值排好序 ( D)线性表以链式方式存储,并按关键码的检索频率排好序 5 下列选项中不属于结构化程序设计方法的是 ( )。 ( A)自顶向下 ( B)逐步求精 ( C)模块化 ( D)可复用 6 下列关于结构化程序设计原则和方法的描述中,错误的是 ( )。 ( A)选用的结构只准许有一个入口和一个出口 ( B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实 现 ( C)不允许使用 GOTO语句 ( D)语言中所没有的控制结构,应该采用前后一致的方法来模拟 7 软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求规格说明书以及 ( )。 ( A)
3、阶段性报告 ( B)需求评审 ( C)总结 ( D)都不正确 8 下列关于软件测试的描述中正确的是 ( )。 ( A)软件测试的目的是证明程序是否正确 ( B)软件测试的目的是使程序运行结果正确 ( C)软件测试的目的是尽可能多地发现程序中的错误 ( D)软件测试的目的是使程序符合结构化原 则 9 用链表表示线性表的优点是 ( )。 ( A)便于随机存取 ( B)花费的存储空间较顺序存储少 ( C)便于插入和删除操作 ( D)数据元素的物理顺序和逻辑顺序相同 10 在数据库设计中,将 E-R图转换为关系模式的过程属于 ( )。 ( A)需求分析阶段 ( B)逻辑设计阶段 ( C)概念设计阶段
4、( D)物理设计阶段 11 下列符号中可以用作 C+标识符的是 ( )。 ( A) _radius ( B) foo bar ( C) else ( D) 3room 12 下列关于 C+流的说明中,正确的是 ( )。 ( A)与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现 ( B)从流中获取数据的操作称为插入操作, 向流中添加数据的操作称为提取操作 ( C) cin是一个预定义的输出流类 ( D)输出流有一个名为 open的成员函数,其作用是生成一个新的流对象 13 若执行语句: cout setfill(*) setw(10) 123 “OK“ endl后将输出 ( )。 ( A
5、) * 1230K ( B) 123*OK ( C) *123*OK ( D) 123*OK* 14 类模板的使用实际上是将类模板实例化成一个具体的 ( )。 ( A)类 ( B)对象 ( C)函数 ( D)模板类 15 有如下函数模板定义: template class T T func(T x,T y)return x*x+y*y; 在下列对 func的调用中,错误的是 ( )。 ( A) func(3,5); ( B) func(3.0,5.5); ( C) func(3,5.5); ( D) func int (3,5.5); 16 假定要对类 AB定义加号操作符重载成员函数,实现两个
6、 AB类对象的加法,并返回相加结果,则该成员函数的声明语句为 ( )。 ( A) AB operator+(AB class TestClass public: virtual void fun1() cout “fun1TestClass“; virtual void fun2() cout “fun2TestClass“; ; class TestClass1:public TestClass void fun() cout “fun1TestClass1“; void fun2(int x) cout“fun2TestClass1“; ; int main() TestClass obj
7、1,*p; TestClass1 obj2; p= p- fun1(); p- fun2(); return 0; 该程序执行后的输出结果是( )。 ( A) fun1TestClass1 fun2TestClass ( B) fun1TestClass1 fun2TestClass1 ( C) fun1TestClass fun2TestClass ( D) fun1TestClass fun2TestClass1 20 有如下程序: #include iostream using namespace std; class A public: virtual void func1()cout
8、 “A1“; void func2()cout “A2“; ; class B:public A public: void func1()cout “B1“; void func2()cout “B2“; ; int main() A *p=new B; p- func1(); p- func2(); return 0; 执行该程序,屏幕上将显示输出 ( )。 ( A) B1B2 ( B) A1A2 ( C) B1A2 ( D) A1B2 21 有如下类声明: class TestClass int i; private:int j; protected:int k; public:int m
9、,n; 其中,私有成 员的数量为 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 22 有如下程序: #include iostream using namespace std; class TestClass private; char c; public; TestClass (char n):c(n) TestClass () cout c; ; class TestClass1:public TestClass Private: char c; public: TestClass1(char n):TestClass (n+1),c(n) TestClass1() c
10、out c; ; int main() TestClass1 obj(x); return 0; 执行上面的程序输出 ( )。 ( A) xy ( B) yx ( C) x ( D) y 23 阅读下面程 序: #include iostream.h void main() int i,j,row=0,column=0,min; static int a33=100,28,72,-30,2,-100; min=a00; for(i=0;i 3;i+) for(j=0;j 3;j+) if(aijl min) min=aij; row=i; column=j; cout min “,“ row
11、“,“ column endl; 该程序的执行结果为 ( )。 ( A) -100,2,3 ( B) -100,1,2 ( C) 100,1,1 ( D) 100,0,0 24 重载输入流运算符必须使用的原型为 ( )。 ( A) istream ( B) istream ( C) istream operator (istream,类名 ( D)类名 operator (istream 25 关于在调用模板函数时模板实参的使用,下列表述中正确的是 ( )。 ( A)对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略 ( B)对于虚拟类型参数所对应的模板实参
12、,如果它们是参数表中的最后的若干个参数,则都可以省略 ( C)对于虚拟类型参数所对应的模板实参,若能够省略则必须省略 ( D)对于常规参数所对应的模板实参,任何情况下都不能省略 26 在进行了任何 C+流的操作后 ,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败的函数名是 ( )。 ( A) fail ( B) eof ( C) bad ( D) good 27 已知 n是一个 int型变量,下列语句中错误的是 ( )。 ( A) long*p=new longn; ( B) long pn; ( C) long*p=new long(n); ( D) lon
13、g p10; 28 有如下程序: #include iostream.h using namespace std; class Base protected: int i; public: int j; ; class Derived:public Base int m; public: int n; ; int main() Derived d; d.i=0; /1 d.j=0; /2 d.m=0; /3 d.n=0; /4 return 0; 其中主函数中有两个赋值语句有错,这两个错误的赋值语句是 ( )。 ( A) 1和 2 ( B) 1和 3 ( C) 2和 3 ( D) 2和 4 2
14、9 有如下语句序列: int k=0: dok+=5;cout ; while(k 19); while(k- 0)cout *; 执行上面的语句序列输出字符 “ ”和 “*”的个数分别是 ( )。 ( A) 4和 20 ( B) 5和 20 ( C) 4和 21 ( D) 5和 21 30 下列关于虚函数的描述中,正确的是 ( )。 ( A)虚函数是一个 static类型的成员函数 ( B)虚函数是一个非成员函数 ( C)基类中采用 virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加 virtual说明 ( D)派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或
15、类型 31 有如下程序: #include iostream.h using namespace std; class Base public: Base()cout “BB“; f(); void f()cout “Bf“; ; class Derived: public Base public: Derived()cout “DD“; void f()cout“Df“; ; int main()Dcrivcd d; return 0; 执行上面的程序将输出 ( )。 ( A) BBBfDD ( B) BBDfDDDf ( C) DD ( D) DDBBBf 32 有如下程序: #inclu
16、de iostream.h using namespace std; class Stack public: Stack(unsigned n=10):size(n)rep_=new int size; top=0; Stack(Stack for (int i=0;i size;i+) rep_i=s.rep_i; top=s.top; Stack()deleterep_; void push(int a)rep_top=a; top+; int pop()-top; return rep_top; bool isEmpty() const return top =0; private: i
17、nt*rep_; unsigned size, top; ; int main() Stack s1; for(int i=1;i 5;i+) sl.push(i); Stack s2(s1); for (int i=1;i3;i+) cout s2.pop() ,; s2.push(6); s1.push(7); while(!s2.isEmpty() cout s2.pop() ,; return 0; 执行上面程序将输出 ( )。 ( A) 4,3,2,1, ( B) 4,3,6,7,2,1, ( C) 4,3,6,2,1, ( D) 1,2,3,4, 33 已知枚举类型定义语句为: e
18、num TokenNAME,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列叙述中错误的是( )。 ( A)枚举常量 NAME的值为 1 ( B)枚举常量 NUMBER的值为 1 ( C)枚举常量 MINUS的值为 6 ( D)枚举常量 PRINT的值为 10 34 要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50, -88, 0和 0,则下列定义语句中错误的是 ( )。 ( A) int vect5=30,50,-88; ( B) int vect=30,50,-88,0,0; ( C) int vect5=30,50,-88; ( D)
19、int vect5=30,50,-88,0,0; 35 有如下程序: #include iostream 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; delete p; cout “n=“ Test:getNum() endl; return 0; 执行该程序的输出结果是 ( )。 ( A) n=0 ( B) n=
20、1 ( C) n=2 ( D) n=3 36 在长度为 n的线性表中查找一个表中不存在的元素,需要的比较次数为【 】。 37 在面向对象的程序设计中,用来请求对 象执行某一处理或回答某些信息的要求称为【 】。 38 源程序文档化要求程序应加注释。注释一般分为序言性注释和【 】。 39 数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于【 】。 40 在关系运算中,【 】运算是在给定关系的某些域上进行的运算。 41 设有定义语句: double x=2.5, y=4.7; int a=7;那么表达式 x+a%3*(int)(x+ y)%2/4的值为【 】。 42 函数 swap(arr
21、,n)可完成对 arr数组从第 1个元素到第 n个元素两两交换。在运行调用函数中的语句后, a0和 a1的值分别为【 】。 a0=1; a1=2; swap(a, 2); 43 下列程序的输出结果是【 】 #include iostream using namespace std; int main() int num=500; int Base() ; class Derived : public Base public: 【 】 /完成类 Derive构造函数的定义 ; int main () Derived Obj; return 0; 46 已知: double A(double A)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 142 答案 解析 DOC
