[计算机类试卷]国家二级C++机试(操作题)模拟试卷345及答案与解析.doc

上传人:appealoxygen216 文档编号:497427 上传时间:2018-11-28 格式:DOC 页数:9 大小:38.50KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷345及答案与解析.doc_第1页
第1页 / 共9页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷345及答案与解析.doc_第2页
第2页 / 共9页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷345及答案与解析.doc_第3页
第3页 / 共9页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷345及答案与解析.doc_第4页
第4页 / 共9页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷345及答案与解析.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、国家二级 C+机试(操作题)模拟试卷 345及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 prog1下的工程 prog1,该工程中包含程序文件 main epp,其中有 Salary(“工资 ”)类和主函数 main的定义。程序中位于每个 “ ERROR*found*”之后的一行语句行有错误,请加以改正。改正后程序的输出结果应为: 应发合计: 3500 应扣合计: 67 5 实发工资: 3432 5 注意:只修改每个 “ ERROR*found*”下的那一行,不要改动程序中的其他内容。 #include using namespace std; class

2、Salary public: Salary(const char*id,double the base, double the bonus, double the tax) ERROR*found* : the base(base), the bonus(bonus), the tax(tax) staff id=new charstrlen(id)+ 1; strcpy(staff id, id); ERROR*found* 一 Salary()delete*staff_id; ) double getGrossPay()constreturn base+bonus; )返回应发项合计 do

3、uble getNetPay()constreturn get GrossPay()一 tax; 返回实发工资额 private: char*staff id; 职工号 double base; 基本工资 double bonus; 奖金 double tax; /代扣个人所得税 ; int main() Salary pay(”888888”, 3000 0, 500 0, 67 50); cout; using namespace std; class Date 日期类 int year, month, day;年、月、日 public: Date(int year, int month,

4、 int day): year(year), month(month), day(day) int getYear()constreturn year; int getMonth()constreturn month; ) int getDay()constreturn day; ) ; class Person人员类 char name14,姓名 bool is male;性别,为 true时表示 男性 Date birth date;出生日期 public: Person(char*name, bool is male, Date birth_date) *found* : _ strcp

5、y(this-name, name); const char*getName()constreturn name; ) bool isMale()constreturn is male; Date getBirthdate()const return birth date; ) 利用 strcmp()函数比较姓名,返回一个 正数、 0或负数,分别表示大于、等于、小于 int compareName(const Person friend ostream&operator void MyString: EeveEse() *333* /*666* int main() char inname12

6、8, pathname80; strcpy(pathname, ”); sprintf(inname, ”in dat”, pathname); coutname, name);可知,要使用成员列表初始化的成员为 is_male和birth_date。 (2)主要考查考生对 strcmp()函数的掌握,先看程序对该函数的功能要求:利用strcmp()函数比较姓名,返回一个正数、 0或负数,分别表示大于、等于、小于。因为 strcmp()函数的功能是比较字符串大小,因此可以直接被 retum语句调用:return strcmp(nalne, P getName();。 (3)主要考查考生对成员函

7、数的掌握,程序的注释为:显示出生月,由此可以知道这里要输出出生月份,直接调用函数 getMonth()即可。 三、综合应用题 3 【正确答案】 int length=Strlen (Str); 把字符串 str的长度赋值给 lenth for(int i=0, j=length一 1; ij; i+, j-) 从 i=0, j=length一 1, ij为条件开始 遍历,并把 Stri和 Strj交换 char temp=stri; 给定义的临时变量 temp赋值为 stri stri=strj; 给 Stri赋值 Strj strj=temp; 给 Strj赋值为 temp 【试题解析】 主要考查考生对动态数组的掌握,先看题目要求:成员函数reverse的功能是将字符串进行 “反转 ”。再由类的定义可知,字符串存放在动态数组 str中,由 strlen函数得出字符串的长度,最后一个字符的下标为 length一 1,第一个字符的下标为 0,将这两个字符交换,然后 j依次减 1同时 i依次 加 1,继续交换,直到 i大于 j时停止循环即可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1