欢迎来到天天文库
浏览记录
ID:19614284
大小:39.50 KB
页数:6页
时间:2018-10-04
《2012c++第八套上机模拟试题及答案解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2012年计算机二级C++第八套上机模拟试题及答案解析来源::91UP快学堂时间:2012/7/30www.91up.com一、改错题 使用VC6打开考生文件夹下的工程kt13_1,此工程包含一个源程序文件kt13_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为: 5 5 源程序文件kt13_1.cpp清单如下: #include classA{ public: /*****************found*****************/ staticintn=1; A(){n++;}; ~A(){n--;};}; /******
2、***********found*****************/ intn=0; intmain(){ Aa; Ab[3]; A*c=newA; c=&a; /*****************found*****************/ cout<3、;改为:cout< (1)在类的声明中只能对静态数据成员进行引用性声明,不能进行静态数据成员初始化; (2)由于静态数据成员是类的成员,所以在初始化时必须限定它所属的类; (3)c为类的对象指针,访问类成员函数时使用符号“->”,而不能用“.”。二、简单应用题 请编写一个函数sortnum(intnum),参数num是一个三位的整数,该函数将num的百位、十位和个位的数字进行重排,并返回由上述的三个数字组成的最大的三位数。 注意:部分源程序已存在文件kt13_2.cpp中。 如输入456后,输出结果如下: 654 请勿修改主函数main和其他函数中的内容,仅在函数sor4、tnum的花括号中填写若干语句。 文件kt13_2.cpp的内容如下: #include intsortnum(intnum) { } voidmain() {intnum; intresult=0; cout<<"请输入一个三位数"; cin>>num; cout<5、 if(number[j]<=number[i]) {temp=number[j]; number[j]=number[i]; number[i]=temp;}} num=number[2]*100+number[1]*10+number[0]; returnnum; 【试题解析】 本题主要考查对基本控制结构和数组的访问,以及根据实际需要建立模型,对数字进行排序的能力,答案中采用的是冒泡排序法。请注意程序中数组下标的范围和两层for循环嵌套中循环变量的取值情况。 三、综合应用题 使用VC6打开考生文件夹下的工程kt13_3。此工程包含一个kt13_3.cpp,其中定义了6、类Person,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义类Person的私有数据成员forename、 surname和money,forename和surname都是char型的指针数据,money是double型的 数据。请在注释“//**1**”之后添加适当的语句。 (2)完成类Person的带三个参数的构造函数Person(char*f,char*s,doublem),分别为forename和surname申请新的空间来存储参数f和s指针指向的内容,注意空间的大小,最后把参数m的值赋给money,请在注释“//**2**”之后添加适当的语7、句。 (3)完成类Person的析构函数的定义,把forename和surname指向的空间释放,请在注释“//**3**”之后添加适当的语句。 (4)完成类Person的成员函数display的定义,使其以格式"fornamesurnamehasmoney"的形式输出内容,请在注释“//**4**”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 输出结果如下: RichardBerkhas1000
3、;改为:cout< (1)在类的声明中只能对静态数据成员进行引用性声明,不能进行静态数据成员初始化; (2)由于静态数据成员是类的成员,所以在初始化时必须限定它所属的类; (3)c为类的对象指针,访问类成员函数时使用符号“->”,而不能用“.”。二、简单应用题 请编写一个函数sortnum(intnum),参数num是一个三位的整数,该函数将num的百位、十位和个位的数字进行重排,并返回由上述的三个数字组成的最大的三位数。 注意:部分源程序已存在文件kt13_2.cpp中。 如输入456后,输出结果如下: 654 请勿修改主函数main和其他函数中的内容,仅在函数sor
4、tnum的花括号中填写若干语句。 文件kt13_2.cpp的内容如下: #include intsortnum(intnum) { } voidmain() {intnum; intresult=0; cout<<"请输入一个三位数"; cin>>num; cout<5、 if(number[j]<=number[i]) {temp=number[j]; number[j]=number[i]; number[i]=temp;}} num=number[2]*100+number[1]*10+number[0]; returnnum; 【试题解析】 本题主要考查对基本控制结构和数组的访问,以及根据实际需要建立模型,对数字进行排序的能力,答案中采用的是冒泡排序法。请注意程序中数组下标的范围和两层for循环嵌套中循环变量的取值情况。 三、综合应用题 使用VC6打开考生文件夹下的工程kt13_3。此工程包含一个kt13_3.cpp,其中定义了6、类Person,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义类Person的私有数据成员forename、 surname和money,forename和surname都是char型的指针数据,money是double型的 数据。请在注释“//**1**”之后添加适当的语句。 (2)完成类Person的带三个参数的构造函数Person(char*f,char*s,doublem),分别为forename和surname申请新的空间来存储参数f和s指针指向的内容,注意空间的大小,最后把参数m的值赋给money,请在注释“//**2**”之后添加适当的语7、句。 (3)完成类Person的析构函数的定义,把forename和surname指向的空间释放,请在注释“//**3**”之后添加适当的语句。 (4)完成类Person的成员函数display的定义,使其以格式"fornamesurnamehasmoney"的形式输出内容,请在注释“//**4**”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 输出结果如下: RichardBerkhas1000
5、 if(number[j]<=number[i]) {temp=number[j]; number[j]=number[i]; number[i]=temp;}} num=number[2]*100+number[1]*10+number[0]; returnnum; 【试题解析】 本题主要考查对基本控制结构和数组的访问,以及根据实际需要建立模型,对数字进行排序的能力,答案中采用的是冒泡排序法。请注意程序中数组下标的范围和两层for循环嵌套中循环变量的取值情况。 三、综合应用题 使用VC6打开考生文件夹下的工程kt13_3。此工程包含一个kt13_3.cpp,其中定义了
6、类Person,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义类Person的私有数据成员forename、 surname和money,forename和surname都是char型的指针数据,money是double型的 数据。请在注释“//**1**”之后添加适当的语句。 (2)完成类Person的带三个参数的构造函数Person(char*f,char*s,doublem),分别为forename和surname申请新的空间来存储参数f和s指针指向的内容,注意空间的大小,最后把参数m的值赋给money,请在注释“//**2**”之后添加适当的语
7、句。 (3)完成类Person的析构函数的定义,把forename和surname指向的空间释放,请在注释“//**3**”之后添加适当的语句。 (4)完成类Person的成员函数display的定义,使其以格式"fornamesurnamehasmoney"的形式输出内容,请在注释“//**4**”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 输出结果如下: RichardBerkhas1000
此文档下载收益归作者所有