1、国家二级 C+机试(操作题)模拟试卷 348及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 prog1下的工程 prog1。此工程中包含程序文件 main cpp,其中有类 Score(“成绩 ”)和主函数 main的定义。程序中位于每个 “ ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 学号: 12345678 课程:英语 总评成绩: 85 注意:只修改每个 “ ERROR*found*”下的一行,不要改动程 序中的其他内容。 #include using namespace std; class Score pub
2、lic: 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), midterm(the midterm), end of term(the end of term) ERROR*found* strcpy(the id,student_id); const char*getCourse()constreturn course; )返回课程名称 ERROR*found
3、* const char*getID()constreturn 总评成绩中平时成绩占 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=”英语 ”; Score score(English, ”12345678”, 68, 83, 92); cout using namespace std; char*GetNum(char*see, char*bur) w
4、hile(*src!= 0) if(isdigit(*src)break; SrC+; if(*src= 0) /*found* _; while(*src!= 0 void writeToFile(const char* ); main cpp #include #include”sList h” us ing namespace std; sList:一 sList() Release(); void sList: Prepend(char C) *333* /*666* void sList: Del() sListItem*temp=h; h=h一 next; delete temp;
5、 void sList: : Print()const sListItem*temp=h; while(temp!=0) 判断是否到达链表尾部 coutdata”; temp=temp一 next; coutPrint(); toutdata=c; 把 c赋值于结构体 temp成员 data ternp一 next=h; 把 h赋值于结构 ternp体成员 next h=temp; 把 temp赋值给 h,即 h指向 temp指向的空间 【试题解析】 主要考查考生对链表的掌握,成员函数 Prepend的功能是在链表头部加入一个新元素。形参 c是一个 char型变量,因此要定义一个新的结构体指针temp,并给它分配 sListItem类型空间,把形参 c中的值赋给 temp的数据域,并使 temp通过指针链接到 链表上。