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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)机试模拟试卷 112及答案与解析 一、选择题 1 有如下程序: #include using namespace std; int main() int *p; *p = 9; cout #include using namespace std; class MyBag public: MyBag(string br=“ABC“):brand(br) cout using namespace std; void fun(int i) cout using namespace std; class AA char c; public: AA():c(X) AA(char ch)

2、:c(ch) AA(AA 若执行函数调用表达式 P(1.3,2),函数 P被调用的次数是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 17 若目前 E盘根目录下不存在 data.txt文件,则下列打开文件方式不会自动创建data.txt文件的是 ( A) ifstreamfin;fin.open(“e:data.txt“,ios_base:in); ( B) fstreamfio;fio.open(“e:data.txt“,ios_base:out); ( C) ofstreamfout;fout.open(“e:data.txt“,ios_base:out); ( D) ofst

3、reamfout;fout.open(“e:data.txt“,ios_base:app); 18 若有函数原型声明为 “voidfun(int*x,int“,下列叙述中,错误的是 ( A)调用函数 fun时必须给出个实参 ( B)函数 fun中有 1个指针形参 ( C)函数 fun中有 1个形参有默认值 ( D)函数 fun中有 1个引用形参 19 有如下类定义: class Pet char name30; public: Pet(char * n) strcpy(name, n); void bark() coutbark() ( D) ( 则数值为 9的表达式是 ( )。 ( A) *

4、p+9 ( B) *(p+8) ( C) *p+=9 ( D) p+8 21 有如下类定义: class AA int a; Public: AA(int n=0):a(n) ; class BB :public AA public: BB(int n)_ ; 其中横线处的缺失部分是 ( )。 ( A) :a(n) ( B) :AA(n) ( C) a(n); ( D) a=n; 22 在软件开发中,需求分析阶段产生的主要文档是 ( )。 ( A)软件集成测试计划 ( B)软件详细设计说明书 ( C)用户手册 ( D)软件需求规格说明书 23 已知函数 f 的原型为 void f(int 变量

5、 x、 y的定义是 int x; double y; 则下列调用该函数的语句中正确的是 ( A) f(x, ( B) f(x,y); ( C) f( ( D) f( 24 下列关于函数模板的叙述中,错误的是 ( A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准 ( B)对于常规参数所对应的模板实参,任何情况下都不能省略 ( C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参 ( D)模板实参表不能为空 25 若 x和 y是程序中的两个整型变量,则下列 if语句中正确的是 ( A) if(x!=0)y=1;elsey=2; ( B) if(x!=0)y=1el

6、sey=2; ( C) if(x!=0)theny=1elsey=2; ( D) ifx!=0y=1;elsey=2; 26 有如下类定义: class Cup public: void SetPrice(double val=5.8); double GetPrice() return price; double GetPrice() const return price; private: double price; ; void Cup:SetPrice(double val) price=val; 下列关于类中成员函数的叙述中,错误的是 ( A)成员函数 SetPrice不是内联函数

7、( B)成员函数 SetPrice的形参 val具有默认值 ( C)成员函数 GetPrice可以重载 ( D)类中没有对成员函数 GetPrice进行重载 27 对长度为 n的线性表作快速排序,在最坏情况下,比较次数为 ( A) n ( B) n-1 ( C) n(n-1) ( D) n(n-1)/2 28 有如下函数定义: void swap(int a, int a=b; b=c; 若执行语句序列 int x = 0, y = 1; swap(x, y); 则变量 x和 y的值分别是 ( A) 0和 0 ( B) 0和 1 ( C) 1和 0 ( D) 1和 1 29 有如下类声明和函数

8、声明 class Base int m; public: int n; protected: int p; ; class Derived: public Base public: int k; ; void f(Derived d); 则在函数 f中通过 d可访问的数据成员包括 ( A) n ( B) n和 k ( C) n、 k和 p ( D) n、 k、 p和 m 30 有如下程序: #include using namespace std; void fun(int i) cout using namespace std; class Base int m; public: Base(

9、) cout double 由此可知 ( )。 ( A)这可能是一个函数模板的声明 ( B)这可能是一个类模板的声明 ( C)这既可能是一个函数模板的声明,也可能是一个类模板的声明 ( D)这肯定是一个错误的模板声明 37 下列关于运算符重载的叙述中正确的是 ( A)跟普通函数一样,可以为重载的运算符函数的参数设置默 认值 ( B)通过重载,可以改变一个运算符原有的优先级和操作数个数 ( C)只能重载 C+中已经有的运算符,不能定义新运算符 ( D) C+中已有的运算符都可以重载 38 下列关于模板形参的叙述中,错误的是 ( A)模板形参表必须在关键字 template之后 ( B)模板形参表

10、必须用括弧 ()括起来 ( C)可以用 class修饰模板形参 ( D)可以用 typename修饰模板形参 39 下列因素中,对 C+编译器区分重载函数无任何意义的是 ( A)返回值类型 ( B)常成员函数关键字 const ( C)参数类型 ( D)参数个数 40 有如下类定义: class Point public: void SetX(int xx) x=xx; void SetY(int yy) y=yy; private: int x,y; ; class Circle:public Point public: int GetRadius() return radius; priv

11、ate: void SetRadius(int r) radius=r; int radius; friend void show(); ; 在派生类 Circle中函数 show()可访问的成员的个数为 ( A) 1 ( B) 3 ( C) 5 ( D) 7 二、基本操作题 41 请使用 VC6或使用【答题】菜单打开考生文件夹 pmjl下的工程 pmjl。 此工程定义了 StopWatch(秒表 )类,用于表示时、分、秒信息,有构造函数 StopWatch()、设置时间函数 reset(),并且重载了前置和后置 +运算符,实现增加 1秒的功能。 程序中位于每个 “ ERROR*found*”

12、之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: 00: 00: 00 00: 01: 00 注意:只修改每个 “ ERROR*found*”下的那一行,不要改动程序中的其他内容。 #include #include usingnamespacestd; classStopWatch “秒表 “类 inthours;小时 intminutes;分钟 intseconds;秒 public: StopWatch(): hours(0), minutes(0), seconds(0) voidreset()fhours=minutes=seconds=0; StopWatchoper

13、ator+(int)后置 + StopWatchold=*this; +(*this); returnold; 前进一秒 StopWatch (3)show(+sw); 【试题解析】 (1)主要考查考生对 +运算符的掌握 ,结合程序可知 ,应先使 seconds加 1,再判断是否需要进位 ,因此为 +second。 (2)主要考查考生对 this指针的掌握 ,应返回 this指针指向的类。 (3)主要考查考生对 +运算符的掌握 ,判断 sw是要先取值再自加 1还是先自加 1再取值。 三、简单应用题 42 【正确答案】 (1)name (2)n = p.birth_date.getMonth()

14、 - birth_date.getMonth(); (3)(is_male ? “男 “ : “女 “ ) (4)psm; 【试题解析】 (1)主要考查考生对 strcpy 函数的掌握 ,strcpy函数的功能是复制字符串 ,其格式为 :sercpy(字符串 1,字符串 2);。 (2)主要考查考生对成员函数的掌握 ,函数功能是比较两个人的年龄 ,返回正数、 0 或负数分别表示大于、等于和小于。前面语句比较了年份 ,因此这里应该比较月份。 (3)主要考查考生对成员函数的掌握 ,程序 要求显示性别 (“男 “或 “女 “,双引号内不含空格 ),因此这里要进行判断 ,使用三目运算符 ? :完成语句

15、。 (4)这里是一个变量交换操作 ,使用中间变量 p交换 psm和 psi的值。 四、综合应用题 43 【正确答案】 (1)point1(p1), point2(p2), point3(p3) (2):perimeter()const (3)(this-perimeter()/2 【试题解析】 (1)主要考查考生对构造函数的掌握 ,使用成员列表初始化。 (2)主要考查考生对成员函数的掌 握 ,根据类的定义中对该函数的声明 :double perimeter()const,可知返回类型为 double 型。 (3)主要考查考生对成员函数调用的掌握 ,程序要求使用 perimeter函数 ,因此这里直接调用 perimerter函数即可。

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