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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:

1

0

注意:错误的语句在//*****error******的下面,修改该语句即可。

#include

struct Struct

{

union

{

int a;

char c[4];

};

int b;

//*****error******

}

void main()

{

Struct m;

//*****error******

m.c[0]=0;

m.c[1}=0;

m.c[2]=0;

//*****error******

m.c[3]=1;

m.b=m.c[3];

cout<<m.a<<end1<<m.b<<end1;

}

(1)};

(2)m.c[0]=1;

(3)m.c[3]=0;

解析:(1)第1表示在结构体定义内,结构体定义的一般形式为:

struct

{

};

这里定义的结构体并没有变量名列表,但是结构体定义一定是以“;”结束的,因此第1个标识下应改为“};”。

(2)根据题目要求程序输出结果分别为“1”和“0”,即结构体变量m的成员变量a的值为1,b的值为0,又a和字符数组c[4]存放在同一段内存单元中,因此a的值可由数组c[4]决定(两者使用同一地址单元),故c[0]表示a的低8位,c[1]为a的第二个8位,c[2]为a的第三个8位,c[3]为a的最高8位,a=0,所以c[0]=1,c[1]=c[2]=c[3]=0,故第2个标识下应改为“m.c[0]=1;”。

(3)由(2)分析可知第3个标识下应改为“m.c[3]=0:”。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str,char c,char*str2)的功能是:

如果str中包含字符“!”,则替换成’a’;

如果str中包含字符“&”,则替换成’b’;

如果str中包含字符“*”,则替换成str2。

并用函数返回目标转换后的指针。

注意:只能补充函数convert(char*des,char*str,char*str2)。

#include

#include

#define MAXLEN 1024

void convert(char *des,char *

str,char *str2)

{

}

void main()

{

char dest[MAXLEN];

char*str=”!&cefghi*!&\\

des[0]=0;

char temp[2]={0,0};

for(int i=0;str[i]!=NULL;i++)

{

if(str[i]==’!’)

{

temp[0]=’a’; //替换成’a’

strcat(des,temp);

}

else if (str[i]==’&’)

{

temp[0]=’b’;

strcat(des,temp);

//替换成’b’

}

else if(str[i]:=’*’)

{

strcat(des,str2);

//替换成str2

)

else

{

temp[0]=str[i];

strcat(des,temp);

//其他情况则添加在后面

}

}

解析:(1)由审题分析可知,利用循环中不断检索str字符串每一个字符,循环变量i从0开始,直到到了str字符结束,即srt[i]=NULL为循环判断结束条件。

(2)在循环体内,用if else语句判断是不是“!”、“&”或“*”这些特定的字符,如果是这些特定的字符则进行相应的替换,如果不是则将该字符直接加在des后面。

(3)字符串的连接可以使用字符串连接函数strcat(),将新字符连接在des后面,即strcat(des,temp)。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:

(1)定义私有常量PI,请在注释//********1********后添加适当的语句。

(2)完成类的私有常量PI的赋值,以及完成对半径radius的赋值。请在注释//********2********后添加适当的语句。

(3)完成计算圆面积的函数GetArea()。请在注释//********3********后添加适当的语句。

(4)完成计算圆周长的函数GetGirth()。请在注释//********4********后添加适当的语句。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include

#define CONST_PI 3.141592

class CCircle

{

private:

double radius;

//********1********

public:

//********2********

CCircle(int radius)

{this->radius=radius; }

double GetArea()

{

//********3********

)

double GetGirth()

{

//********4********

}

void SetRadius(int m)

{

radius=m;

}

};

int main()

{

CCircle circle(5);

cout<<circle.GetArea()

<<e

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号