ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:82KB ,
资源ID:502702      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-502702.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级(C++)笔试模拟试卷239及答案与解析.doc)为本站会员(Iclinic170)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级(C++)笔试模拟试卷239及答案与解析.doc

1、国家二级( C+)笔试模拟试卷 239及答案与解析 1 结构化程序设计主要强调的是 ( )。 ( A)程序的规模 ( B)程序的效率 ( C)程序设计语言的先进性 ( D)程序的易读性 2 数据库 DB、数据库系统: DBS、数据库管理系统 DBMS之间的关系是( )。 ( A) DB包括 DBS和 DBMS ( B) DBMS包括。 DB和 DBS ( C) DBS包括 DB和 DBMS ( D)没有任何关系 3 假定 MyClass为一个类,则该类的拷贝构造函数的声明语句为 ( ) ( A) MyClass(MyClass x); ( B) MyClass(MyClass class A

2、private: int a; public: A(int i) a=i; void disp () cout a “,“; ; class B private: int b; public: B(int j) b=j; void disp () cout b “,“; ; class C : public B,public A private: int c; public: C(int k):A(k-2),B(k+2) c=k; void disp () A:disp(); B:disp(); cout c endl; ; int main() C obj(10); obj.disp();

3、return 0; ( A) 10,10,10 ( B) 10,12,14 ( C) 8,10,12 ( D) 8,12,10 13 若运行时给变量 x输入 12,则以下程序的运行结果是 #include iostream.h void main() int x,y; cin x; y X 12?x+10: x-12; cout y; cout endl; ( A) 0 ( B) 22 ( C) 12 ( D) 10 14 有关构造函数的说法中错误的是 ( A)构造函数名字和类的名字一样 ( B)构造函数在说明类变量时自动执行 ( C)构造函数无任何函数类型 ( D)构造函数有且只有一个 15

4、 语句 ofstream f(“SALARY. DAT“, ios: :app | ios: :binary) ;的功能是建立流对象f,试图打开文件 SALARY.DAT并与之连接,并且 ( A)若文件存在,将文件写指针定位于文件尾 ;若文件不存在,建立一个新文件 ( B)若文件存在,将其置为空文件 ;若文件不存在,打开失败 ( C)若文件存在,将文件写指针定位于文件首 ;若文件不存在,建立一个新文件 ( D)若文件存在,打开失败 ;若文件不存在,建立一个新文件 16 有如下函数模板定义: template typename T1, Typename T2 T1 Fun(T2 n)return

5、 n*5.0; 若要求以 int型数据 9作为函数实参调用该模板,并返回一个 double型数据,则该调用应表示为 ( )。 A) FUN(9) B) FUN 9 C) FUN double 9 D) FUN 9 (doubl 17 一个类的友元函数或友元类可以访问该类的 ( )。 ( A)私有成员 ( B)所有成员 ( C)保护成员 ( D)公有成员 18 有如下程序: #include iostream using namespace std;class Base public: Base()cout “BB“; f(); Void f()cout “Bf“; ;class Derived

6、: public Base public: Derived() cout “DD“; void f() cout “Df“; ;int main() Derived d; return 0; 执行上面的程序将输出 ( )。 ( A) BBBfDD ( B) BBDfDDDf ( C) DD ( D) DDBBBf 19 下列关于类中成员函数特征的描述中错误的是 ( )。 ( A)类的成员函数一定是内联函数 ( B)类的成员函数可以重载 ( C)成员函数可以设置参数的默认值 ( D)成员函数可以是静态的 20 下面程序的结果为 ( )。 #include iostream.h void chan

7、ge(int a, int b) int temp; temp=a; a=b; b=temp; void main() int m,n; m=8; n=9; change(m,n); cout m “ n endl; ( A) 89 ( B) 98 ( C)程序有错 误 ( D) 99 21 在下面程序中,编译时出现错误的是 _。 Class A /(1) public: /(2) A() f(); /(3) void B() f(); virtual void f()const=0; /(4) ; ( A) -1 ( B) -2 ( C) -3 ( D) -4 22 下列关于运算符重载的描述

8、中,正确的是 _ 。 ( A)运算符重载可以改变操作数的个数 ( B)运算符重载可以改变运算符的优先级 ( C)运算符重载可以改变运算符的结合性 ( D)运算符重载可以使运算符实现特殊功能 23 以下程序中调用 cin函数给变量 a输人数值的方法是错误的,其错误原因是 #include iostream h void main() int*p, *q, a, b; p=i 5;i+)cout *(p+i) “,“;能够依次输出int型一维数组 a的前 5个元素。由此可知,变量 P的定义及初始化语句是 ( )。 ( A) int *p=a; ( B) int p=a; ( C) *p=a; (

9、D) p=a; 32 有如下的运算符重载函数定义: double operator+(int i,int k)return double(i+k);但定义有错误,对这个错误最准确的描述是 ( )。 ( A) #NAME? ( B)两个 int型参数的和也应该是 int型,而这里将 +的返回类型声明为 double ( C)没有将运算符重载函数声明为某个类的友元 ( D) C+已经提供了求两个 int型数据之和的运算符 +,不能再定义同样的运算符 33 下列有关类和对象的叙述不正确的是 ( A) 任何一个对象都归属于一个具体的类 ( B)类与对象的关系和数据类型与变量的关系相似 ( C)类的数据

