深圳高级技工学校2009-2010学年 第二学期 C语言程序设计(高级) 评分标准(A卷)
:
号
学
:
级
班
:
名
姓
┄
┄
┄
┄
┄
┄┄
┄┄┄
线
此
过
超
得
不
题
答
生
考
线
订
装
┄┄┄┄┄┄┄┄┄┄┄┄题号一二三四五六总分得分 评卷人 考试时间:100分钟 总分100分
一、单选题(每题3分,共18分)
1、下面的哪个保留字不能作为函数的返回类型? C
A、void B、int C、new D、long
2、假定AB为一个类,则执行“AB? a 4 , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为( B )。
A、3 B、4 C、6 D、9
3、由C++目标文件连接而成的可执行文件的缺省扩展名为?( B????)。 A、cpp B、exe C、obj D、lik
4、类中定义的成员,其隐含访问权限为?(????C )。 A、public B、protected C、private D、static
5、当使用fstream流类定义一个流对象并写入磁盘文件时,文件的打开方式为(??A???)。
AB、ios::in C、ios::read D??AD??)。 A、void? getAge int? a 5 , int b B、?void? getAge int , int C、void? getAge char , int b 5 D、int? getAge int? x ; char? y
3、下面的说法中,正确的是:?(????AC?? )。 A、派生类的对象可以复制给基类对象 B、基类的对象可以复制给派生类对象 C、派生类对象可以作为基类的对象使用 D、基类对象可以作为派生类的对象使用
三、程序设计题。(30分)
编写一个“形状Shape”类,没有属性,有计算面积、计算周长的抽象行为;另一个“正方形Square”类具有“边长” length 的属性(double类型),一个参数的构造函数初始化边长属性,也有计算面积size、计算周长long的行为。 “Square”类由“Shape”类公共派生。
画出类的设计视图并编写代码实现 可以不写main 函数 。类的设计要符合面向对象的封装特性。(注意编码规范)
类图设计: 10’
#include
class Shape public:
virtual double getSize 0; //计算面积
virtual double getLong 0; //计算周长
;
class Square:public Shape public:
Square double d //构造函数 length d; double getSize //计算面积 return length*length; double getLong //计算周长 return 4*length; private:
double length;
;
void main Square s 5 ;
cout s.getSize endl;
cout s.getLong endl; Shape类的代码: 2’
virtual double getSize 0; 3’
Square类的代码: 2’
Square double d : 3’
double getSize : 5’
double getLong : 5’
四、程序设计题。(40分)
编写一个操作时间的程序,时间包含小时、分、秒数据,默认时间为0时0分0秒,可以带3参数初始化时间,有判断时间是否有效(小时在0~23之间)、显示时间(3小时45分5秒的格式为: 3:45:5)、计算下1秒的行为。
画出类的设计视图并编写代码实现。类的设计要符合面向对象的封装特性。(注意编码规范)
类图设计: 10’
#include
class Time public:
Time //默认构造函数 hour minute second 0; Time int a,int b,int c //三参数构造函数 hour a;
minute b;
second c; int isTime //时间是否有效 if hour 0 || hour 23 return 0;
else if minute 0 || minute 59 return 0;
else if second 0 || second 59 return 0;
else return 1; void show //显示时间 cout hour ":"