首页 > 全部 > 二级C++ > 国家二级C++机试(操作题)模拟试卷478

国家二级C++机试(操作题)模拟试卷478

本单篇文档共4645字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 3099人下载
价格: 1.10 原价:¥9.00
收藏

国家二级C++机试(操作题)模拟试卷478

基本操作题

1.请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,此工程中包含程序文件main.cpp,其中有ElectricFan(“电风扇”)类和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:

品牌:清风牌,电源:关,风速:0

品牌:清风牌,电源:开,风速:3

品牌:清风牌,电源:关,风速:0

注意:只修改每个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。

#include

using namespace std;

class ElectricFan{ //“电扇”类

char*brand;

int intensity; //风速:0一关机,1一弱,2一中,3一强

public:

ElectricFan(const char*the_brand):intensity(0){

brand=new char[ Strlen(thebrand)+1 ];

strcpy(brand,the brand);

}

~ElectricFan(){delete[]brand;}

//ERROR********found********

const char*theBrand()const{return*brand;}//返回电扇品牌

int theIntensity()const{return intensity;}

//返回风速

bool isOn()const{return intensity>0;}

//返回电源开关状态

//ERROR****found****

void turnOff(){intensity=1;}

//关电扇

void setIntensity(int inten){

//开电扇并设置风速

//ERROR********found********

if(intensity>=1&&intensity<=3)

intensity=inten;

}

void show(){

cout<<\\

(1)const char*theBrand()const{returnbrand;}

//返回电扇品牌

(2)void turnOff(){intensity=0;}//关电扇

(3)if(inten>=1&&inten<=3)intensity=inten:

解析:(1)主要考查考生对指针的掌握情况,因为brand是一个动态指针,水brand表示字符串的首个字符,brand表示动态数组,这里要返回动态数组存储的品牌名称。

(2)主要考查考生对成员函数的掌握情况,根据题目中类的定义中私有成员的定义:int intensity;//风速:0-关机,1-弱,2-中,3-强,可知本函数要关电扇,因此在这里intensity=0;。

(3)主要考查考生对成员函数的掌握,根据题目中函数的注释:开电扇并设置风速,可知if语句里要判断的应该是形参inten而不是intensity。

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.cpp。函数char*GetNum(ehar*src,ehar*buf)从src开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空间buf中。函数返回扫描的终止位置,如果返回NULL表示没有扫描到数字字符序列。

运行程序时,如果输入的一行字符序列是

ABC012XYZ378MN274WS则输出为:

Digit string 1 is 012

Digit string 2 is 378

Digit string 3 is 274

注意:只在横线处编写适当代码,不要删除或移动“//****found****”。

//proj2.cpp

#include

using namespace std;

char*GetNum(char*src,char*bur)

{

while(*src!=’\0’)

{

if(isdigit(*src))break;

src++;

}

if(*src==’\0’)

//********found********

__________;

while(*src!=’\0’&&isdigit(*src))

{

//********found********

__________;

buf++;

src++;

}

*bur=’\0’;

return src;

}

int main()

{

char str[100],digits[20];

cin.getlihe(str,100);

char*p=str;

int i=1;

while((p=CetNum(p,digits))!=NULL)

{

cout<<\\

(1)return NULL

(2)*buf=*src

(3)i++

解析:(1)主要考查考生对if语句的掌握,由判断条件if(*src==’\0’),说明字符串src为空,则返回NULL即可。

(2)主要考查考生对while循环语句的掌握,while语句的循环条件为*src!=’\0’&&isdigit(*src),该条件是指,若字符串src不为空并且*src指向的字符为数字字符,则进行循环。题目要求把数字字符放人字符串buf中,因此为*buf=*src。

(3)主要考查考生对while循环语句的掌握,从上一行语句cout<<\\

综合应用题

3.请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个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

要求:

补充编制的内容写在“//***********3***********”与“//***********666***********”两行之间。不得修改程序的其他部分。

注意:程序最后将结果输出到文件out.dat中。输出函数

本文档预览:3600字符,共4645字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(操作题)模拟试卷478

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号