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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请补充程序中的丢失部分,使得程序运行。可以在修改处增加或者删除一条语句。

本程序完成以下功能:

(1)获得输入的两个数字x1,x2(例如x1=4,x2=2);

(2)输出两个中较小的一个(例如输出2);

(3)计算x1/x2如果x2等于0,返回.1(输出结果2);

(4)输出x1+x2的结果(输出结果6);

(5)输出x1+1的结果(输出结果5);

(6)输出x2-1的结果(输出结果1)。

注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在

//********error********的下面。

#include

void main()

{

int x1;

int x2;

int x3;

cout<<\\

(1)x3 = (x1<x2)?x1:x2;

(2)x3 = (x2)?x1/x2:-1;

(3)x3 = (x1++) + (x2–);

解析:(1)第1个标识下“x3=(x1>x2)?x1:x2;”语句是判断x1与x2其中哪个相对较小,并将其赋值给x3。条件运算符的格式:表达式1 7表达式2:表达式3。执行顺序是先求解表达式1,若非则求解表达式3,此时表达式3的值就作为整个条件表达式值。所以求x1和X2中较小的一个,如果x1<x2为真,那么x1的值赋给x3,否则x2的值赋给x3,即第1个标识下为“x3:(x1<x2)?x1:x2;”。

(2)同理,第2个标识下计算x1/x2如果x2等于0,返回-1。即“x3=(x2)?x1/x2:-1;”。

(3)题干中求x1+1,而-x1是x1-1,所以改为x1++。同理x2++改为x2-。即“x3=(x1++)+(x2–);”。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:

(1)fun1(int n1;求出n的阶乘,必须使用递归调用。

(2)fun2(int n);求出n的阶乘,不能使用递归调用。

如果n小于1则返回0。

注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include

//必须使用递归

int funl(int n)

{

};

//不能使用递归

int fun2(int n)

{

}

void main()

{

int i;

cout<<\\

int funl(int n)//使用递归计算阶乘

{

if(n<=0)//n小于等于0,直接返回0

return 0;

if(n==1) //n等于1直接返回1

return 1;

return n*funl(n-1);//n大于等于1,通过递归计算n!

j;

//不使用递归计算阶乘

int fun2(int n)

{

if(n<=0)//n小于0,直接返回0

return 0;

int res=1; //初始化阶乘存放变量res

for(int i=1;i<=n;i++) //通过循环计算n!

{

res*=i;

}

return res;

}

解析:(1)进入fun1函数,根据前面的定义,它对阶乘算法的实现可以分为三种情况,一是当n小于或等于0时,返回0即可;二是当n大于1时应该用什么程序来实现阶乘的计算:三是当n=1时,函数直接返回1即可。

(2)计算n!的值,先定义一个放阶乘值的变量res,初值为1,通过循环的方法,用累乘器“res*=i;”实现n!。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示坐标的类TestClass1,但类TestClass1的定义并不完整,按要求完成下列操作,将类的定义补充完整。

(1)声明TestClass2类为TestClass1类的友元类,请在注释//********1********后添加适当的语句。

(2)完成类的构造函数,分别对成员变量赋值,请在注释//********2********后添加适当的语句。

(3)完成类的构造函数,分别对成员变量赋值,请在注释//********3********后添加适当的语句。

(4)完成计算平面上两点之间的距离函数Distance,计算的方法如下:X坐标之差的平方与Y坐标之差的平方之和的开方。请在注释

//********4********后添加适当的语句。

注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

#include

#include

using namespace std;

Class TestClass1

{

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

public:

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

{

X=a;

Y=b;

}

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

{

X=a;

Y=0;

}

Void print()

{

cout<<\\

(1)添加语句:friend class TestClass2;

(2)添加语句:TestClass1(float a,float b)

(3)添加语句:TestClass1(float a)

(4)添加语句:

result=sqrt((p.X—q.X)*(p.X—q.X)+(p.Y—q.Y)*(p.Y—q.Y));

解析:(1)题目1要求“声明TestClass2类为TestClass1类的友元类”。C++中声明友元类的一般形式为friend类名;,所以这里补全“friend classTestClass2;”。

(2)题目2要求“完成类的构造函数,分别对成员变量赋值”。程序中TestClass1类的构造函数缺少定义,构造函数首部的一般格式为:构造函数名(类型1形参1,类型2形参2,……),所以在第2个标识下补全“TestClass1(float a,float b)”。

(3)题目3要求“完成类的构造函数,分别对成员变量赋值”。同理,第三个标识下补全“TestClass1(float a)”。

(4)题目4要求“完成计算平

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号