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

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

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

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

基本操作题

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

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

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

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

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

#include<iostream>

using namespace std;

class ElectricFan{//“电扇”类

char*brand;

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

public:

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

brand=newchar[strlen(the_brand)+1];

strcpy(brand,the_brand);

}

~ElectricFan( ){delete[ ]brand;}

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

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

int theIntensity( )const{return intensity;}

//返回风速

bool isOn( )const{returnintensity>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.请打开考生文件夹下的解决方案文件proj2,此工程中含有一个源程序文件proj2.cpp。函数char*GetNum(char*src,char*buf)从src开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空间bur中。函数返回扫描的终止位置,如果返回NULL表示没有扫描到数字字符序列。

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

ABC012XYZ378MN274WS

则输出为:

Digit string1is012

Digit string2is378

Digit string3is274

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

//proj2.cpp

#include<iostream>

using namespace std;

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

{

whle(*src!=\’0’)

{

if(isdigit(*src))break;

src++;

}

if(*src==’\0’)

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

_______;

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

(*src))

{

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

_______;

bur++;

SEC++;

}

*buf=’\0’;

return src;

}

int main( )

{

char str[100],digits[20];

cin.getline(str,100);

char*p=str;

int i=1;

while((p=GetNum(p,dig~ts))!=NULL)

{

cout<<\\

(1)return NULL

(2)*buf=*src

(3)i++

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

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

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

综合应用题

3.请打开考生文件夹下的解决方案文件proj3,其中定义了MyString类,一个用于表示字符串的类。成员函数reverse的功能是将字符串进行“反转”。例如,将字符串ABCDEF“反转”后,得到字符串FEDCBA;将字符串ABCDEFG“反转”后,得到字符串GFEDCBA。请编写成员函数reverse。在main函数中给出了一组测试数据,此时程序运行中应显示:

读取输入文件...

—反转前—

STR1=ABCDEF

STR2=ABCDEFG

—反转后—

STR1=FEDCBA

STR2=GFEDCBA

要求:

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

注意:程序最后将结果输出到文件out.dat中,输出函数WriteToFile已经编译为obj文件,并且在本程序中调用。

//mgsering.h

#include<iostream>

#include<cstring>

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号