[计算机类试卷]国家二级(C++)笔试模拟试卷137及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷137及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷137及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 137及答案与解析 1 算法的空间复杂度是指 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 下列关于栈的叙述正确的是 ( A)在栈中只能插入数据 ( B)在栈中只能删除数据 ( C)栈是先进先出的线性表 ( D)栈是先进后出的线性表 3 在深度为 5的满二叉树中,叶子结点的个数为 ( A) 31 ( B) 32 ( C) 16 ( D) 15 4 下面描述中,符合结构化程序设计风格的是 ( A)使用顺序、选择和重复 (循环 )三种基本控制结构表示程序的控制逻辑 ( B)模块只有一
2、个入口,可以有多个出口 ( C)注重提高程序的执行效率 ( D)不使用 goto语句 5 下面概念中,不属于面向对象方法的是 ( A)对象 ( B)继承 ( C)类 ( D)过程调用 6 下列对于软件测试的描述中正确的是 ( A)软件测试的目的是证明程序是否正确 ( B)软件测试的目的是使程序运行结果正确 ( C)软件测试的目的是尽可能多地发现程序中的错误 ( D)软件测试的目的是使程序符合结构化原则 7 下面 不属于软件设计原则的是 ( A)抽象 ( B)模块化 ( C)自底向上 ( D)信息隐蔽 8 数据库设计的根本目标是要解决 ( A)数据共享问题 ( B)数据安全问题 ( C)大量数据
3、存储问题 ( D)简化数据维护 9 下列叙述中正确的是 ( A)数据库系统是一个独立的系统,不需要操作系统的支持 ( B)数据库设计是指设计数据库管理系统 ( C)数据库技术的根本目标是要解决数据共享的问题 ( D)数据库系统中,数据的物理结构必须与逻辑结构一致 10 下列模式中,能够给出数据库物理存储结构与物理存 取方法的是 ( A)内模式 ( B)外模式 ( C)概念模式 ( D)逻辑模式 11 面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理 ? ( A)对数据的操作 ( B)信息 ( C)数据隐藏 ( D)数据抽象 12 在 C+中,实现封装性需借助于 (
4、A)枚举 ( B)类 ( C)数组 ( D)函数 13 下面关于虚函数的描述中正确的是 ( A)虚函数是一个静态成员函数 ( B)虚函数是一个非成员函数 ( C)虚函数既可以在函数说明时定义,也可以在函数实现时定义 ( D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 14 下列关于运行符重载的描述中,正确的是 ( A)运算符重载可以改变操作数的个数 ( B)运算符重载可以改变操作数的优先级 ( C)运算符重载可以改变运算符的结合性 ( D)运算符重载可以使运算符实现特殊功能 15 有如下函数模板声明: template typename T T Max(T a, T B) re
5、turn (a=B) ?a:b; 下列对函数模板 Max()的调用中错误的是 ( A) Max(3.5,4.5) ( B) Max(3.5,4) ( C) Max double (3.5,4.5) ( D) Max double (3.5,4) 16 若语句: cout setfill( ) setw(5) 3141512 setw(5) “OK!“; 是程序中第 1个输出语句,则输出结果是 ( A) 3141512 OK! ( B) 31415120K! ( C) 314150K! ( D) 31415 OK! 17 有如下语句序列: int k=0; dok+=5; cout $; whi
6、le(k 19); while(k-0 0)cout *; 执行上面的语句序列输出字符 $和 *的个数分别是 ( A) 4和 20 ( B) 55和 20 ( C) 4和 21 ( D) 5和 21 18 设有以下程序段: int a5=0,*p, *q; p=a; q=a; 则下列选项中,合法的运算是 ( A) p*q ( B) p-q ( C) p*q ( D) p%q 19 下列语句段将输出字符 *的个数为 int i=100; while(1) i-; if(i=0) break; cout *; ( A) 98个 ( B) 99个 ( C) 100个 ( D) 101个 20 下列对
7、字符数组进行初始化的语句正确的是 ( A) char a =“Hello“; ( B) char a=H,e,1,1,o); ( C) char a5=“Hello“; ( D) char a25=“Hello“, “World“;p 21 在下面的类定义中,横线处应填入的内容是 class Fred public: void print () cout data end1; void setData (double D) data=d; static int count; private: double data; ;_count=0; /静态数据成员的定义 ( A) int ( B) st
8、atic int ( C) int Fred: ( D) static int Fred: 22 有如下类声明: class Foo int bar; ; 则 Foo类的成员 bar是 ( A)公有数据成员 ( B)公有成员函数 ( C)私有数据成员 ( D)私有成员函数 23 在表达式 x-y中, “-”是作为非成员函数重载的运算符。若使用显式的函数调用代替直接使用运算符 “-”,这个表达式还可表示为 ( A) x.operator-(y) ( B) operator-(y,x) ( C) y.operator-(x) ( D) operator-(x,y) 24 已知在一个类体中包含如下函
9、数原型: VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是 ( A)这是运算符 -的重载运算符函数 ( B)这个函数所重载的运算符是一个一元运算符 ( C)这是一个成员函数 ( D)这个函数不改变类的任何数据成员的值 25 在公有派生的情况下,派生类中定义的成员函数只能访问原基类的 ( A)公有成员和私有成员 ( B)私有成员和保护成员 ( C)公有成员和保护成员 ( D)私有成员、保护成员和公有成员 26 有如下程序: #include iostream using namespace std; int main() cout.fill(*);
10、 cout.width(6); cout.fill(#); cout 123 end1; return 0; 执行后的输出结果是 ( A) #123 ( B) 123# ( C) *123 ( D) 123* 27 下列虚基类的声明中正确的是 ( A) class virtual B: public A ( B) virtual class B: public A ( C) class B: public A virtual ( D) class B: virtual public A 28 在一个类体的下列声明中,下确的纯虚函数声明星 ( A) virtual voidvf0:0; ( B)
11、 void vf(int)=0; ( C) virtual int vf(int); ( D) virtual void vf(int) 29 有如下程序: #include iostream using namespace std:class Testpublic: Test() n+=2; Test() n-=3; ; static int getNum() return n;privaue: static int n:;int Test:n=1;int main() Test* p=new Test; delete p; cout “n=“ Test:getNum() end1; ret
12、urn 0; 执行后的输出结果是 ( A) n=0 ( B) n=1 ( C) n=2 ( D) n=3 30 有以下程序: #include iostream using namespace std;class Apublic: A(int i,int j) a=1; b=j; void move (int x,int y) a+=x; b+=y; void show() cout a “,“ b end1 private: int a,b; ; class B : private A public: B(int i,int 3):A (i,j) void fun() move (3,5);
13、 void f1() A:show(); ; int main() B d(3,4); d.fun(); d.f1(); return 0; 程序执行后的输出结果是 ( A) 3,4 ( B) 6,8 ( C) 6,9 ( D) 4,3 31 有如下类声明: class XA int x; public: XA(int n)x=n; ; class XB:public XA int y; public: XB(int a, int b) ; ; 在构造函数 XB的下列定义中,正确的是 ( A) XB:XB(int a,int B) :x(A) ,y(B) ( B) XB:XB(int a,in
14、t B) :XA(A) ,y(B) ( C) XB:XB(int a,int B) :x(A) ,XB(B) ( D) XB:XB(int a,int B) :XA(A) ,XB(B) 32 如果表达式 y*x+中, “*”是作为成员函数重载的运算符, “+”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为 ( A) x.operator+(0).operator*(y); ( B) operator*(x.operator+(0),y); ( C) y.operator*(operator+(x,0) ( D) operator*(operator+(x,0),y) 3
15、3 在表达式 x+y*z中, +是作为成员函数重载的运算符, *是作为非成员函数重载的运算符。下列叙述中正确的是 , ( A) operator+有两个参数, operator*有两个参数 ( B) operator+有两个参数, operator*有一个参数 ( C) operator+有一个参数, operator*有两个参数 ( D) operator+有一个参数, operator*有一个参数 34 下面关于 C+流的叙述中,正确的是 ( A) cin是一个输入流对象 ( B)可以用 ifstream定义一个输出流对象 ( C)执行语句序列 char *y=“PQMN“; cout y
16、;将输出字符串 “PQMN“的地址 ( D)执行语句序列 char x80;cin.getline(x,80);时,若键入 Happy new year 则x中的字符串是 “Happy“ 35 有如下程序: #include 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+ rip_i-s.rep_i; top=s.top; Stack() deletere
17、p_; void poush (int a) rep_topj=a; top+; int pep() -top; return rep_top; bool isEmpty() cons5 return Top =0; private: int*rep_; unsigned size, top; ; int main() Stack s1; for(int i=1;i 5;i+) s1.push(i); Stack s2(s1); for(i=1;i 3;i+ couts2.pop() ,; s2.push(6); s1.push(7); while(!s2.isEmpty() cout s2.
18、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, 36 设一棵完全二叉树共有 700个结点,则在该二叉树中有 _个叶子结点。 37 在面向对象方法中,类之间共享属性和操作的机制称为 _。 38 在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为_。 39 如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体 “工人 ”与实体 “设备 ”之间存在 _关系。 40 问题处理方案的正确而完整的描述称为 _。 41 求 1 100的和,可写成
19、for(s=0,i=1;_;i+) s+=1的形式。 42 从实现的角度划分, C+所支持的两种多态性分别是 _时的多态性和运行时的多态性。 43 非成员函数只有在声明为类的 _才能防问这个类的所有 private成员。 44 在下面横线上填上适当的语句,完成程序。 #include iostream using namespace std; class Base int x; public: Base(int i) x=i; Base() ; class Derived : public Base public: _/完成类 Derive构造函数的定义 ; int main() Derive
20、d Obj; return 0; 在横线处应填入的语句是 _。 45 非成员函数应声明为类的 _函数才能访问这个类的 private成员。 46 在下面程序的横线处填上适当的 语句,使该程序的输出为 12。 #include iostream using namespace std; class Base public: int a; Base(int i) a=i; class Derived : public Base int a; public: Derived(int x) : Base(x),b(x+1) void show() _; /输出基类数据成员 a的值 cout b end
21、l; ; int main () Derived d(1); d.show(); return 0; 47 假定 A为一个类,则语句 A(A if (x y) a=x; x=y; y=a; if (y z) a=y; y=z; z=a; if (x y) a=x; x=y; y=a; 49 多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但 运算符只能作为类的 _函数重载。 50 下面是一个栈类的模板,其中 push函数将元素 i压入栈顶, pop函数弹出栈顶元素。栈初始为空, top值为 0,栈顶元素在 stacktop-1中,在下面横线处填上适当语句,完成栈类模板的定义。
22、template class T Class Tstack enumsize=1000; T stacksize; int top; public: Tstack():top(0) void push(const T T pop() if(top=0) exit(1); /栈空时终止运行 return _ ; ; 51 在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度 (不得使用系统提供的字符串处理函数 )。 int GetLen(char*str) if(_)return _; else return 1+GetLen(str+1); 国家二级( C+)笔试模
23、拟试卷 137答案与解析 1 【正确答案】 D 【试题解析】 算法的空间复杂度指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。正确答案为 D。 2 【正确答案】 D 【试题解析】 栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。在这种线性表的结构中,一端封闭;不允许插入与删除元素;另一端开口,允许插入与删除元素。在栈中不仅能插入数据,也能删除数据,选项 A与 B都错。栈是后进先出的线性表,而不是先进先出的线性表,选项 C的说法错误,选项 D正确。 3 【正确答案】 C 【试题解析】 二
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 137 答案 解析 DOC
