[计算机类试卷]国家二级(C++)笔试模拟试卷138及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷138及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷138及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 138及答案与解析 1 在长度为 n的有序线性表中进行二分查找,需要的比较次数为 ( A) log2n ( B) nlog2n ( C) n/2 ( D) (n+1)/2 2 下列数据结构中能应用二分查找的是 ( A)有序线性链表 ( B)有序顺序表 ( C)顺序存储的栈 ( D)顺序存储的队列 3 设有下列二叉树: 对此二叉树中序遍历的结果为 ( A) ABCDEF ( B) DBEAFC ( C) ABDECF ( D) DEBFCA 4 对建立良好的程序设计风格,下面描述正确 的是 ( A)程序应简单、清晰、可读性好 ( B)符号名的命名只要符合语法 (
2、C)充分考虑程序的执行效率 ( D)程序的注释可有可无 5 结构化程序设计的主要特点是 ( A)每个控制结构要模块化 ( B)每个控制结构具有封装性 ( C)每个控制结构具有独立性 ( D)每个控制结构只有一个入口和一个出口 6 下面不属于软件工程 3个要素的是 ( A)工具 ( B)过程 ( C)方法 ( D)环境 7 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数 据流图合法图符的是 ( A)控制流 ( B)加工 ( C)数据存储 ( D)源和潭 8 下列关于关系运算的叙述中正确的是 ( A)投影、选择、连接是从二维表的行的方向来进行运算
3、 ( B)并、交、差是从二维表的列的方向来进行运算 ( C)投影、选择、连接是从二维表的列的方向来进行运算 ( D)以上三种说法都不对 9 数据库设计包括两个方面的设计内容,它们是 ( A)概念设计和逻辑设计 ( B)模式设计和内模式设计 ( C)内模式设计和物理设计 ( D)结构特性设计和行为特性设计 10 下列叙述中正 确的是 ( A)实体集之间一对一的联系实际上就是一一对应的关系 ( B)关系模型只能处理实体集之间一对一的联系 ( C)关系模型属于格式化模型 ( D)以上三种说法都不对 11 关于面向对象的程序设计方法,下列说法正确的是 ( A) “封装性 ”指的是将不同类型的相关数据组
4、合在一起,作为一个整体进行处理 ( B) “多态性 ”指的是对象的状态会根据运行时要求自动变化 ( C)基类的私有成员在派生类的对象中不可访问,也不占内存空间 ( D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用 12 下列关于类和对象的叙述中,错误的是 ( A)一个类只能有一个对象 ( B)对象是类的具体实例 ( C)类是对某一类对象的抽象 ( D)类和对象的关系是一种数据类型与变量的关系 13 设有 a、 b、 c、 d、 m、 n均为血型变量,且 a=5、 b=6、 c=7、 d=8、 m=2、 n=2,则逻辑表达式 (m=a B) case 3: case 4: cout
5、2: break; default: cout 3: 时,若键盘输入 1,则屏幕显示 ( A) 1 ( B) 2 ( C) 3 ( D) 12 15 下列程序的输出结果是 #include iostream using namespace std; int main () char a = “Hello,World“: char*ptr = a; while (*ptr) if(*ptr = a else cout *ptr; ptr+; return 0; ( A) HELLO. WORLD ( B) Hello, World ( C) hELLO, wORLD ( D) hello, wo
6、rld 16 若执行语句: cout setfill(*) setw(10) 123 “OK“ end1后将输出 ( A) *123OK ( B) 123*OK ( C) *123*OK ( D) 123*OK* 17 C+语言中 while循环和 do-while循环的主要区别是 ( A) do-while的循环体至少无条件执行一次 ( B) while的循环控制条件比 do-while的循环控制条件严格 ( C) do-while允许从外部转到循环体内 ( D) do-while的循环体不能是复合语句 18 定义如下枚举类型: enumMonday, Tuesday, Wednesday,
7、 Thrusday, Friday=2;则下列语句正确的是 ( A)表达式 Wednesday=Friday的值是 true ( B) Day day; day=3; ( C) Day day; day=Monday+3; ( D) Day day; day=Tuesday+10; 19 有以下程序 #include iostream int i = 0; void fun( ) static int i = 1; std:cout i+ ,; std:cout i ,; int main() fun(); fun(); return 0; 程序执行后的输出结果是 ( A) 1,2,1,2,
8、( B) 1,2,2,3, ( C) 2,0,3,0, ( D) 1,0,2,0, 20 要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50, -88, 0和 0,则下列定义语句中错误的是 ( A) int vect =30,50,-88; ( B) int vect=30,50,-88,0,0; ( C) int veer5=30,50,-88; ( D) int vect5=30,50,-88,0,0; 21 函数定义为 Fun(int ( C) Fun(n); ( D) Fun( 22 有如下程序: #include iostream.h using na
9、mespace 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 23 下列关于 new运算符的描述中错误的是 ( A)使用运算符 new创建对象数组时必须定义初始值 (
10、 B)使用运算符 new创建对象时,会调用类的构造函数 ( C)运算符 new可以用来动态创建对象和对象数组 ( D)使用 new运算符创建的对象可以使用运算符 delete删除 24 有如下函数模板定义: template typename T1, typename T2 typename T3 T2 plus(T1 t1, T3 t3)return t1+t3; 则以下调用中正确是 ( A) plus(3,5L); ( B) plus (3,5L); ( C) plus int (3,5L); ( D) plus int, double (3,5L); 25 有如下函数模板定义: temp
11、late 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); 26 在 C+中用来实现运行时多态性的是 ( A)重载函数 ( B)析构函数 ( C)构造函数 ( D)虚函数 27 派生类的构造函数的成员初始化列表中,不能包含 ( A)基类的构造函数 ( B)派生类中子对象的初始化 ( C)基类的子对象初始化 ( D)派生类中一般数据成员的初始化 28 有以下程序: #incl
12、ude iostream using namespace std; class sample private: int n: public: sample () sample(int m) n=m; sample add(sample s1, sample s2) this- n=s1.n+s2.n; return (*this); void disp () cout “n=“ n end1; ; int main() sample s1(1)0,s2(5),s3; s3.add(s1,s2); s3.disp(); return 0; 程序运行后,输出的结果是 ( A) n=10 ( B)
13、n=5 ( C) n=20 ( D) n=15 29 已知类 Myst有一个只需要一个 double型参数的构造函数,且将运算符 “-”重载为 友元函数。要使语句序列 Myst x3.2), y(5.5), z (0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数 operator-应该在类中声明为, ( A) friend Myst operator- (Myst ( B) friend Myst operator-(Myst,Myst); ( C) friend Myst operator-(Myst,Myst ( D) friend Myst operator-(M
14、yst 30 下列对派生类的描述中,错误的是 ( A)一个派生类可以作为另一个派生类的基类 ( B)派生类至少有一个基类 ( C)派生类的成员除了它自己的成员外,还包含了它的基类的成员 ( D)派生类中继承的基类成员的访问权限到派生类中保持不变 31 在进行任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是 ( A) fail ( B) eof ( C) bad ( D) good 32 C+流中重载的运算符是一个 ( A)用于输出操 作的非成员函数 ( B)用于输入操作的非成员函数 ( C)用于输出操作的成员函数 ( D)用于输入操作
15、的成员函数 33 有以下类定义 class Point public: Pointint x = 0, int y=0) _x = x; _y = y; void Move int xoff, int yoff) _x +=xoff;_y+=yoff; void Print() const cout ( _x , _y ) end1; private: int_x,_y; ; 下列语句中会发生编译错误的是 ( A) Point pt;pt.Print(); ( B) const Point pt;pt.Print(); ( C) Point pt;pt.Move(1, 2); ( D) con
16、st Point pt;pt.Move(1, 2) 34 有以下程序 #include iostream using namespace std; static int days =31,28.31,30,31,30,31,31,30,31,30,31; class date private: int month, day, year: public: date (int m, int d, int y month = m; day = d; year = y; date void disp ) cout year “ - “ month “- “ dayend1; date operator
17、+(int day) date dt = *this: day += dt.day; while day days dt.month - 1 ) day -= tays dt.month - 1 ; if ( +dt.month = 13 dt.month = 1; dt.yeare+; dr. day = day; return dt; ; int main() date d1( 6, 20, 2004 ), d2; d2.= d1 + 20; d2.disp (); return 0; 执行后的输出结果是 ( A) 2004-7-10 ( B) 2004-6-20 ( C) 2004-7-
18、20 ( D)程序编译时出错 35 有以下程序 #include iostream using namespace std; class Complex public: Complex (double r=0, double i =0 :re(r) ,im (i) double real() const return re; double imag() const return im; Complex operator + (Complex c const return Complex(re+c.re, im+c.im); privane: double re,im; ; int main C
19、omplex a =Complex (1,1)+Complex(5); cout a.real() + a.imag() i endl return 0; 程序执行后的输出结果是 ( A) 6+6i ( B) 6+1i ( C) 1+6i ( D) 1+1i 36 在深度为 5的完全二叉树中,度为 2的结点数最多为 _。 37 在面向对象方法中, 属性与操作相似的一组对象称为 _。 38 诊断和改正程序中错误的工作通常称为 _。 39 在关系运算中, _运算是对两个具有公共属性的关系所进行的运算。 40 数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,所以,基
20、于逻辑结构的应用程序不必修改,称为 _。 41 写出执行完下列代码段之后指定变量的值: bool x=true, y=false, z=false; x=x cout _ setw(14) i couu end1 _ setw(14) i; 国家二级( C+)笔试模拟试卷 138答案与解析 1 【正确答案】 A 【试题解析】 在长度为 n的有序线性表中进行二分查找,需要的比较次数为log2n。选项 A正确。 2 【正确答案】 B 【 试题解析】 二分查找的具体过程为:将 x与线性表的中间项进行比较,若中间项的值等于 x,则说明查到,查找结束;若 x小于中间项的值,则在线性表的前半部分 (即中间
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 138 答案 解析 DOC
