面向对象程序设计期末考试
更新时间:2023-05-31 07:47:01 阅读量: 实用文档 文档下载
面向对象程序设计期末考试
中央广播电视大学2006-2007学年年度第一学期“开放本科”期末考试
计算机专业 面向对象程序设计 试题
2007年1月
一、单项选择题(每小题1分,共20分)
1.由C++源程序文件编译而成的目标文件的默认扩展名为( C )。
A.cpp B.exe C.obj D.lik
2.设x和y均为bool量,则x&&y为真的条件是( A )。
A. 它们均为真 B.其中一个为真
C. 它们均为假 D. 其中一个为假
3.在下面的二维数组定义中,正确的语句是( C )。
A.int a[5][]; B.int a[][5];
C.int a[][3]={{1,3,5},{2}}; D.int a[][10];
4.在文件包含命令中,被包含文件的扩展名( C )。
A.必须是 .h; B.不能是 .h;
C.可以是 .h或 .cpp; D.必须是 .cpp;
面向对象程序设计期末考试
5.要使语句“p=new int[10][20]”正确,p应事先定义为( D )。
A.int *p; B.int **p;
C.int *p[20]; D.int (*p)[20];
6.在关键字public后定义的成员为该类的( B )成员。
A.私有 B. 公有 C.保护 D.任何
7.假定AA为一个类,a为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为( B )。
A.a B.AA::a
C.a( ) D. AA::a( )
8.队列具有( A )的操作特性。
A.先进先出 B.先进后出 C.进出无序 D.仅进不出
9.假定AB为一个类,则执行“AB a,b(3),*p”语句时共调用该类构造函数的次数为( D )。
A. 5 B. 4 C. 3 D. 2
10.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )。
面向对象程序设计期末考试
A. 作为友元函数重载的1元运算符
B. 作为成员函数重载的1元运算符
C. 作为友元函数重载的2元运算符
D. 作为成员函数重载的2元运算符
二、填空题(每空2分,共20分)
1.当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到 下一行 的开始位置。
2.假定x和y为整型,其值分别为16和5,则a/y和double(x)/y的值分别为 3 和 3.2 。
3.strlen(“apple”)的值为 5 。
4.C++程序运行时的内在空间可以分为全局数据区,堆区,栈区和 代码 区。
5.假定a是一个一维指针数组,则a+i所指对象的地址比a大 4×i 字节。
6.如果一个派生类只有一个唯一的基类,则这样的继承称为 单继承 。
面向对象程序设计期末考试
7.假定AA是一个类,“AA * abc()const;”是该类中的一个成员函数的原型,在该函数体中 不能够 向*this或其成员赋值。
8.假定用户没有给一个名为AB的类定义构造函数,则系统为其定义的构造函数为 AB( ) 。
9.假定用户为类AB定义了一个构造函数“AB(int aa){a=aa;}”,该构造函数实现对数据 a 的初始化。
10.作为类的成员函数重载地个运算符时,参数表中只有一个参数,说明该运算符有 2 个操作数。
三、程序填充题(对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。每小题6分,共24分)
1.打印出2至99之间的所有素数(即不能被任何数整除的数)。 #include<iostream.h>
#include<math.h>
void main()
{
int i,n;
面向对象程序设计期末考试
for(n=2;n<99;n++){
int temp=int(sqrt(n));//求出n的平方根并取整 for(i=2; ⑴ ;i++)
if(n%i==0) ⑵ ;
if(i>temp)cout<<n<<' ';
}
cout<<'\n';
}
⑴i<=temp ⑵ break
2.下面是对按从小到大排列的有序数组a[n]中进行二分查找x的算法,若查找成功返回该元素的下标,否则返回-1。
int BinnarySearch(int a[],int n,int x)
{
int low=0,high=n-1;//定义并初始化区间下界和上界变量 int mid; //定义保存中点元素下标的变量 while(low<=high){
面向对象程序设计期末考试
mid=(low+high)/2;
if(x==a[mid]); ⑴
else if(x<a[mid])high=mid-1;
else; ⑵
}
return -1;
}
⑴return mid ⑵low=mid+1
3.请补充完整如下的类定义:
#include<string.h>
class A{
char *a;
public:
A(){a=0;}//定义无参构造函数,使A的值为空
面向对象程序设计期末考试
A(char *aa){
a= ⑴ ;//进行动态存储分配
strcpy(a,aa);//用aa所指字符串初始化a所指向的动态存储空间
}
⑵ ;//定义析构函数,删除
};
⑴ new char[strlen(aa)+1]
⑵~A(){delete []a;}
4. 一个类定义如下:
class Goods
{
private:
char gd_name[20];
int weight; a所指向的动态存储空间
面向对象程序设计期末考试
static int totalweight;
public:
Goods(char *str,int w){
strcpy(gd_name,str);
weight=w;
totalweight+=weight;
}
~Goods(){totalweight-=weight;}
char * GetN(){ ⑴ ;}
int GetW(){return weight;}
static int GetTotal_weight(){
⑵ ;
}
};
⑴cout<<gd_name<<endl ⑵return totalweight
面向对象程序设计期末考试
四、理解问答题(写出前两小题的程序运行结果和指出后两小题的程序(或函数)所能实现的功能。每小题6分,共24分) 1. #include<iostream.h>
const int T=8;
void main()
{
int i,s=0;
for(i=1;i<=T;i++){
s+=i*i;
cout<<s<<' ';
}
cout<<endl;
}
运行结果:1 5 14 30 55 91 140 204
2. #include<iostream.h>
面向对象程序设计期末考试
class CE{
private:
int a,b;
int getmax(){return(a>b?a:b);}
public:
int c;
void SetValue(int x1,int x2,int x3){
a=x1,b=x2,c=x3;
}
int GetMax();
};
int CE::GetMax(){
int d=getmax();
return(d>c?d:c);
}
面向对象程序设计期末考试
void main()
{
int x=5,y=12,z=8;
CE ex;
ex.SetValue(x,y,z);
cout<<ex.GetMax()<<endl;
}
运行结果:12
3. int ff(int x,int y){
int z;
cout<<x<<'+'<<y<<'=';
cin>>z;
if(x+y==z)return 1;else return 0;
}
函数功能:输入2个整数相加的结果,结果正确返回1,否则返回0
面向对象程序设计期末考试
4.char *f(char *s){
int n=strlen(s);
char * r=new char[n+1];
for(int i=0;i<n;i++)
if(s[i]>='a' && s[i]<='z')r[i]=s[i]-'a'+'A'; else r[i]=s[i];
r[n]='\0';
return r;
}
函数功能:将字符串中的小写字母转换为大写
五、编程题(每小题6分,共12分)
1. 按照下面函数原型语句编写一个递归函数求出并返回数组a中n个元素的平方和。
int f(int a[],int n)
程序如下:
int f(int a[],int n){
面向对象程序设计期末考试
if(n==1)return a[0]*a[0];
else return a[n-1]*a[n-1]+f(a,n-1);
}
2. 根据下面类中Sum函数成员的原型和注释写出它的类外定义。 class AA{
int *a;
int n;
int MS;
public:
void InitAA(int aa[],int nn,int ms) {
if(nn>ms){cout<<"Error!"<<endl;exit(1);} MS=ms;
a=new int[MS];
for(int i=0;i<n;i++)a[i]=aa[i];
}
面向对象程序设计期末考试
int Sum();//求出并返回数组a中前n个元素之和 };
程序如下:
int AA::Sum(){
int sum=0;
for(int i=0;i<n;i++)
sum+=a[i];
return sum[U1] ;
}
正在阅读:
面向对象程序设计期末考试05-31
森林防火心得体会01-14
投标文件刻盘参考样本(杭州清单格式)04-29
上海市浦东新区2018届高三下学期质量调研(二模)数学试(含详细03-18
高一三角同步练习3(三角函数定义)09-03
盐源职业教育十二五发展规划09-23
马克思主义基本原理期末重点06-25
盾构施工应急预案01-15
镇宣传工作存在的问题及整改措施03-20
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 程序设计
- 期末
- 面向
- 对象
- 考试