• u******* 加入了本站
  • 游客 下载了资源 LED 灯月亮灯 001 [高分辨率] 3d打印图纸stl文件
  • 游客 下载了资源 LED 灯月亮灯 001 [高分辨率] 3d打印图纸stl文件
  • 游客 购买了资源 国开学习网电大《☆电子商务法律与法规》形考任务四答案
  • 游客 下载了资源 国开电大《Flash动画制作》形考课程考核成品答案实训5:补间动画
  • 游客 购买了资源 国开电大《Flash动画制作》形考课程考核成品答案实训5:补间动画
  • 游客 下载了资源 国开电大《Flash动画制作》形考课程考核成品答案实训4:引导层和遮罩层的应用
  • 游客 购买了资源 国开电大《Flash动画制作》形考课程考核成品答案实训4:引导层和遮罩层的应用
  • 游客 下载了资源 国开电大《Flash动画制作》形考课程考核成品答案实训3:元件和库应用
  • 游客 下载了资源 国开电大《Flash动画制作》形考课程考核成品答案实训3:元件和库应用

电大试卷2012年1月1008面向对象程序设计

试卷代号:1008 座位号匚口
中央广播电视大学2011-2012学年度第一学期“开放本科”期末考试
面向对象程序设计试题
2012年1月
一、单项选择题(毎小题2分,共20分)
1.C+ +程序的基本功能模块为( )。
A.表达式
B.标识符
C,语句
D.函数
2.当处理特定问题的循环次数已知时,通常釆用()来解决。
A. for循环
B.while循环
C. do循环
D.switch语句
3.已知x的值为4,下面表达式的值等于5的是( )
A. x+ +
B. x
C. + + x
D. x
4.假定变量m定义为“intm = 7;”,则定义变量p的正确语句为( )。
A. int p= &m:
B. int * p= &m;
C. int &p= * m;
D. int * p = m;
5,下标变量所对应的指针访问表达式为( )。
A. * (a+ k)
B. a[0] + k
C. * (a[0] + k)
D. *a+k
6.假定AA为一个类,a为该类私有的数据成员,GetValue()*该类公有函数成员,它返 回a的值,x为该类的一个对象,则访问x对象中数据成员a的合法格式为( )
A. x. a
B. x.a()
c. x一>GetValue()
D. x. GetValue()
7.类的构造函数是在定义该类的一个()时被自动调用执行的。
A.成员函数
B.数据成员
C.对象
D.友元函数
8.假定AB为一个类,则执行“AB x;”语句时将自动调用该类的().
A.带参构造函数
B.无参构造函数
C.拷贝构造函数
D.赋值重载函数
9.假定一个类AB只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该类定义的无参构造函数为()。
A.AB() {a=0 ; }
B.AB(int aa=0):a(aa)i}
C. AB(int aa): a(aa)i
D.AB() i}
10.如果表达式a++中的“++”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为().
A. a. operator++()
B. operator十十(a)
c. operator++(a,1)
D. operator++(l,a)
二、填空题(毎小题2分,共20分)
1.存储字符串”a”需要占用—个字节。
2.重载一个函数的条件是:该函数必须在参数的 或参数对应的类型上 与其它同名函数不相同。
3.假定P是一个指向整数对象的指针,则用 表示该整数对象。
4.元素a[i]的指针访问方式为 。
5.已知有定义“int a[3] = {8,7,9};”,则* a + 5的值为 。
6.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度 为length,则队列为满的条件是 。
7.对类中对象和基类成员的初始化只能通过在构造函数中给出的 来实 现。
8.假定AB为一个类,则执行“ABa, b(2), c[3], *p=&a;”语句时共调用该类无参构 造函数的次数为—次。
9.假定派生类及其基类中都定义有同名函数成员,若要在派生类中调用基类的同名函数 成员时,就需要在其函数名前加上 和类区分符。
10.派生类的成员函数能够直接访问所含基类的 成员和保护成员。
三、程序填充题(根据题意在横线上填写合适的内容。毎小题6分,
共24分)
1.在输出屏幕上打印出一个由字符’* ‘组成的等腰三角形,该三角形的高为5行,从上
到下每行的字符数依次为1,3,5,7,9。
# include< iostream. h>
void main()
{
inti,j;
for(i=l; ;i+ + ) (
for(j = l;j< = 9;j + + )
if(jV = 5 —i I I j〉= 5 + i) coutVV,,;
else ;
coutV Vendl;
}
}
2.从字符串参数a中删除所有与参数c的值相同的字符。
void delstr(char , char c)
{
int i —0;
while(aEiJ) (
if(a [i] = =c) (
for(int j = i+l; j + + ) ;
aEj —1] = ,\0,;
}
else ;
3.下面是类ARRAY的定义。
class ARRAY(
int *v; 〃指向存放数组数据的空间
int s; 〃数组大小
public:
(int a口,int n); 〃构造函数的声明
{delete []v;} 〃析构函数的定义
int sizeO (return s;}
int& operator]] (int n);
};
4.下面给出类A和使用它的主函数
class A {
int a,b;
public:
A(int aa=O, int bb=O) (a = aa; b = bb;}
);
void mainO (
A * pl, * p2;
pl = ; 〃调用无参构造函数生成由Pl指向的动态对象
p2 = ; 〃调用带参构造函数生成由p2指向的动态对象,
〃使a和b成员分别被初始化为4和5
}
四、理解问答题(分别写岀前2小題的程序运行结果和后2小题的函 数功能。毎小题6分,共24分)
1.# include< iostream, h)
const int B=2;
void mainO
{
int p=l ,s=l j
while(sV20) {
p* =B;
s+ = p;
}
coutVV”s= “V VsVVendl;
)
运行结果:
2.# include< iostream, h)
class CE {
private:
int a»b9c;
int getminO {return (a<b? a:b) ;} public:
void SetValue(int xl,int x2, int x3) {
a=xl; b=x2; c=x3;
}
int GetMinO {int d = getmin() ; return (d<c? d:c) ;}
);
void mainO
{
int x=5,y=12jz=8;
CE * ep = new CEj
ep — ) SetValue( x, y, z);
cout< <ep— )GetMin() <<endl;
}
运行结果:
3.int ff(int x, int y, char op) (
int z;
switch(op) ( case ‘ +’:
cout<<x<<, + ,<<y<<, = ,; cin>>z; if(x+y==z) return 1 ; else return 0; break;
case ‘ 一 ‘:
cout< <x< <, — ,<<y<<, = ,; cin>>z; if(x一y==z) return 1 ; else return 0; break;
default: cout<<“运算符错,退出!exit(l); }
}
函数功能:
4.char * f(char * s) (
int n= strlen(s);
char * r=new char[n+l];
for(int i = 0; iVn; i+ + )
if(s[i]>=W && s[i]V =,z>) =
else =
r[n]=,\0,;
return r ;
}
函数功能:
五、编程题(每小题6分,共12分)
1.根据下面函数声明,编写一个函数,求出由指针a所指向的字符串中包含的十进制数 字字符的个数,该个数由函数返回。
int fun(char * a);
2.根据下面函数声明编写出函数定义,该函数的功能是比较两个数组a[n]和b[n]是否 相等,若每个元素的值都对应相等则返回1,否则返回0o
int CompareBig(int , int b[] , int n);

 

 

 

 

