2001年10月C全国高等教育自学考试试卷

上传人:枫** 文档编号:585891996 上传时间:2024-09-03 格式:PPT 页数:23 大小:323.02KB
返回 下载 相关 举报
2001年10月C全国高等教育自学考试试卷_第1页
第1页 / 共23页
2001年10月C全国高等教育自学考试试卷_第2页
第2页 / 共23页
2001年10月C全国高等教育自学考试试卷_第3页
第3页 / 共23页
2001年10月C全国高等教育自学考试试卷_第4页
第4页 / 共23页
2001年10月C全国高等教育自学考试试卷_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《2001年10月C全国高等教育自学考试试卷》由会员分享,可在线阅读,更多相关《2001年10月C全国高等教育自学考试试卷(23页珍藏版)》请在金锄头文库上搜索。

1、 Object - Oriented Programming2001年年10月全国高等教育自学考试试卷月全国高等教育自学考试试卷与参考答案与参考答案2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案1一、单项选择题一、单项选择题 ( 共共 10 小题,每小题小题,每小题 2 分分) 1. 在在 C+ 中,函数原型不能标识中,函数原型不能标识 ( ) A. 函数的返回类型函数的返回类型 B. 函数参数的个数函数参数的个数 C. 函数参数类型函数参数类型 D. 函数的功能函数的功能 2. 在在 C+ 程序中,对象之间的相互通信通过程序中

2、,对象之间的相互通信通过 ( ) A. 继承实现继承实现 B. 调用成员函数实现调用成员函数实现 C. 封装实现封装实现 D. 函数重载实现函数重载实现 3. 对于任意一个类,析构函数的个数最多为对于任意一个类,析构函数的个数最多为 ( ) A.0 B.1 C.2 D.3 4. 友元关系不能友元关系不能 ( ) A. 继承继承 B. 是类与类的关系是类与类的关系 C. 是一个类的成员函数与另一个类的关系是一个类的成员函数与另一个类的关系 D. 提高程序的运行效率提高程序的运行效率 DBAB 2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考

