全国2007年1月高等教育自学考试面向对象程序设计试题
更新时间:2023-07-22 19:29:01 阅读量: 实用文档 文档下载
c++程序设计历年真题
全国2007年1月高等教育自学考试面向对象程序设计试题
课程代码:02328
一、单项选择题(本大题共10小题,每小题2分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.一个函数功能不太复杂,但要求被频繁调用,选用( )
A.内联函数 B.重载函数 C.递归函数
D.嵌套函数
2.C++的继承性允许派生类继承基类的( ) A.部分特性,并允许增加新的特性或重定义基类的特性 B.部分特性,但不允许增加新的特性或重定义基类的特性 C.所有特性,并允许增加新的特性或重定义基类的特性 D.所有特性,但不允许增加新的特性或重定义基类的特性 3.在C++中,封装是借助什么达到的?( ) A.结构 B.类 C.数组
D.函数
4.建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为(A.自己所属类、对象成员所属类、基类的构造函数 B.对象成员所属类、基类、自己所属类的构造函数 C.基类、对象成员所属类、自己所属类的构造函数 D.基类、自己所属类、对象成员所属类的构造函数
5.类的析构函数是对一个对象进行以下哪种操作时自动调用的?( )
A.建立 B.撤消 C.赋值
D.引用
6.下列不是..描述类的成员函数的是( ) A.构造函数 B.析构函数 C.友元函数
D.拷贝构造函数 7.所有在函数中定义的变量,连同形式参数,都属于( ) A.全局变量 B.局部变量 C.静态变量
D.寄存器变量
)
c++程序设计历年真题
8.假定AB为一个类,则执行AB x;语句时将自动调用该类的( ) A.有参构造函数 C.拷贝构造函数 a()的格式为( ) A.x.a C.x->a
B.x.a() D.x->a() B.无参构造函数 D.赋值构造函数
9.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员
10.对于任一个类,用户所能定义的构造函数的个数至多为( ) A.0 C.2
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。 11.对象的四大基本特性是多态性、继承性、______和封装性。
12.为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为
____。
13.C++程序的源文件扩展名为____。
14.所有模版都是以_____关键字和一个形参表开头的。
15.在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是___定义的头文件。 16.一个const对象只能访问___成员函数。 17.C++是通过引用运算符____来定义一个引用的。 18.若y是x的引用,则对y的操作就是对____的操作。 19.执行_____操作将释放由p所指向的动态分配的数据空间。 20.C++的流库预定义了4个流,它们是cin、cout、_____和clog。 三、改错题(本大题共2小题,每小题6分,共12分)
21.假定下面程序将分数a和b相加,其和赋值给c并输出,要求输出结果为“13/18”,其主函数5
到8行之间存在着三行语句错误,请指出错误行的行号并改正。 #include<iostream.h> class Franction{ int nume; int deno;
//定义分数类 //定义分子 //定义分母 B.1 D.任意个
c++程序设计历年真题
public:
//把*this化简为最简分数,具体定义在另外文件中实现 void FranSimp();
//返回两个分数*this和x之和,具体定义在另外文件中实现 Franction FranAdd(const Franction& x); //置分数的分子和分母分别0和1 void InitFranction() {nume=0; deno=1;} //置分数的分子和分母分别n和d
void InitFranction(int n,int d) {nume=n; deno=d;} //输出一个分数
void FranOutput() {cout<<nume<<′/′<<deno<<endl;} };
void main() {
Franction a,b,c; a.InitFranction(7,18); b.InitFranction(1); c.InitFranction(); c=FranAdd(a,b);
cout<<c.nume<<′/′<<c.deno<<endl; }
错误行的行号为______、______和______。 分别改正为______、______和______。
22.下面是一个类的定义,在5到12行之间有3行存在语法错误,请指出错误行的行号并改正。
class CE {
private: int a,b;
int getmin() {return (a<b?a:b);}
public int c;
//1行 //2行 //3行 //4行 //5行 //6行 //1行 //2行 //3行 //4行 //5行 //6行 //7行 //8行 //9行
c++程序设计历年真题
void SetValue(int x1,int x2,int x3) { a=x1;b=x2;c=x3; };
int GetMin();
};
int GetMin(){
int d=getmin(); return(d<c? d:c);
}
错误行的行号为______、______和______。 分别改正为______、______和______。
//7行 //8行 //9行 //10行 //11行 //12行 //13行 //14行 //15行
四、程序填空题(本大题共3小题,每小题6分,共18分)
请按提示要求完成以下程序段的填空。 23.class A {
int a,b; public:
___ A(int aa=0,int bb=0) { a=aa; b=bb;}____ //定义构造函数,使参数aa和bb的默认值
为0,
//在函数体中用aa初始化a,用bb初始化b
}; main(){ A *p1,*p2;
___ p1=new A;___; //调用无参构造函数生成由p1指向的动态对象 ___ p2=new A(4,5);___; //调用带参构造函数生成由p2指向的动态对象,
//使a和b成员分别被初始化为4和5
}
(1) (2) (3) 24.一种类定义如下:
#include<iostream.h>
c++程序设计历年真题
#include<string.h> class Books { private:
char bk_name[20]; int price;
static int totalprice; public:
Books(char*str,int p){
strcpy(bk_name,str); price=p;
totalprice+=price; }
~Books(){totalprice-=price;}
char*GetN(){____(4)____;}//返回书名称
int GetP(){return price;}
____(5)____GetTotal_Price(){ //定义静态成员函数 ____(6)____; } };
25.已知一个类的定义如下:
#include<iostream.h> class AA { int a[10]; int n; public:
void SetA(int aa[],int nn);
//用数组aa初始化数据成员a, //用nn初始化数据成员n
int MaxA(); //从数组a中前n个元素中查找最大值
//返回总价格 //构造函数
//strcpy函数将str字符串的内容拷贝到bk_name //书的名称 //书的价格 //同类书总价格
c++程序设计历年真题
void SortA(); //采用选择排序的方法对数组a中前n个元素
//进行从小到大排序
void InsertA(); //采用插入排序的方法对数组a中前n个元素进行从小到大排序 void PrintA(); //依次输出数组a中的前n个元素 };
voidAA::SortA() {
int i,j;
for(i=0; ____(7)____;i++){ int x=a[i],k=i; for(j=i+1; j<n;j++)
if(a[j]<x){ x=a[j]; k=____(8)____;
}
a[k]=a[i]; a[i]=____(9)____; } }
五、程序分析题(本大题共6小题,每小题5分,共30分)
阅读以下程序,写出其运行结果。 26.#include<iostream.h>
const int N=6; void fun(); void main() {
for(int i=1;i<N;i++) fun();
c++程序设计历年真题
void fun() {
static int a=2; cout<<(a+=3)<<′ ′; }
27.#include<iostream.h>
#include<iomanip.h> class fun{
friend ostream& operator<<(ostream&,fun);
}ff;
ostream& operator<<(ostream& os,fun f){
os.setf(ios::left); return os;
} void main() {
cout<<setfill(′*′)<<setw(10)<<12345<<endl; cout<<ff<<setw(10)<<54321<<endl;
}
28.#include<iostream.h>
class a {
public:
virtual void func(){cout<<"func in class a"<<endl;}
}; class b {
public:
virtual void func(){cout<<"func in class b"<<endl;}
c++程序设计历年真题
class c:public a,public b {
public:
void func(){cout<<"func in class c"<<endl;}
};
void main() {
c c; a &pa=c; b &pb=c; pa.func(); pb.func();
}
29.#include<iostream.h>
class testa{
public:
testa(){a1=0;} testa(int i){a1=i;}
void printout(){cout<<a1;} private:
int a1;
};
class testb:public testa{
public:
testb(){b1=0;}; testb(int i,int j,int k); void printout(); private:
int b1; testa aa;
c++程序设计历年真题
testb::testb(int i,int j,int k):testa(i),aa(j){b1=k;} void testb::printout(){
testa::printout(); cout<<endl;
}
void main(){
testb tt[2]; tt[0]=testb(9,3,5); tt[1]=testb(8,4,7); for(int i=0;i<2;i++) tt[i].printout();
}
30.#include<iostream.h>
void main()
{ for(int i=-1;i<4;i++)
cout<<(i ? ′ 0′:′*′);
}
31.#include<iostream.h>
class Date
{ int Year,Month,Day;
public:
void SetDate(int y,int m,int d){Year=y;Month=m;Day=d;} void PrintDate(){cout<<Year<<"/"<<Month<<"/"<<Day<<endl;} Date(){SetDate(2000,1,1);}
Date(int y,int m,int d){SetDate(y,m,d);}
}; class Time {
int Houre,Minutes,Seconds; public:
void SetTime(int h,int m,int s){Houre=h;Minutes=m;Seconds=s;}
c++程序设计历年真题
void PrintTime(){cout<<Houre<<":"<<Minutes<<":"<<Seconds<<endl;} Time(){SetTime(0,0,0);}
Time(int h,int m,int s){SetTime(h,m,s);}
};
class Date_Time:public Date,public Time {
public:
Date_Time():Date(),Time(){};
Date_Time(int y,int mo,int d,int h,int mi,int s): Date(y,mo,d),Time(h,mi,s){}
void PrintDate_Time(){PrintDate();PrintTime();}
};
void main()
{ Date_Time dt_a,dt_b(2002,10,1,6,0,0);
dt_a.PrintDate_Time(); dt_b.SetTime(23,59,59); dt_b.PrintDate_Time(); dt_a.SetDate(2002,12,31); dt_a.PrintDate_Time();
}
正在阅读:
全国2007年1月高等教育自学考试面向对象程序设计试题07-22
童话故事7篇【中英互译】 睡前小故事02-22
伊人红妆02-14
《会计基础》经典各章习题及参考答案04-26
玩木头人的游戏作文500字06-21
江华校企合作助推非遗传承 瑶族织锦实现年创收4000多万元03-11
体育类期刊投稿邮箱05-26
不锈钢活塞杆08-18
告别“小白”作文300字06-26
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 自学考试
- 程序设计
- 高等教育
- 试题
- 面向
- 对象
- 全国
- 2007
- 浙江省五校2011届高三第一次联考数学理试题
- 中小企业财务风险揭示与防范
- 2012湘潭市驾校一点通考试C1小型手动档汽车仿真试题
- 初中应用题的解题技巧
- 广告学教学大纲-赵艳丽
- 《建筑施工安全检查标准》(JGJ59—99)全套表格
- CATIA_V5教程-工程图设计
- 2015.1卫生保健总结
- 上海外国语大学考研翻译硕士英语真题2013
- 新标准大学英语综合教程4教师用书Unit1
- 第一讲:中国共产党的创立
- 2011英语四级考试仔细阅读练习(2)
- 工字钢主梁计算书
- 网络时代危机治理中的政府公共关系_张菁
- 2014届各地模拟考生活与哲学主观题
- 7万只肉羊标准化养殖场建设项目可行性研究报告
- 个人实习证明图片
- 2014年日历(记事可打印完美版)
- 签发现金支票与提现
- 高二语文期中检测测试试题6