[计算机类试卷]国家二级(C++)机试模拟试卷160及答案与解析.doc
《[计算机类试卷]国家二级(C++)机试模拟试卷160及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)机试模拟试卷160及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)机试模拟试卷 160及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 ( B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 ( C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 ( D)线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性 2 下列叙述中正确的是 ( )。 ( A)栈是一种先进先出的线性表 ( B)队列是一种后进先出的线性表 ( C)栈与队列都 是非线性结构 ( D)以上三种说法都不对 3 软件测试的目的是 ( )。 ( A)评估软件可靠性 (
2、B)发现并改正程序中的错误 ( C)改正程序中的错误 ( D)发现程序中的错误 4 在软件开发中,需求分析阶段产生的主要文档是 ( )。 ( A)软件集成测试计划 ( B)软件详细设计说明书 ( C)用户手册 ( D)软件需求规格说明书 5 软件生命周期是指 ( )。 ( A)软件产品从提出、实现、使用维护到停止使用退役的过程 ( B)软件从需求分析、设计、实现到测试完成的过程 ( C)软件的开发过程 ( D)软件的运行维护过程 6 面向对象方法中,继承是指 ( )。 ( A)一组对象所具有的相似性质 ( B)一个对象具有另一个对象的性质 ( C)各对象之间的共同性质 ( D)类之间共享属性和
3、操作的机制 7 层次型、网状型和关系型数据库划分原则是 ( )。 ( A)记录长度 ( B)文件的大小 ( C)联系的复杂程度 ( D)数据之间的联系方式 8 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是 ( )。 ( A)一对一 ( B)一对多 ( C)多对多 ( D)多对一 9 数据库设计中反映用户对数据要求的模式是 ( )。 ( A)内模式 ( B)概念模式 ( C)外模式 ( D)设计模式 10 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)差 ( C)交 ( D)并
4、11 下列符号中能够作为 C+标识符的是 ( )。 ( A) const ( B) 2a ( C) _shape ( D) -count 12 已知枚举类型声明语句为: enum COLORWHITE, YELLOW, GREEN=5, RED, BLACK=10; 则下列说法中错误的是 ( )。 ( A)枚举常量 YELLOW的值为 1 ( B)枚举常量 RED的值为 6 ( C)枚举常量 BLACK的值为 10 ( D)枚举常量 WHITE的值为 1 13 执行下列语句段后,输出字符 “*”的个数是 ( )。 for(int i=50; i 1; i-=2) cout *; ( A) 24
5、 ( B) 25 ( C) 26 ( D) 50 14 有如下定义: int a5=1, 3, 5, 7, 9, *p=a; 下列表达式中不能得到数值 5的是 ( )。 ( A) a2 ( B) a3 ( C) *(p+2) ( D) *p+4 15 下列语句中错误的是 ( )。 ( A) const int a; ( B) const int a=10; ( C) const int*point=0; ( D) const int*point=new int(10); 16 已知函数 FA调用函数 FB,若要把这两个函数定义在同一个文件中,则 ( )。 ( A) FA必须定义在 FB之前 (
6、 B) FB必须定义在 FA之前 ( C)若 FA定义在 FB之后,则 FA的原型必须出现在 FB的定义之前 ( D)若 FB定义在 FA之后,则 FB的原型必须出现在 FA的定义之前 17 下列关于运算符函数的描述中,错误的是 ( )。 ( A)运算符函数的名称总是以 operator为前缀 ( B)运算符函数的参数可以是对象 ( C)运算符函数只能定义为类的成员函数 ( D)在表达式中使用重载的运算符相当于调用运算符重载函数 18 为了提高函数调用的实际运行速度,可以将较简单的函数定义为 ( )。 ( A)内联函数 ( B)重载函 数 ( C)递归函数 ( D)函数模板 19 若要对 Da
7、ta类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。 ( A) Data+(Data); ( B) Data operator+(Data); ( C) Data+operator(Data); ( D) operator+(Data, Data); 20 已知函数 f的原型是 void f(int*a, long&b);,变量 v1、 v2的定义是: int v1; long v2; 下列调用语句中正确的是 ( )。 ( A) f(v1, &v2); ( B) f(v1, v2); ( C) f(&v1, &v2); ( D) f(&v1, v2); 21 已知 Value是
8、一个类, value是 Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是 ( )。 ( A) Value operator+(Value v, int i); ( B) Value operator+(Value v=value, int i); ( C) Value operator+(Value v, int i=0); ( D) Value operator+(Value v=value, int i=0); 22 下列关于运算符重载的描述中,正确的是 ( )。 ( A)运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符 ( B)一元运算符只能作为成员
9、函数重载 ( C)二元运算符重载为非成员函数时,参数表中有一个参数 ( D) C+中可以重载所有的运算符 23 下列有关类成员的叙述中,正确的足 ( )。 ( A)友元函数是类的成员函数 ( B)类成员的默认访问权限是私有的 ( C)类成员函数必须声明为公有的 ( D)类的静态数据成员不能是常成员 24 有如下类定义: class Point private: static int how_many; ; _how_many=0; 要初始化 Point类的静态成员 how_many,下画线处应填入的内容是 ( )。 ( A) int ( B) static int ( C) int Point
10、: ( D) static int Point: 25 有如下头文件: int f1(); static int f2(); class MA public: int f3(); static int f4(); ; 在所描述的函数中,具有隐含的 this指针的是 ( )。 ( A) f1 ( B) f2 ( C) f3 ( D) f4 26 下列有关类继承的叙述中,错误的是 ( )。 ( A)继承可以实现软件复用 ( B)虚基类可以解决由多继承产生的二义性问题 ( C)派生类构造函数要负责调用基类的构造函数 ( D)派生类没有继承基类的私有成员 27 在下列关键字中,不能用来表示继承方式的是
11、 ( )。 ( A) private ( B) static ( C) public ( D) protected 28 有如下两个类定义: class XX private: double x1; protected: double x2; public: double x3; ; class YY: protected XX private: double y1; protected: double y2; public: double y3; ; 在类 YY中保护成员变鼍的个数是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 29 有如下类定义: class MyCl
12、ass int vallie; public: MyClass(int n): value(n) int getValue()constreturn value; ; 则类 MyClass的构造函数的个数是 ( )。 ( A) 1个 ( B) 2个 ( C) 3个 ( D) 4个 30 有如下类和对象的定义: class Constants public: static double getPI()return3 1416; ; Constants constants; 下列各 组语句中,能输出 3 1416的是 ( )。 ( A) cout constants- getPI();和 cout
13、 Constants: getPI(); ( B) cout constants getPI();和 cout Constants getPI(); ( C) cout constants- getPI();和 cout Constants- getPI(); ( D) cout constants getPI();和 cout Constants: getPI(); 31 有如下程序: #include iostream using namespace std; class VAC public: int f()constreturn3; int f()return5; ; int main
14、() VAC v1; const VAC v2; cout v1 f() v2 f(); return0; 执行这个程序的输出结果是 ( )。 ( A) 53 ( B) 35 ( C) 55 ( D) 33 32 有如下程序: #include instream using ntirnespace std; class MyClass public: MyClass(int i=0)cout 1; MyClass(const MyClass&x)cout 2; MyClass&operator=(const MyClass&x)tout 3; return*this; MyClass()cou
15、t 4; ; int main() MyClass obj1(1), obj2(2), obj3(obj1); return0; 执行这个程序的输出结果是 ( )。 ( A) 112444 ( B) 11114444 ( C) 121444 ( D) 11314444 33 有如下类声明: class Base protected: int amount; public: Base(int n=0): mount(n) int getAmount()constreturn mount; ; class Derived: public Base protected: int value; pub
16、lic: Derived(int m, int n): value(m), Base(n) int getData()constreturn value+amount; ; 已知 x是一个 Derived对象,则下列表达式中正确的是 ( )。 ( A) x value+x getAmount() ( B) x getData()-x getAmount() ( C) x getData()-x amount ( D) x value+x amount 34 有如下程序: #include iostream using namespace std; class AA int k; protect
17、ed: int n; void setK(int k)this- k=k; public: void setN(intn)this- n=n; ; class BB: public AA *类体略 * ; int main() BB x; x n=1: 1 x setN(2); 2 x k=3: 3 x setK(4); 4 return0; 在标注号码的四条语句中正确的是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 35 有如下程序: #include iostream using namespace std; class Base int x; public: Bas
18、e(int n=0): x(n)cout n; int getX()constreturn x; ; class Derived: public Base int y; public: Derived(int m, int n): y(m), Base(n)tout m; Derived(int m): y(m)cout m; ; int main() Derived d1(3), d2(5, 7); return0; 执行这个程序的输出结果是 ( )。 ( A) 375 ( B) 357 ( C) 0375 ( D) 0357 36 有如下程序: #include iostream usin
19、g namespace std; class GA public: drtual int f()return1; ; class GB: public GA public: virtual int f()return2; ; void show(GA g)cout g f(); void display(GA &g)cout g f(); int main() GA a; show(a); display(a); GB b; show(b); display(b); return0; 执行这个程序的输出结果是 ( )。 ( A) 1111 ( B) 1211 ( C) 1112 ( D) 12
20、12 37 下列有关模板的叙述中,正确的是 ( )。 ( A)函数模板不能含有常规形参 ( B)函数模板的一个实例就是一个函数定义 ( C)类模板的成员函数不能是模板函数 ( D)用类模板定义对象时,绝对不能省略模板实参 38 下面是一个模板声明的开始部分: template typename T double 由此可知 ( )。 ( A)这可能是一个函数模板的声明 ( B)这可能是一个类模板的声明 ( C)这既可能是一个函数模板的声明,也可能是一个类模板的声明 ( D)这肯定是一个错误的模板声明 39 C+系统预定义了 4个用于标准数据流的对象,下列选项中不属于此类对象的是 ( )。 ( A
21、) cout ( B) cin ( C) CelT ( D) cset 40 下列语句都是程序运行时的第 1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是 ( )。 ( A) cout internal 12345; ( B) cout left 12345: ( C) cout right 12345; ( D) cout setw(6) 12345; 二、基本操作题 41 使用 VC6打开考生文件夹 proj1下的工程 proj1,其中定义了一个 CD类。程序中位于每个 ERROR*found*下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是:
22、歌唱祖国 30 义勇军进行曲 95 注意:只能修改每个 ERROR*found*下的那一行,不要改动程序中的其他内容。 #include iostream #include cstring using namespace std; class CD char name20; int number; public: void init(char*aa, int bb) ERROR*found* name=an; number=bb; char*getName() ERROR*found* return*name; int getNumber()return number; void output
23、() ERROR*found* cout name20 number endl; ; void main() CD dx, dy; dx init(“歌唱祖国 “, 30); dy init(“义勇军进行曲 “, 3*dx getNumber()+5); dx output(); dy output(); 三、简单应用题 42 请使用 VC6或使用【答题】菜单打开考生文件夹 proj2下的工程 proj2,此工程包含有一个源程序文件 proj2 cpp,其中定义了 Stack类和 ArrayStack类。 stack是一个用于表示数据结构 “栈 ”的类,栈中的元素是字符型数据。 Stack为抽
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 模拟 160 答案 解析 DOC
