计算机二级上机模拟题

计算机等级考试二级C++模拟试题1上机部分

一、改错题

使用VC6打开考生文件夹下的工程kt6_1,此工程包含一个源程序文件kt6_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

Constructor2

Constructor1

i=0

i=10

Destructor

源程序文件kt6_1.cpp清单如下:

#include

classCSample

{

inti;

public:

CSample(){cout

CSample(intval){cout

~CSample(){cout

voiddisp();

};

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

voiddisp()

{cout

voidmain()

{ 二、简单应用题

编写函数fun(),它的功能是利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。

xn+1=cos(xn)

迭代步骤如下:

(1)取x1初值为0.0。

(2)x0=x1,把x1的值赋给x0。

(3)x1=cos(x0),求出一个新的x1。

(4)若x0-x1的绝对值小于0.000001, 则执行步骤(5),否则执行步骤(2)。

(5)所求x1就是方程cos(x)-x=0的一个实根,做为函数值返回。

程序输出结果Root=0.739085。

注意:部分源程序已存在文件kt6_2.cpp中。

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

文件kt6_2的内容如下:

#include

#include

#include

floatfun()

{

}

voidmain()

{cout

【参考答案】

float fun()

{

float x1=0.0,x0;

do

{ x0=x1;

x1=cos(x0);}

while(fabs(x0-x1)>=1e-6);

return x1;

}

【试题解析】

解答本题的关键之处在于看清题中所给的“迭代步骤”,同时要理解xn+1=cosxn通式的含义,要考虑到x1的初值为0.0。

三、综合应用题

使用VC6打开考生文件夹下的工程kt6_3,此工程包含一个源程序文件kt6_3.cpp,其中定义了用于表示考生的类Student ,请按要求完成下列操作,将程序补充完整。

(1)定义私有数据成员code 、english 分别用于表示考生的编号、英语成绩、它们都是int 型的数据。请在注释“//**1**”之后添加适当的语句。

(2)完成成员函数voidStudent::inputinformation()的定义,该函数用于用户输入一个考生对象的信息,输入格式如下所示:

输入编号:

英语成绩:

计算机成绩:

请在注释“//**2**”之后添加适当的语句。

(3)利用已实现的类Student 的成员函数,完成函数voidfirstname(Student*A[],intnum)的定义,该函数根据考生信息A[],输出num 个考生中总分最高者的编号及其相应的总分,在此不考虑总分相同的情况。请在注释“//**3**”之后添加适当的语句。

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

源程序文件kt6_3.cpp清单如下:

#include

classStudent

{//**1**

intcomputer;

inttotal;

public:

voidgetinformation();

voidcomputesum();

intgetcode();

intgettotalscore();

~Student();};

voidStudent::getinformation()

{//**2**

cout

cin>>english;

cout

cin>>computer;}

voidStudent::computesum()

{total=english+computer;

cout

intStudent::getcode()

{returncode;}

intStudent::gettotalscore()

{returntotal;}

voidfirstname(Student*A[],intnum)

{

//**3**

tempsum=(*A[0]).gettotalscore();

for(inti=1;i

{

if(((*A[i]).gettotalscore())>tempsum)

{tempcode=(*A[i]).getcode();

tempsum=(*A[i]).gettotalscore();}

}

cout

}

voidmain()

{Student*A[3];

inti,n=3;

for(i=0;i

{A[i]=newStudent;

A[i]->getinformation();}

for(i=0;i

{A[i]->computesum();}

firstname(A,3);}

【参考答案】

(1)int code;

int english;

(2)cout

cin>>code;

(3)int tempcode,tempsum;

tempcode=(*A[0]).getcode();

【试题解析】

本题是对C++程序设计的综合考查,其设计类的成员及成员函数的定义与调用,数据的输入输出,for 循环语句,if 条件判断语句等多个知识点,其中(3)中为指针数组的使用,指针数组是一组指针,每一个成员都按照指针的操作规则,但是整个访问规则仍然使用数组下标方式,如A[0]指的是第一个指针,而* A[0]是取出第一个指针指向的内容。

CSample*a,b(10);

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

a->disp();

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

b->disp();

}

【参考答案】

(1)将void disp()

改为:void CSample::disp()

(2)将a->disp();

改为:a=new CSample; a->disp();

(3)将b->disp();

改为:b.disp();

【试题解析】

(1)主要考查类成员函数定义格式的熟练掌握,对于类体外函数的实现,应该使用作用域符"::",按照返回值类型 类名::函数名(参数列表) 的形式进行说明;

(2)主要考查对动态存储分配的掌握,根据前面的定义,a 是一个指针类型的变量,指向一个对象,但是并没有被初始化,此时a 中的数据无任何意义,应该使用动态存储分配new 生成一个新的对象,并将返回的指针赋值给a;

(3)主要考查对象指针与对象在调用成员函数时格式的不同,b 是一个对象变量,使用b 调用成员函数应该用"." 运算符。

计算机等级考试二级C++模拟试题1上机部分

一、改错题

使用VC6打开考生文件夹下的工程kt6_1,此工程包含一个源程序文件kt6_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

Constructor2

Constructor1

i=0

i=10

Destructor

源程序文件kt6_1.cpp清单如下:

#include

classCSample

{

inti;

public:

CSample(){cout

CSample(intval){cout

~CSample(){cout

voiddisp();

};

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

voiddisp()

{cout

voidmain()

{ 二、简单应用题

编写函数fun(),它的功能是利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。

xn+1=cos(xn)

迭代步骤如下:

(1)取x1初值为0.0。

(2)x0=x1,把x1的值赋给x0。

(3)x1=cos(x0),求出一个新的x1。

(4)若x0-x1的绝对值小于0.000001, 则执行步骤(5),否则执行步骤(2)。

(5)所求x1就是方程cos(x)-x=0的一个实根,做为函数值返回。

程序输出结果Root=0.739085。

注意:部分源程序已存在文件kt6_2.cpp中。

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

文件kt6_2的内容如下:

#include

#include

#include

floatfun()

{

}

voidmain()

{cout

【参考答案】

float fun()

{

float x1=0.0,x0;

do

{ x0=x1;

x1=cos(x0);}

while(fabs(x0-x1)>=1e-6);

return x1;

}

【试题解析】

解答本题的关键之处在于看清题中所给的“迭代步骤”,同时要理解xn+1=cosxn通式的含义,要考虑到x1的初值为0.0。

三、综合应用题

使用VC6打开考生文件夹下的工程kt6_3,此工程包含一个源程序文件kt6_3.cpp,其中定义了用于表示考生的类Student ,请按要求完成下列操作,将程序补充完整。

(1)定义私有数据成员code 、english 分别用于表示考生的编号、英语成绩、它们都是int 型的数据。请在注释“//**1**”之后添加适当的语句。

(2)完成成员函数voidStudent::inputinformation()的定义,该函数用于用户输入一个考生对象的信息,输入格式如下所示:

输入编号:

英语成绩:

计算机成绩:

请在注释“//**2**”之后添加适当的语句。

(3)利用已实现的类Student 的成员函数,完成函数voidfirstname(Student*A[],intnum)的定义,该函数根据考生信息A[],输出num 个考生中总分最高者的编号及其相应的总分,在此不考虑总分相同的情况。请在注释“//**3**”之后添加适当的语句。

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

源程序文件kt6_3.cpp清单如下:

#include

classStudent

{//**1**

intcomputer;

inttotal;

public:

voidgetinformation();

voidcomputesum();

intgetcode();

intgettotalscore();

~Student();};

voidStudent::getinformation()

{//**2**

cout

cin>>english;

cout

cin>>computer;}

voidStudent::computesum()

{total=english+computer;

cout

intStudent::getcode()

{returncode;}

intStudent::gettotalscore()

{returntotal;}

voidfirstname(Student*A[],intnum)

{

//**3**

tempsum=(*A[0]).gettotalscore();

for(inti=1;i

{

if(((*A[i]).gettotalscore())>tempsum)

{tempcode=(*A[i]).getcode();

tempsum=(*A[i]).gettotalscore();}

}

cout

}

voidmain()

{Student*A[3];

inti,n=3;

for(i=0;i

{A[i]=newStudent;

A[i]->getinformation();}

for(i=0;i

{A[i]->computesum();}

firstname(A,3);}

【参考答案】

(1)int code;

int english;

(2)cout

cin>>code;

(3)int tempcode,tempsum;

tempcode=(*A[0]).getcode();

【试题解析】

本题是对C++程序设计的综合考查,其设计类的成员及成员函数的定义与调用,数据的输入输出,for 循环语句,if 条件判断语句等多个知识点,其中(3)中为指针数组的使用,指针数组是一组指针,每一个成员都按照指针的操作规则,但是整个访问规则仍然使用数组下标方式,如A[0]指的是第一个指针,而* A[0]是取出第一个指针指向的内容。

CSample*a,b(10);

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

a->disp();

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

b->disp();

}

【参考答案】

(1)将void disp()

改为:void CSample::disp()

(2)将a->disp();

改为:a=new CSample; a->disp();

(3)将b->disp();

改为:b.disp();

【试题解析】

(1)主要考查类成员函数定义格式的熟练掌握,对于类体外函数的实现,应该使用作用域符"::",按照返回值类型 类名::函数名(参数列表) 的形式进行说明;

(2)主要考查对动态存储分配的掌握,根据前面的定义,a 是一个指针类型的变量,指向一个对象,但是并没有被初始化,此时a 中的数据无任何意义,应该使用动态存储分配new 生成一个新的对象,并将返回的指针赋值给a;

(3)主要考查对象指针与对象在调用成员函数时格式的不同,b 是一个对象变量,使用b 调用成员函数应该用"." 运算符。


相关文章

  • 一级计算机基础上级考试注意事项
  • 1.上机抽题后,无法打开考生文件夹中的做题文件,系统总是提示我没有安装相应开发环境? 回答:安装本模拟软件后,考生还需要安装相应的考试环境.如一级考生需要安装Office2010,二级VB 考生需要安装Visual Basic 6.0开发环 ...查看


  • 计算机二级上机试题模拟50
  • <五十套> 1. 基本操作题 在考生文件夹下的"samp1.mdb"数据库文件中已建立表对象"tEmployee".请按以下操作要求,完成表的编辑: (1)判断并设置"tEmpl ...查看


  • 计算机二级上机试题模拟44
  • <四十四套> 1. 基本操作题 在考生文件夹下的"samp1.mdb"数据库文件中已建立两个表对象(名为"员工表"和"部门表").请按以下要求,顺序完成表的各种操作: ...查看


  • 软件安装指南
  • 1. 安装软件 1.1 启动安装程序 将光盘放入光驱,一般情况下,光盘会自动运行,并弹出安装界面. 如果光盘没有自动运行,请打开"我的电脑"("计算机"),右键单击光盘盘符,单击"打开&qu ...查看


  • 2011年全国计算机等级考试考试时间安排
  • 2011上半年全国计算机等级考试考试时间安排 全国计算机等级考试目前共设置四个等级.每年共考试两次,分为一.二.三.四级. 每年上半年4月顺数第一个星期六上午进行笔试,下午开始进行上机考试,由于受实际条件的限制,上机考试由各考点具体安排,按 ...查看


  • 商务策划师标准
  • 国家职业标准--商务策划师<商务策划师>国家职业标准 商务策划师>国家职业标准1.职业概况1.1 职业名称商务策划师1.2职业定义运用正区确的思维.方法及技巧,从事对以赢利为目的的社会经济组织的特定目标,进行创意构思和策略 ...查看


  • 计算机上机模拟基本步骤和要求
  • 计算机一级考试上机模拟基本步骤和要求 运行计算机一级考试模拟系统,该模拟软件在C 盘或D 盘的SPKSSYS 目录下,进入SPKSSYS 目录见YJWIN 目录,双击打开,查看考试说明等.运行一级考试模拟系统步骤: 第一步:打开计算机: 第 ...查看


  • 2015年职称计算机考试技巧经验分享
  • 2015年职称计算机考试技巧经验分享 [职考宝典]是一款职称计算机考试全真模拟软件,包括:手把手教学一步一提示,同步答案演示帮助您高效掌握解题方法.模拟考试10套全真试题,共400道左右的真题,自动评分,考后即知成绩,错题复习帮助您查缺补漏 ...查看


  • 会计电算化模拟题
  • 1.会计电算化初级人才的培养目标是_B_____. A.会计电算化系统的维护和管理 B.掌握计算机基本操作技能和会计电算化的基本工作过程 C.进行会计软件分析设计 D.对会计核算信息进行简单地分析利用 2.不属于计算机与手工并行阶段的主要任 ...查看


热门内容