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

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

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

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

基本操作题

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<<endl<<m.b<<endl;

}

(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[21=c[3]=0,故第2个标识下应改为“m.c[0]=1;”。

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

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。sum(intn)计算所有n的因子之和(不包括1和自身)。

注意:不能修改程序的其他部分,只能补充sum()函数。

#inClude

int sum(int n)

{

}

Void main()

{

cout<<sum(10)<<endl;

cout<<Sum(200)<<endl;

Cout<<Sum(400)<<endl;

retUrn;

}

int all=0;

for(int i=2;i<n;i++)

{

if(n%i==0)

{

all+=i;

}

}

return all;

解析:(1)数n的因子是指为整除n等于0的所有自然数的集合。

(2)为了实现计算所有n的因子之和且不包含1和自身,函数中定义一个变量all用来保存求和结果,并为最终结果在函数结束时返回;

(3)在循环中逐个寻找n的因子,为了在计算中排除掉1和n本身,因此循环变量i的变化范围为从2到n-1。

(4)如果n%i==0,说明i是n的因子,因此将i加到all上。

综合应用题

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

(1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释//********1********后添加适当的语句。

(2)在类A2前增加A1的声明,请在注释//********2********后添加适当的语句。

(3)在类C1中声明友元函数bool func(A2& a,A1&b),请在注释//********3********后添加适当的语句。

(4)实现函数bool time(A2&obj1,Alaobj2)功能,检查两个类的值都为TRUE,则返回TRUE,请在注释//********4********后添加适当的语句。

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

#include

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

#define FALSE 0

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

Class A2

{

private:

bool m A2;

friend bool func(A2&obj1,

A1&obj2);

public:

A2()

{

m A2=FALSE;

}

public:

Void SetA2(bool n)

{

m A2=n;

}

};

Class A1

{

private:

ool m A1;

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

public:

A1()

{

m A1=TRUE;

}

public:

Void setAl(bool n)

{

m A1=n;

}

};

bool func(A2& obj1,A1& obj2)

{

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

return

}

int main()

{

A2 obj0;

A1 obj1;

cout<<func(obj 0,obj1)<<endl;

obj0.setA2(TRUE);

obj1.setA1(TRUE);

cout<<func(obj0,obj1)<<endl;

return 0;

}

(1)添加语句:#define TRUE 1

(2)添加语句:class A1;

(3)添加语句: friend bool func(A2&obj1,A1&obj2);

(4)

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号