试卷代号:1008
中央广播电视大学2011-2012学年度第一学期“开放本科”期末考试
面向对象程序设计 试题答案及评分标准
(供参考)
2012年1月
一.单项选择题(每小题2分,共 20分)
1.D
2.A
3.c
4.B
5.A
6.D
7.c
8.B
9.D
10.c
二.填空题(每小题2分,共20分)
1.2
2.个数(或数目)
3. *p
4.*(a+i)
5.13
6. length= MS
7.初始化表(初值表)
8.4
9.基类名
10.公有(或公用)
三,程序填充题,根据题意在横线上填写合适的内容。(每小题6分,共24分)
评分标准:每空3分
1. i=5,couti〈’* ’
2. a[j一1]-a[门, i十+
3.ARRAY、~ARRAY()
4. new A,new A(4,5)
四、 理解问答题,分别写出前2小题的程序运行结果和指出后2小题的函数功能。(毎小题6 分,共24分)
评分标准:第3、4小题根据叙述完整程度酌情给分。
1.s= 31
2.5
3.以参数x和y作为运算对象,以参数op所存+或一字符作为运算符,要求从键盘上输 入运算结果,若运算正确则返回1否则返回0。
4.根据参数s所指向的字符串,生成一个由r所指向的新字符串并返回,该新字符串使s 字符串中的小写字母均变为大写。
五、 编程题(毎小题6分,共12分)
评分标准:按编程完整程度酌情给分。
1.int fun(char * a)
int i = 0; //I 分
while( * a) (
if(*a〉= ‘O’ && #a〈 = ‘9‘)i++ ;
a+ + ;
} 〃5分
return i; 〃6 分
}
2.int CompareBigCint int int n)
{
int i; //I 分
for(i = 0; i<n; i+ + )
if(a[i]! =b[i]) break; //4 分
if(i= =n ) return 1 ; else return 0; //6 分

资源下载
下载价格2
点点赞赏,手留余香 给TA打赏

AI创作

评论0

请先
支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性
显示验证码

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录