国家二级C++机试(操作题)模拟试卷631
基本操作题
1.请打开考生文件夹下的解决方案文件proj1,此工程中包含程序文件main.epp,其中有类Score(“成绩”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
学号:12345678课程:英语总评成绩:85
注意:只修改每个“//ERROR ****found****”下的一行,不要改动程序中的其他内容。
#include<iostream>
using namespace Std;
class Score {
public:
Score(const char * the_course,const char * the_id,int the_normal,int the midterm,int the_end of_term)
:course(the_course),normal(the_normal),midteEm(the_midterm),end_of_term(the_end_of_term){
//ERROR ******* found *******
strcpy(the_id,student_id);
}
const char * get;Course()const{return course;}//返回课程名称
//ERROR ******* found*******
const char * getTD()const{return &student_id;} //返回学号
int getNormal()const{returnnormal;} //返回平时成绩
int getMidterm()const{ return midterm;}
//返回期中考试成绩
int getEndOfTerm()const{return end_of_term;} //返回期末考试成绩
int get;Final()const; //返回总评成绩
private:
const char * course; //课程名称
char student_id[12]; //学号
int;normal; //平时戍绩
int midterm;//期中考试成绩
int end_of_term; //期末考试成绩
};
//总评成绩中平时成绩占20%,期中考试占30%,期末考试占50%,最后结果四舍五入为一个整数
//ERROR *******found*******
int getFinal()const{
return normal * 0.2+midterm* 0.3+end_of_term *0.5+0.5;
}
int main(){
char English[]=\\
(1)strcpy(student_id,the_id);
(2)coast char * getID()coast{return student_jd;}
(3)int Score::getFinal()const{
解析:(1)主要考查考生对strcpy()函数的掌握情况,strcpy(参数一,参数二)函数的功能是将参数二的字符串复制给参数一,因此在这里student_id应该位于参数一的位置,即strcpy(student_id,the_id);。
(2)主要考查考生对函数返回值的掌握情况,根据注释:返回学号可知学号应该由一个字符串组成。再看函数要返回的类型:const char * ,可知要返回一个char型指针,也就是一个char型数组,而&student_id是一个char型数组指针,因此直接写studentjd即可。
(3)主要考查考生对类的成员函数的掌握情况,因为getFinal函数是Score类的成员函数,所以在定义时要加上类名和作用域符,即Score::。
简单应用题
2.请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有坐标点类point、线段类Line和三角形类Triangle的定义,还有main函数的定义。程序中两点间距离的计算是按公式实现的,三角形面积的计算是按公式
实现的,其中
(1)const Point&p
(2)pl(p1),p2(p2)
(3)Point p1,Point p2,Point p3
(4)(1engthl()+Length2()+length3())/2
解析:(1)主要考查考生对函数形参的掌握,由函数的注释可知有本坐标点到达某个坐标点类的距离,再根据函数体return sqrt((x—p.x)*(x—p.x)+(y—p.y)*(y—p.y));可知,该坐标点类名为p,因此可以知道形参为Point& p,为了不改变该坐标点的值,前面要加上eonst。
(2)主要考查考生对构造函数的掌握,对于常变量型私有成员const Point p1,p2,只能用成员初始化列表进行赋值。
(3)主要考查考生对构造函数的掌握,由空格后面的语句:p1(p1),p2(p2),p3(p3){}可知,该构造函数需要进行成员列表初始化,再看类的私有成员const Point p1,p2,p3,可知p1,p2,p3是Point类型,因此形参为Point p1,Point p2,Point p3。
(4)主要考查考生对成员函数的掌握,根据函数注释,可知本函数要求计算三角形面积,再看题目的提示:s=(a+b+c)/2。可知空格处要填的是三角形的三条边之和除以2,而求边长的函数已经给出,这里直接调用即可。
综合应用题
3.请打开考生文件夹下的解决方案文件proj3,其中使用友元函数访问类的私有数据成员,求出两个数据成员的大于1的最小公因子。请编写友员函数FriFun,使其输出结果为:
Common denominator is 2
要求:补充编制的内容写在“//********333********”与“//********666********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//proj3.h
class FriFunClass
{
int a,b;<
本文档预览:3600字符,共4617字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载