3、答答案案25. 在下面函数模板定义中不正确的是(在下面函数模板定义中不正确的是( ) A.template B. template Q F(Q x) Q F(Q x) return Q+x; return x+x; C.template D. template T F(T x) T F(T x) return x*x; return x1; 6. 语句语句 ofstream f(“ab.dat”,ios:app ios:binary); 的功能是建立流对的功能是建立流对象象 f ,试图打开文件,试图打开文件 ab.dat 并与之连接,并且并与之连接,并且 ( ) A. 若文件存在,将文件写指针

4、定位于文件尾;若文件不存在,建立一个新若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件文件 B. 若文件存在,将其置为空文件;若文件不存在,打开失败若文件存在,将其置为空文件;若文件不存在,打开失败 C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件文件 D. 若文件存在,打开失败;若文件不存在,建立一个新文件若文件存在,打开失败;若文件不存在,建立一个新文件A A2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案37. 下面说法正

5、确的是下面说法正确的是 ( ) A. 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方 B. 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C. 类的内联函数必须在类体内定义类的内联函数必须在类体内定义 D. 类的内联函数必须在类体外通过加关键字类的内联函数必须在类体外通过加关键字 inline 定义定义 8. 可以用可以用 p.a 的形式访问派生类对象的形式访问派生类对象 p 的基类成员的基类成员 a ,其中,其中 a 是是 ( ) A. 私有继

6、承的公有成员私有继承的公有成员 B. 公有继承的私有成员公有继承的私有成员 C. 公有继承的保护成员公有继承的保护成员 D. 公有继承的公有成员公有继承的公有成员 9. 在公有派生情况下,派生类对象和基类对象的关系,不正确的是在公有派生情况下,派生类对象和基类对象的关系,不正确的是 ( ) A. 派生类的对象可以赋给基类的对象派生类的对象可以赋给基类的对象 B. 派生类的对象可以初始化基类的引用派生类的对象可以初始化基类的引用 C. 派生类的对象可以直接访问基类中的成员派生类的对象可以直接访问基类中的成员 D. 派生类的对象的地址可以赋给指向基类的指针派生类的对象的地址可以赋给指向基类的指针

7、BDC 2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案410. 对于类定义对于类定义 class A public: virtual void func1( ) void func2( ) ; class B:public A public: void func1( )cout class B func 1 end1; virtual void func2( )cout class B func 2 end1; ; 下面正确的叙述是下面正确的叙述是 ( ) A. A:func2( ) 和和 B:func1( ) 都是虚函数都是虚

8、函数 B. A:func2( ) 和和 B:func1( ) 都不是虚函数都不是虚函数 C. B:func1( ) 是虚函数,而是虚函数,而 A:func2( ) 不是虚函数不是虚函数 D. B:func1( ) 不是虚函数,而不是虚函数,而 A:func2( ) 是虚函数是虚函数 C2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案5二、填空题二、填空题 (每小题每小题 2 分,共分,共 20 分分 ) 11. 定义类的动态对象数组时,系统只能够自动调用该类的定义类的动态对象数组时,系统只能够自动调用该类的 _ 构造函数对其进行初

9、始化。构造函数对其进行初始化。 12. 在在 C+ 程序设计中,建立继承关系倒挂的树应使用程序设计中,建立继承关系倒挂的树应使用 _ 继承。继承。 13. 表达式表达式 coutendl 还可表示为还可表示为 _ 。 14. 基类的公有成员在派生类中的访问权限由基类的公有成员在派生类中的访问权限由_ 决定。决定。 15.C+ 支持的两种多态性分别是支持的两种多态性分别是 _ 多态性和多态性和_ 多态性。多态性。 无参无参单单cout基类基类2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案721. 指出下面程序段中的错误,并说明出错

10、原因。指出下面程序段中的错误,并说明出错原因。 class Aint a,b; public : A(int aa,int bb) a=aa;b=bb; ; A x(2,3),y(4); 22. 指出并改正下面利用类模板的对象定义中的错误。指出并改正下面利用类模板的对象定义中的错误。 template class Tany T x,y; public: Tany(T a, T b) x=a, y=b; T sum( ) return x+y; ; Tany (int) obj(10,100);三、改错题三、改错题 (每小题每小题 2 分,共分,共 10 分分 )错误原因错误原因: 没有单参数的

11、构造函数没有单参数的构造函数Tany obj(10,100);2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案823. 指出下面程序段中的错误,并说明出错原因。指出下面程序段中的错误,并说明出错原因。 class one private: int a; public: void func(two&); ; class two private: int b; friend void one:func(two & ); ; void one:func( two & r) a=r.b; 错误原因错误原因: 没有对类没有对类two 说明说

12、明改正:在类改正:在类one的定义前增加说明。的定义前增加说明。class two;2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案924. 指出下面程序段中的错误,并说明出错原因。指出下面程序段中的错误,并说明出错原因。 # include class A public: void fun( ) cout a.fun endl; ; class B public:void fun( ) cout b.fun endl; void gun( ) cout b.gun endl; ; class C:public A,public

13、Bprivate: int b; public:void gun( ) cout c.gun endl; void hun( ) fun( ); ; 错误错误: 类类C 中的函数中的函数hun调用调用fun时出现二义性。时出现二义性。2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案1025. 指出下面程序段中的错误,并说明出错原因。指出下面程序段中的错误,并说明出错原因。 class Location int X,Y=20; protected: int zeroX,zeroY; int SetZero(int ZeroX,int

14、 ZeroY); private: int length,height; public: float radius; void init(int initX,int initY); int GetX( ); int GetY( ); ;int X,Y=20; 出错出错错误原因错误原因:定义类时类中定义类时类中数据成员不能赋值。数据成员不能赋值。2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案11四、完成程序题四、完成程序题 ( 每小题每小题 4 分,共分,共 20 分分 ) 26. 在下面横线处填上适当字句,完成类中成员函数的定义

15、。在下面横线处填上适当字句,完成类中成员函数的定义。 class Aint * a; public: A(int aa=0) a=_;/ 用用 aa 初始化初始化 a 所指向的动态对象所指向的动态对象 A( ) _; / 释放动态存储空间释放动态存储空间 ; new int( aa )delete a2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案1227. 下面是一个函数模板,用于计算两个向量的和。下面是一个函数模板,用于计算两个向量的和。# include template T* f(T* a,T* b,int n) T* c

16、=_; for(int i=0;in;i+) c i =_; return c; void main() int a 5 =1,2,3,4,5, b 5 =10,20,30,40,*p; p=f(a,b,5); for(int i=0;i5;i+) coutp i endl; new int n a i +b i 2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案1328. 下面是一个用户口令检查程序,填上适当语句完成程序功能。下面是一个用户口令检查程序,填上适当语句完成程序功能。 # include # include _ / 定

17、义由定义由 PASS 指针所指向的口令指针所指向的口令 wolleh 。 void main( ) char user10 ;/ 用于存放输入的口令用于存放输入的口令 cout please input your password: endl; _ / 输入口令输入口令 if(strcmp(user,PASS)=0) cout your password is correct endl; else cout your password is error user;2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案1429. 下面是类

18、下面是类 fraction( 分数分数 ) 的定义,其中重载的运算符的定义,其中重载的运算符 以分数形式输出结果,例如将三分之二输出为以分数形式输出结果,例如将三分之二输出为 2/3 。在横线处。在横线处填上适当字句。填上适当字句。 class fractionint den; / 分子分子 int num; / 分母分母 friend ostream& operator(ostream&,fraction); ; ostream& operator (ostream& os,fraction fr)_; return _; osfr.den/fr.numos2 20 00 01 1年年1 1

19、0 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案1530. 在横线处填上适当的字句,使其输出结果为在横线处填上适当的字句,使其输出结果为 0 , 56, 56 。 #include class base public: _ func( ) return 0; ; class derived:public base public: int a,b,c; _ setValue(int x,int y,int z)a=x;b=y;c=z; int func( ) return(a+b)*c; ; void main( ) base b;derived d; coutb.

20、func( ) , ; d.setValue(3,5,7); coutd.func( ) , ; base& pb=d; coutpb.func( )endl; virtual intvoid 2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案16五、程序分析题五、程序分析题 (每小题每小题 5 分,共分,共 30 分分 ) 31. 给出下面程序的输出结果。给出下面程序的输出结果。 #include void main( ) int *a; int *&p=a; int b=10; p=&b; cout*a; 输出结果为:输出结果为

21、:102 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案1732.给出下面程序的输出结果。给出下面程序的输出结果。 #include template T f(T *a, T *b, int n) T s=(T)0; for(int i=0;in;i+) s+=a i *b i ; return s; void main() double c 5 =1.1,2.2,3.3,4.4,5.5;double d 5 =10.0,100.0,1000.0; coutf(c,d,5)endl; 输出结果为:输出结果为:35312 20 00

22、01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案1833.给出下面程序的输出结果。给出下面程序的输出结果。#include void main() for(int i=0;i4;i+) coutendlsetfill()setw(4-i) 0 setfill( * )setw(i+i)0? 0 : ); 输出结果为:输出结果为: 0 0*0 0*0 0*02 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案1934. 运行下面的程序,写出当输入运行下面的程序,写出当输入 25 , 60

23、时的输出结果。时的输出结果。 #include class goods private: static int totalWeight; int weight; public: goods(int w) weigh=w; totalWeight+=w; goods(goods& gd) weight=gd.weight; totalWeight+=weight; goods( ) totalWeight-=weight; int getwg( ) return weight; static int getTotal( ) return totalWeight; ; int goods:tota

24、lWeight=0; 2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案20void main( ) int w; cout The initial weight of goods: goods:getTotal()w; / 输入输入 25 goods g1(w); cinw; / 输入输入 60 goods g2(w); cout The total weight of goods: goods:getTotal()endl; 输出结果为:输出结果为:The initial weight of goods:0The total w

25、eight of goods:852 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案2135. 写出输出结果。写出输出结果。#include class A public: A( ) virtual void func( ) coutDestructor Aendl; A( ) func(); ; class B:public A public: B( ) void func()cout Destructor B endl; B( ) func(); ; void main( ) B b; A &a=b; 输出结果为:输出结果为:D

26、estructor B Destructor A说明:构造函数与析构函数调用虚函说明:构造函数与析构函数调用虚函数时,采用静态联编。如果本类中没数时,采用静态联编。如果本类中没有实现这个虚函数,则调用基类中的有实现这个虚函数,则调用基类中的虚函数。虚函数。2 20 00 01 1年年1 10 0月月全全国国高高等等教教育育自自学学考考试试试试卷卷与与参参考考答答案案2236. 运行下面的程序,写出输出结果。运行下面的程序,写出输出结果。 #include class MyClass public: int number; void set(int i); ; int number=3; void MyClass:set (int i) number=i; void main( ) MyClass my1; int number=10; my1.set(5); coutmy1.numberendl; my1.set(number); coutmy1.numberendl; my1.set(:number); coutmy1.number; 输出结果为:输出结果为:5103

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号