10、成员不允许是另一个类的对象 ( D)一个类可以被实例化成多个对象 34 在表达式 x+y*z中, +是作为成员函数重载的运算符, *是作为非成员的函数重载的运算符。下列叙述中正确的是 ( A) operator+有两个参数, operator*有两个参数 ( B) operator+有两个参数, operator*有一个参数 ( C) operator+有一个参数, operator*有两个参数 ( D) operator+有一个参数, operator*有一个参数 35 若有如下类声明 class MyClasspublic: MyClass()cout 1; ;执行下列语句 MyClass

11、 a, b2, *p2;以后,程序的输出结果是 ( A) 11 ( B) 111 ( C) 1111 ( D) 11111 36 37 若有定义语句 :int x=3,y=2,z=1;则表达式 x y?x:y的值是 _。 38 为了克服软件危机提出了【 】概念。 39 队列是限定在表的 一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作 _。 40 在一个容量为 25的循环队列中,若头指针 front 15,尾指针 rear=6,则该循环队列中共有【 】个元素。 41 对基类数据成员的初始化必须派生类的构造函数中的 _处执行。 42 根据程序中的注释将下列缺失部分补充完整。 cla

12、ss A char*a; public: A(): a(0) A(char*aa) 把 aa所指字符串复制给 a所 指向的存储空间 a= 【 】 charstrlen(aa)+1; strcpy(a, aa); A()deletea; 43 下列程序的输出结果是【 】。 #include iostream. h void main() double d=3.2; int x, y; x=1.2; y=(x+ 3.8)/5.0; cout y*d end1; 44 在析构函数中调用虚函数时,采用【 】联编。 45 以下程序的执行结果 是【 】。 #include iostream using n

13、amespace std; class base public: virmal void who()cout “Base Class“ endl; ) ; class Derivedl:public Base public: virtual void who()cout “Derivedl Class“ endl; ; class derived2:public Base public: virtual void who()cout “Derived2 Class“ endl; ) ; int main(int argc, char*argv) base obj1, *P; deliVedl

14、obj2; derived2 obj3; p=。 32 【正确答案】 D 【试题解析】 此题考查的是运算符的重载。 c+语言规定,不能作为非成员函数重载的运算符有 =、 、 ()、 -以及所有的类型转换运算符,故选项 A)错误;运算符重载对返回值类型没有限制,故选项 B)错误; C+并不强制要求非成员重载的运算符一定是某个类的友元,所以选项 C)错误:题目中 重载的 “+”运算符的两个参数都是 int类型,而 C+已经提供了求两个血型数据之和的运算符 +,编译器无法区分应该调用哪一个,所以应该选择选项 D)。 33 【正确答案】 C 【试题解析】 对象是类的实例,类的成员可以是其他类的对象,那

15、么在该类实例化的时候,必须保证其他类的对象已经生成,否则将会出现错误。 34 【正确答案】 C 【试题解析】 本题考查运算符重载。运算符可重载为成员函数,也可重载为友元函数。当重载为成元函数时,运算符重载函数的形参个数要比运算符操作数的个数少一个,当重载为友元函 数时,其参数个数应与操作数个数相同。 35 【正确答案】 B 【试题解析】 本题考查的知识点是:对象的构造。本题一共声明了 1个 MyClass对象 a, 1个包含 2个 MyClass对象的数组 b和 1个包含 2个 MyClass 对象指针的数组 p。所以一共创建了 3个 MyClass类的对象 (声明对象指针时并不会创建对象 )

16、,即调用了 3次构造函数。故本题应该选择 B。 36 【正确答案】 4, 5 37 【正确答案】 2 38 【正确答案】 软件工程 【试题解析】 软件工程的出现是由于软件危机的出现。 39 【正确答案】 队尾 【试题解析】 在队列中,允许插入的一端叫做 “队尾 ”,允许删除的一端叫做 “队头 ”。 40 【正确答案】 16 【试题解析】 设循环队列的容量为 m 如果 rear front则循环队列中的元素个数为 rear-front; 如果 rear front,则循环队列中的元素个数为 m+(rear-front)。 在本题中, front=15, rear=6,即 rear front,因

17、此,循环队列中的元素个数为 m+(rear-front) 25+(6-15)=16。 41 【正确答案】 成员初始化列表 【试题解析】 C+语言规定对基类数据成员的初始化必须在派生类的构造函数中的成员初始化列表中进行。 42 【正确答案】 new 【试题解析】 本题主要考查对动态存储分配的掌握。要将字符串复制给 a所指向的内存空间,需先给指针 a动态分配内存空间,故使用运算符 new。 43 【正确答案】 0 44 【正确答案】 静态 45 【正确答案】 Base Class Derivedl Class Derived2 Class 46 【正确答案】 函数名 【试题解析】 重载函数的函数名

18、应和原函数一致。注意:重载函数的方式方法,重载函数的参数,重载函数的返回值。 47 【正确答案】 编译 【试题解析】 C+语言是以编译方式实现的高级语言, C+语言程序的实现,必须要使用某种 C+语言的编译器对程序进行编译。 48 【正确答案】 基类或父类 【试题解析】 本题考查的知识点是:继承与派生的基本概念。用来派生新类的类称为基类,而派生出的新类称为它的子类或派生类。故本题应该填基类或父类。 49 【正确答案】 指针 【试题解析】 如果一个数组中的每个元素均为指针类型,即由指针变量构成的数组,这种数组称之为指针数组,它是指针的集合。 50 【正确答案】 类的静态 【试题解析】 类的非静态成员属于类的实例所有,每创建一个类的实例都在内存中为非静态成员开辟了一块区域。而类的静态成员属于类所有,为这个类的所有实例所共享。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1