1、国家二级( C+)笔试模拟试卷 16及答案与解析 1 下列选项中不属于软件生命周期开发阶段任务的是 ( )。 ( A)软件测试 ( B)概要设计 ( C)软件维护 ( D)详细设计 2 下列叙述中正确的是 ( )。 ( A)一个逻辑数据结构只能有一种存储结构 ( B)数据的逻辑结构属于线性结构,存储结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 ( D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 3 软件设计包括 软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。 ( A)模块间的关系 ( B)系统结构部
2、件转换成软件的过程描述 ( C)软件层次结构 ( D)软件开发过程 4 下列关于顺序存储结构叙述中错误的是 ( )。 ( A)存储密度大 ( B)逻辑上相邻的结点物理上不必邻 ( C)可以通过计算直接确定第 j个结点的存储地址 ( D)插入、删除运算操作不方便 5 ( )复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。 ( A)详细设计 ( B)系统设计 ( C)正式 ( D)非正式 6 下列叙述中正确的是 ( )。 ( A)黑箱 (盒 )测试方法完全不考虑程序的内部结构和内部特征 ( B)黑箱 (盒 )测试方法主要考虑程序的内部结构和内部特征 ( C)白箱 (盒 )测试不考虑程序
3、内部的逻辑结构 ( D)上述三种说法都不对 7 关于数据库系统三级模式的说法,下列 ( )是正确的。 ( A)外模式、概念模式、内模式都只有一个 ( B)外模式有多个,概念模式和内模式只有一个 ( C)外模式只有一个,概念模式和内模式有多个 ( D) 3个模式中,只有概念模式才是真正存在的 8 以下不使用线性结构表示实体之间联系的模型的是 ( )。 ( A)线性表 ( B)栈和队列 ( C)二叉树 ( D)以上三个都不是 9 具有 3个结点的二叉树有 ( )。 ( A) 2种形态 ( B) 4种形态 ( C) 7种形态 ( D) 5种形态 10 算法具有五个特性,以下选项中不属于算法特性的是
4、( )。 ( A)有穷性 ( B)简洁性 ( C)确定性 ( D)输入输出性 11 存在定义 int a10, x, *pa;,若 pa=unsigned long w=5;double x= 1.42,y=5.2;则以下符合 C+语言语法的表达式是 ( )。 ( A) a+=a-=(b=4)*(a=3) ( B) a=a*3+2 ( C) x%(-3) ( D) y=float i 22 关于 C+主函数特性,下列叙述正确的是 ( )。 ( A)主函数在同一个 C+文件中可以有两个 ( B)主函数类型必须是 void 类型 ( C)主函数一定有返 回值 ( D)每个 C什程序都必须有一个 m
5、ain()函数 23 下列运算符不能用友元函数重载的是 ( )。 ( A) + ( B) = ( C) * ( D) 24 在下面的类定义中,横线处应填入的内容是 ( )。 class Fred public: void print() cout data end1; void setData(double d)( data=d; static int count; private: double data; ; _ count=O; /静态数据成员的定义 ( A) int ( B) static int ( C) int Fred: ( D) static int Fred: 25 通过公有
6、派生类的对象,只能访问基类成员中的 ( )。 ( A)公有成员 ( B)私有成员 ( C)保护成员 ( D)公有成员和保护成员 26 下列关于虚基类的描述中,错误的是 ( )。 ( A)虚基类子对象的初始化由最派生类完成 ( B)虚基类子对象的初始化次数与虚基类下面的 派生类个数有关 ( C)设置虚基类的目的是消除二义性 ( D)带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数的调用 27 下列对重载函数的描述中, ( )是错误的。 ( A)重载函数中不允许使用默认参数 ( B)重载函数中编译是根据参数表进行选择 ( C)不要使用重载函数来描述毫无相干的函数 ( D)构
7、造函数重载将会给初始化带来多种方式 28 有如下类的定义。横线处的语句是 ( )。 class MyClasspublic:MyClass(int a=0,int b=0)X=a;Y=b;void Change()constX=10;Y+=10;private:_int X,Y; ( A) static ( B) const ( C) mutable ( D)不需要填入内容 29 下面程序的输出是 ( )。 #define N 3#define M(n) (N+1)*n)#include iostrearn.h void main() int z=2*(N+M(5+1); cout z end
8、1; ( A) 42 ( B) 48 ( C) 54 ( D)编译报错 30 已知在函数 func()中语句 this- ff=0;与语句 ff=0;的效果完全相同。对于这一现象,下列表述中错误的是 ( )。 ( A) ff是某个类的数据成员, func()是该类的友元函数 ( B) ff是某个类的数据成员, func()是该类的成员函数 ( C) this- ff和 ff是同一个变量 ( D) func 不是一个静态成员函数 31 在进行任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是 ( )。 ( A) fail ( B) eof
9、 ( C) bad ( D) good 32 有以下程序 #include iostream.h int f(int n)if(n=1 )return 1;else return f(n-1 )+ 1;void main() int i,j=0;for(i=1 ;i 3;i+) j+=f(i);cout j end1;程序 运行后的输出结果是 ( )。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 33 对定义重载函数的下列要求中, ( )是错误的。 ( A)要求参数的个数不同 ( B)要求参数中至少有一个类犁不同 ( C)要求参数个数相同时,参数类型不同 ( D)要求函数的返回值不
10、同 34 以下程序的执行结果是 ( )。 #nclude iostream.h template class T T max(T x, T y) retum(x y?x:y);void main() cout max(2,5) “, “ max(3.5,2.8) end1; ( A) 5,5.0 ( B) 3.8 ( C) 5,3.5 ( D) 3.5,5 35 有如下程序 :#include iostream #include iomanip using nanespace std;class CSum int x,y; public: CSum (int x0,int y0):x(x0),
11、y(y0) friend ostream return os; ;int main() CSum y(3,5); cout setfill(*) 8; cout y; return 0;执行上面程序的输出是 ( )。 ( A) 88 ( B) *88 ( C) *8*8 ( D) 8*8 36 汇编程序的功能是将汇编语言所编写的源程序翻译成 由【 】组成的目标程序。 37 在面向对象方法中,类之间共享属性和操作的机制称为【 】。 38 若按功能划分,软件测试的方法通常分为白盒测试方法和【 】测试方法。 39 数据的逻辑结构有线性结构【 】两大类。 40 【 】是一种信息隐蔽技术,目的在于将对象
12、的使用者和对象的设计者分开。 41 写出执行完下列代码段之后指定变量的值: boo1 x=true,y=false,z=false; x=x y=xy z=!(x!=y)(y=z), 则 x=false, y=false, z=【 】。 42 程序中有如下语句 for(int i=0;i 5;i+)cout *(p+i) “,“; 能够依次输出 int型一维数组 DATA的前 5个元素。由此可知,变量 p的定义及初始化语句是【 】。 43 已知 double var;是文件 F1.CPP中的一个全局变量定义,若文件 F2.CPP中的某个函数也需要访问,则在文件 F2 CPP中 var应说明为【
13、 】。 44 类继承中,缺省的继承方式是【 】。 45 设 有下定义的语句: int a32=10,20,30,40,50,60; int b32=10,20,30,40,50,60; 则 a11*b21=【 】。 46 有如下程序: #include iostream using namespace std; class ONE public: virtual void f() cout “1“; ; class TWO: public ONE public: TWO() cout “2“; ; class THREE: public TWO public: virtual void f()
14、 TWO:f(); cout “3“; ; int main() ONE aa, *p; TWO bb; THREE cc; p= P- f(); return 0; 执行上面程序 的输出是【 】。 47 有以下面程序: #include iostream using namespace std; long fib(int n) if (n 2) return (fib(n-1)+fib(n-2); else return 2; int main() cout fib(3) endl; return 0; 则该程序的输出结果应该是【 】。 48 若有以下定义及初始化语句: int i=100;
15、 int *ip=& i; int k=*ip; 并假设整型数 i的地址为 0x12345678,指针中的地址为 0x21000000,则 k的值为【 】。 49 带有【 】的类称为抽象类,它只能作为【 】来使用。 国家二级( C+)笔试模拟试卷 16答案与解析 1 【正确答案】 C 2 【正确答案】 D 3 【正确答案】 B 4 【正确答案】 B 5 【正确答案】 B 6 【正确答案】 A 7 【正确答案】 B 8 【正确答案】 C 9 【正确答案】 D 10 【正确答案】 B 11 【正确答案】 A 12 【正确答案】 B 13 【正确答案】 D 14 【正确答案】 C 15 【正确答案】
16、 D 16 【正确答案】 D 17 【正确答案】 C 18 【正确答案】 A 19 【正确答案】 D 20 【正确答案】 C 21 【正确答案】 A 22 【正确答案】 D 23 【正确答案】 B 24 【正确答案】 C 25 【正 确答案】 A 26 【正确答案】 B 27 【正确答案】 A 28 【正确答案】 C 29 【正确答案】 B 30 【正确答案】 A 31 【正确答案】 B 32 【正确答案】 B 33 【正确答案】 D 34 【正确答案】 C 35 【正确答案】 D 36 【正确答案】 机器语言 37 【正确答案】 分类性 38 【正确答案】 黑盒 (或黑箱 ) 39 【正确答案】 非线性结构 40 【正确答案】 封装 41 【正确答案】 真 42 【正确答 案】 int*p=DATA; 43 【正确答案】 外部变量 44 【正确答案】 私有继承 45 【正确答案】 2400 46 【正确答案】 2213 47 【正确答案】 4 48 【正确答案】 100 49 【正确答案】 纯虚函数 基类