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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 C+机试(操作题)模拟试卷 495及答案与解析 一、基本操作题 1 请打开考生文件夹下的解决方案文件 proj1,其中定义了一个 CD类。程序中位于每个 ERROR*found*下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是: 歌唱祖国 30 义勇军进行曲 95 注意:只能修改每个 ERROR*found*下的那一行,不要改动程序中的:其他内容。 #include iostream #include cstring using namespace std; class CD char name20; int number; public: void in

2、it(char*aa, int bb) ERROR*found* name=aa; number=bb; char*getName( ) ERROR*found* return*name; int getNumber( )returnnumber; void output( ) ERROR*found* cout name20 number endl; ; void main( ) CD dx, dy; dx init(“歌唱祖国 “, 30); dy init(“义勇军进行曲 “, 3*dx getNumber( )+5); dx output( ); dy output( ); 二、简单应

3、用题 2 请打开考生文件夹下的解决方案文件 proj2,该工程中含有一个源程序文件proj2 cpp,其中定义了 CharShape类、 Triangle类和 Rectangle类。 CharShape是一个抽象基类,它表示由字符组成的图形 (简称字符图形 ),纯虚函数Show用于显示不同字符图形的相同操作接口。 Triangle和 Rectangle是 CharShape的派生类,它们分别用于表示字符三角形和字符矩形,并且都定义了成员函数Show,用于实现各自的显示操作。程序的正确输出结果应为: * * * * # # # 请阅读程序,分析输出结果,然后根据以下要求在横线处 填写适当的代码并

4、删除横线。 (1)将 Triangle类的成员函数 Show补充完整,使字符三角形的显示符合输出结果。 (2)将 Rectangle类的成员函数 Show补充完整,使字符矩形的显示符合输出结果。 (3)为类外函数 fun添加合适的形参。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动 “ *found*”。 proj2 cpp #include ioStream using namespace std; class CharShape public: CharShape(char ch): ch(ch); virtual void Show( )=0; protec

5、ted: char ch;组成图形的字符 ; class Triangle: public CharShape public: Triangle(char ch, int r): CharShape(ch), rows(r) void Show( ); private: introws;行数 ; class Rectangle: public CharShape public: Rectangle(char ch, int r, int c): CharShape(ch), rows(r), _clos(c) void Show( ); private: int rows, cols;行数和列

6、数 ; void Triangle: Show( ) 输出字符组成的三角形 for(int i=1; i =_rows; i+) *found* for(int j=1; j =_; j+) cout ch; cout endl; void Rectangle: Show( ) 输出字符组成的矩形 *found* for(int i=1; i =_; i+) *found* for(int j=1; j =_; j+) cout ch; cout endl; *found*为 fun函数添加形参 void fun(_)cs Show( ); intmain( ) Triangle tri(*,

7、 4); Rectanglerect(#, 3, 8); fun(tri); fun(rect); return0; 三、综合应用题 3 请打开考生文件夹下的解决方案文件 proj3,此工程包含一个源程序文件proj3 cpp,其功能是从文本文件 in dat中读取全部整数,将整数序列存放到intArray类的对象 myArray中,然后对整数序列按非递减排序,最后由函数writeToFile选择序列中的部分数据输出到文件 out dat中。文件 in dat中的整数个数不大于 300个。 要求: 补充 编制的内容写在 “ *333*”与 “*666*”两行之间。 实现对整数序列按非递减排序,

8、并将排序结果在屏幕上输出。不得修改程序的其他部分。 注意:程序最后已将结果输出到文件 out dat中。输出函数 writeToFile已经给出并且调用。 proj3 cpp #include iostream #include fstream #include cstring using namespace std; class intArray private: int*array;整数序列首地址 int length;序列中的整数个数 publiC: 构造函数,从文件中读取数据用于初始化新对象。参数是文件名 intArray(char*filename); void sort( );对整

9、数序列按非递减排序 intArray( ); VOid writeToFile(char*filename); ; intArray: intArray(char*filename) ifstream myFile(filename); int len=300; array=new intlen; length=0; while(myFile arraylength+); length-; myFile close( ); void intArray: sort( ) *333* *666* intArray: intArray( ) delete array; void intArray:

10、writeToFile (char*filename) int step=0; ofstream outFile(filename); for(int i=0; i length; i=i+Step) outFile arrayi endl; step+; outFile close( ); void main( ) intArray myArray(“in dat“); myArray sort( ); myArray writeToFile(“out dat“); 国家二级 C+机试 (操作题)模拟试卷 495答案与解析 一、基本操作题 1 【正确答案】 (1)strcpy(name, a

11、a); (2)return name; (3)cout name number endl; 【试题解析】 程序定义 CD类,它包含两个数据成员:字符数组 name和整型变量 number;还包含四个公有成员函数, init( )函数接收两个参数,用参数对数据成员进行赋值; getName( )函数返回数据成员 name; getNumber( )函数返回数据成员 number; output( )函 数将数据成员 name和 number输出。 cD类的定义体中,有三个错误: (1)init( )函数将形参 aa赋给 name,由于。 name是字符数组,所以不能通过简单的赋值运算符进行赋值,

12、应该使用 strcpy( )函数将形参 aa指向的字符串拷贝到name中。 (2)getName( )函数的返回值为 char*类型,所以函数体的 return语句应该返回name,而不是 name指向的字符串。 (3)output( )函数需要输出两个数据成员,输出字符数组时,只需要给出数组名name即可。 二、简单应用题 2 【正确答案】 (1)i*2-1 (2)_rows (3)_cols (4)CharShape&cs 【试题解析】 (1)考查 for循环语句,该语句所在的函数的功能是输出宁符组成的三角形。从外层循环中可以看出下标 i代表行数,那么下标 j就代表每一行字符的个数,因为要

13、输出的是三角形,所以每一行的个数与该行的行数相关,即 j =i*2-1;。 (2)考查 for循环语句,该语句所在的函数的功能是输出字符组成的矩形。回到Rectangle类中可以知道矩形的长和宽就是类中私有成员的行数和列数,因此在这里只要要求下标 i不大于行数即可。 (3)考查 for循环语句,该语句所在的函数的功能是输出字符组成的矩形。回到Rectangle类中可以知道矩形的长和宽就是类中私有成员的行数和列数,因此在这里只要要求下标 j不大于列数即可。 (4)主要考查考生对虚函数的掌握,该语句所在的函数是普通函数 fun,题目要求为fun函数添加形参。从函数体中可以知道形参名为 cs,那么形

14、参的类型是什么呢 ?就是抽象类 CharShape,因此要使用 CharShape&cs才可以实现题目要求输出的内容。 三、综合应用题 3 【正确答案】 for(int 1=0; 1 length; +i)遍历整个数组 for(intJ=ijJ length; +j)从 i+遍历整数组 if(arrayi arrayj) 如果 arragi arrayj,把 arrayi与 arrayi进行对换 int temp;定义一个临时变量 temp temp=arrayi;把 arrayi值放到变量 temp arrayi=arrayj;把 arrayj值赋给 arrayi arrayj=temp;把变量 temp存放 在值 arrayj中 for(int a=0; a length; +a) 遍历数组,把数组中的所有元素打印到控制台上 cout arraya “ “; 【试题解析】 题目要求对整数序列按非递减排序,要排序就必须要有比较,因此定义两个下标 i和 j,按题目非递减排序要求,当 arrayi比 arrayj大时就交换其值,利用中间变量 temp来实现。

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