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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】国家二级(C++)机试-试卷1-1及答案解析.doc

1、国家二级(C+)机试-试卷 1-1 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.在软件开发中,需求分析阶段可以使用的工具是( )。(分数:2.00)A.NS 图B.DFD 图C.PAD 图D.程序流程图2.有如下函数定义:void func(int a, int b+; 若执行代码段:int x = 0, y = 1;func(x, y);则变量 x 和 y 的值分别是( )。(分数:2.00)A.0 和 1B.1 和 1C.0 和 2D.1 和 23.下列代码段中声明了 3 个类:class Person ;class Student

2、: public Person ;class Undergraduate : Student ;下列关于这些类之间关系的描述中,错误的是( )。(分数:2.00)A.类 Person 是类 Undergraduate 的基类B.类 Undergraduate 从类 Student 公有继承C.类 Student 是类 Person 的派生类D.类 Undergraduate 是类 Person 的派生类4.数据库系统的三级模式不包括( )。(分数:2.00)A.概念模式B.内模式C.外模式D.数据模式5.计算数列第 n 项的函数定义如下: int a(int n) if (n = 0) ret

3、urn 0; else if (n = 1) return 1; else if (n = 2) return 2; else return a(n-1)+a(n-3); 若执行函数调用表达式 a(4),函数 a 被调用的次数是(分数:2.00)A.3B.4C.5D.66.有如下程序: #include #include using namespace std; class Instrument public: Instrument(string t=“乐器“,string n=“无名“):type(t),name(n) virtual string GetType() const retur

4、n “乐器“; string GetName() const return “无名“; protected: string type,name; ; class Piano:public Instrument public: Piano(string n,string t=“钢琴“):Instrument(t,n) string GetType() const return “钢琴“; string GetName() const return name; ; int main() Instrument *pi=new Piano(“星空“); coutname,name); (2)PetTy

5、pe getType() const return type; (3)return “an unknown animal“;)解析:解析:(1)主要考查字符串复制函数 strcpy(),其格式为:strcpy(字符串 1,字符串 2)或 strcpy(指向字符串 1 的指针,指向字符串 2 的指针),功能是将字符串 2 拷贝到字符串 1 中,本题使用第二种格式。 (2)主要考查考生对成员函数的掌握,根据私有成员的定义类型 PetType type,可知要返回的是 type。 (3)主要考查考生对 switch 语句的掌握,当在 switch 语句体中找不到相应的字段时,跳出 switch 语句

6、,程序返回“an unkown animal“。三、简单应用题(总题数:1,分数:2.00)42.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj2 下的工程 proj2,此工程中含有一个源程序文件 proj2cpp,其中定义了 MyString 类。MyString 是一个用于表示字符串的类,其构造函数负责动态分配一个字符数组,并将形参指向的字符串复制到该数组中;成员函数 reverse 的功能是对字符串进行反转操作,例如,字符串“ABCDE”经过反转操作后,会变为“EDCBA”;成员函数 print 的作用是将字符串输出到屏幕上。请在横线处填写适当的代码并删除横线,以实现 MyS

7、tring 类的功能。此程序的正确输出结果应为:Beforereverse:abcdeAfterreverse:Chagfed 注意:只在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。proj2cpp#includeiostreamusingnamespacestd;classMyStringpublic:MyString(constchar*s)*found*mstr=newchar_;strcpy(m_str,s);MyString()*found*_;?voidreverse()intn:strlen(m_str);for(inti=0;in2;+i

8、)inttmp=m_stri;*found*mstri=_;*found*_; voidprint()coutmstrend1;其他成员private:char*mstr;intmain(intargc,char*argv)MyStringstr1(”abc”),str2(“defg“);cout“Beforereverse:n“;str1print();str2print();str1reverse();str2reverse();cout“Afterreverse:n“;str1print();str2print();return0;(分数:2.00)_正确答案:(正确答案:(1)strl

9、en(s) + 1 (2)delete m_str (3)m_strn-i-1 (4)m_strn-i-1 = tmp)解析:解析:(1)考查使用 new 语句动态分配内存空间,要分配空间大小应为字符串的长度加 1。 (2)主要考查考生对析构函数的掌握,析构函数使用 delete 语句释放指针。 (3)和(4)主要考查考生对成员函数的掌握,这里是一个变量交换操作,通过中间变量 tmp 交换。四、综合应用题(总题数:1,分数:2.00)43.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj3 下的工程 proj3,其中声明的 DataList 类,是一个用于表示数据表的类。sort 成

10、员函数的功能是将当前数据表中的元素升序排列。请编写这个 sort 函数。程序的正确输出应为:排序前:7,1,3,11,6,9,12,10,8,4,5,2 排序后:1,2,3,4,5,6,7,8,9,10,11,12 要求:补充编制的内容写在“*333*”与“*666*”两行之间。不得修改程序的其他部分。注意:程序最后将结果输出到文件 outdat 中。输出函数 writeToFfle 已经编译为 obj 文件,并且在本程序调用。DataLiSth#includeiostreamUSingnamespacestd;classDataList数据表类 intlen;double*d;public:

11、DataList(intlen,doubledata=NULL);DataList()deleted;intlength()constreturnfen;数据表长度(即数据元素的个数)doublegetElement(inti)constreturndi;,voidsort();数据表排序 voidshow()const;显示数据表;voidwriteToFile(char*,constDataList);maincpp#include“DataListh“DataList:DataList(intlen,doubledata):len(len)d:newdoublelen;for(inti=

12、0;ilen;i+)di=(data=NULL?00:datai);voidDataList:sort()数据表排序*333*666*voidDataList:show()const显示数据表 for(inti=0;ilen-1;i+)coutdi“,“;coutdlen-1end1;intmain()doubles=7,1,3,11,6,9,12,10,8,4,5,2;DataList1ist(12,s);cout“排序前:“;listshow();listsort();coutend1“排序后:“;listshow();writeToFile(“,list);return0;(分数:2.00)_正确答案:(正确答案:for(inti=0;ilen;+i) 从头遍历数组 d for(intj=i;jlen;+j) 从 i+1 处遍历数组 d if(didj) di和 dj比较人,如果大于,就 di和 dj值交换 inttemp=di; 把临时整型变量 temp 赋值为 di di=dj; 把 dj赋值给 di dj=temp; 把 temp 值赋给 dj )解析:解析:本题使用最简单的冒泡排序算法,首先明确要排序的动态数组 d,其长度为 len,在此可以使用两个下标 i 和 j 相比较,当 didj时,数组内的值利用中间变量 temp 进行交换。

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