自考软件工程:2003年1月02328面向对象程序设计历年真题及答案浙江

注:不同专业的历年真题,只要课程的代码和名称相同,均可共用参考。

浙江省2003年1月高等教育自学考试

面向对象程序设计试题

课程代码:02328

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共40分)

1.在公有继承的情况下,基类成员在派生类中的访问权限()

A.受限制B.保持不变

C.受保护D.不受保护

2.通过()调用虚函数时,采用动态束定。

A.对象指针B.对象名

C.成员名限定D.派生类名

3.在inta=3,*p=&a;中,*p的值是()

A.变量a的地址值B.无意义

C.变量p的地址值D.3

4.C++类体系中,不能被派生类继承的有()

A.转换函数B.构造函数

C.虚函数D.静态成员函数

5.假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb--;},则执行Ax(4,5);语句后,x.a和x.b的值分别为()

A.4和5B.5和4

C.4和20D.20和5

6.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()

A.增加了一些新的运算符

B.允许函数重载,并允许设置缺省参数

C.规定函数说明符必须用原型

D.引进了类和对象的概念

7.下列符号不能组成标识符的是()

A.连接符B.下划线

C.大小写字母D.数字字符

8.类型修饰符unsigned不能修饰()

A.virtualB.int

C.longintD.float

9.一个函数功能不太复杂,但要求被频繁调用,选用()

A.内联函数B.重载函数

C.递归函数D.嵌套函数

10.下列不是描述类的成员函数的是()

A.构造函数B.析构函数

C.友元函数D.拷贝构造函数

11.C++语言中所有在函数中定义的变量,连同形式参数,都属于()

A.全局变量B.局部变量

C.静态变量D.函数

12.定义新类是通过()实现的。

A.信息隐藏B.数据封装

C.继承机制D.数据抽象

13.下面有关类说法不正确的是()

A.一个类可以有多个构造函数

B.一个类只有一个析构函数

C.析构函数需要指定参数

D.在一个类中可以说明具有类类型的数据成员

14.派生类的对象只能对它的()是可访问的。

A.公有继承的公有成员B.公有继承的私有成员

C.公有继承的保护成员D.私有继承的保护成员

15.下列不能作为类的成员的是()

A.自身类对象的指针B.自身类对象

C.自身类对象的引用D.另一个类的对象

A.参数B.访问权限

C.操作D.标识符

17.在派生类中重新定义虚函数时必须在()方面与基类保持一致。

A.参数类型B.参数名字

C.操作内容D.赋值

18.在私有继承的情况下,基类成员在派生类中的访问权限()

19.下面对于指针的描述不正确的是()

A.指针是地址变量

B.指针不能用除0以外的常量赋值

C.两个指针变量的加减法无意义

D.指针指向不同基类型的变量长度不同

20.在派生类中定义友元函数时必须在()方面与基类保持一致。

二、填空题(每空2分,共20分)

1.在一个类中可以对一个操作符进行_______重载。

2.在C++中有二种参数传递方式:______________。

3.模板对处理数据的类型的要求不同可以分为两种类型:_______。

4.静态联编是在程序_______时进行的。

5.在函数体之前加_______关键字可以防止覆盖函数改变数据成员的值。

6.一个const对象只能访问_______成员函数。

7.派生类的主要用途是可以定义其基类中_______。

8.当建立_______,程序自动调用该类的构造函数。

9.使用指向对象的指针来标识类的成员,则必须使用的运算符是_______。

10.拷贝初始化构造函数使用_______来初始化创建中的对象。

三、完成程序题(每小题5分,共20分)

1.下面程序的运行结果如下所示完成填空。

#include“iostream.h”

classtest{

private∶intnum

floatfl;

public∶test();

intgetint(){returnnum;}

floatgetfloat(){returnfl;}

~test();

};

test∶∶test()

{cout<<″Initializingdefault″<

______________}

test∶∶~test(){cout<<″Desdtructorisactive″<

intmain()

{testarray[2];

cout<

运行结果为:

Initializingdefault

_____________________;∥填写结果

00

Desdtructorisactive

2.定义一个日期的类来实现重载操作符的测试,在下面程序的底画线处填上适当的字句,完成类中成员函数的定义。

#include

classClassDate{

private∶

intyear;

intmonth;

intday;

public∶ClassDate(inty=0,intd=0,intm=0){year=y,month=m,day=d;}

intgetyear(){returnyear;}

intgetmonth(){returnmonth;}

ingetday(){returnday;}

____________________(iostream&s,ClassDate&a)

{inty,m,d;

cout<<″请输入日期:(yyyy-mm-dd)″;

s>>y>>m>>d;

while(y>9999‖m>-1‖m<-12‖d>-1‖d<-31)

{

cout<<″输入格式有错,请重新输入日期:(yyyy-mm-dd)″;

}

a.year=y;

a.month=-m;

a.day=-d;

returns;

_____________________∥输出重定义

{∥输出日期

s<<″现在的日期是:″;

s<

s<

3.在下面程序的底画线处填上适当的字句,完成程序。

classA{

public∶voidf(inti){cout<

voidg(){cout<<”g\n”;}

class______________{

public∶voidh(){cout<<”h\n”;}

A∶∶f;

voidmain()

{Bd1;

d1.f(6);

______________.h();

4.根据运行结果,完成下面递归程序的填空。

intf(int*x)

if(!(*x))

{cout<<*x<<",";

_____________________;∥递归调用;

main()

{intA[]={3,2,1};

int*y;

y=A;

_____________________;∥引用f;

运行结果是:3,2,1

四、综合应用题(共20分)

1.分析下列程序可能的输出结果。(满分8分)

{inti=17;

while(i>=10)

if(--i%4==3)continue;

else

cout<<“i=”<

2.写出模板函数实现找出三个数值中按最小值到最大值排序程序。(满分12分)

TEL:蒋老师17773102705

1、鉴于各方面资讯时常调整与变化,本网所提供的信息仅供参考,实际以考试院通知文件为准。

THE END
1.易错知识点(学习过程中不断记录)1基本数据类型 基本数据类型有四类:整型、浮点型、字符型、布尔型(Boolean), 分为八种: 关键字 范围 不管操作系统是32位还是64位,short为2字节,int都为4字节,long都是8字节 2变量知识 变量在使用前必须赋初值,否则报错!!! 变量赋值不能超出规定范围!!! http://www.mynw.cn/ai/1357.html
2.C++修饰符类型与类型限定符C++ 修饰符类型 C++ 允许在 char、int 和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。 下面列出了数据类型...https://www.jianshu.com/p/f5ac8ed28472
3.类型修饰符unsigned不能修饰()类型修饰符unsigned不能修饰() 参考答案:float 点击查看答案进入小程序搜题你可能喜欢一个C程序中可以出现两个main函数。 点击查看答案进入小程序搜题 没有语法错误了,程序就是正确的。 点击查看答案进入小程序搜题 C语言属于程序设计语言的哪个类别? 点击查看答案进入小程序搜题...https://m.ppkao.com/wangke/daan/69a6b02f422942d688adb61d52ac44f4
4.c++中unsigned的用法是什么问答在C++中,unsigned是一种数据类型修饰符,用于声明无符号整数类型变量。unsigned关键字用于定义无符号整数类型的变量,即该变量不包含负数,只能包含非负整数。unsigned修饰的整数类...https://www.yisu.com/ask/94819151.html
5.吴裕雄天生自然C++语言学习笔记:C++修饰符类型吴裕雄C++ 允许在 char、int 和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。 下面列出了数据类型修饰符: signed unsigned long short 修饰符 signed、unsigned、long 和 short 可应用于整型,shttps://www.cnblogs.com/tszr/p/12142890.html
1.Day08C++修饰符类型unsigned:表示变量不能存储负数。对于整型变量来说,unsigned 可以将变量范围扩大一倍。 short:表示变量的范围比 int 更小。short int 可以缩写为 short。 long:表示变量的范围比 int 更大。long int 可以缩写为 long。 long long:表示变量的范围比 long 更大。C++11 中新增的数据类型修饰符。 https://blog.csdn.net/weixin_47558943/article/details/143689044
2.C++重要知识点总结c++中基本类型其他实例文章### 基本类型在 C++ 中,基本类型(也称为原始类型)是指不依赖于任何类或结构的数据类型。这些类型包括整数、浮点数、字符等。 ### 整型C++ 中有两种整型:`int` 和 `unsigned int`。 * `int`: 表示一个32 位的整数,范围是 `-2^31` 到 `2^31-1`。 *...http://www.shili8.cn/article/detail_20002673959.html
3.c++自学笔记3指针是一种数据类型,是一种特殊的数据类型,具有指针类型的变量称为指针变量,指针变量存放其他变量或者对象的地址,它可以有效地表示数据之间复杂的逻辑关系。 动态分配内存,方便字符串的处理, 数组名表示内存中分配给数组的固定位置,是指针常量。故不能给数组名赋值,修改了数组名,就会丢失数组空间。 https://www.u72.net/daima/n0zkz.html
4.C语言数据类型及相关知识wx66de4fc59956f的技术博客signed描述的是有符号数 unsigned描述的是无符号数。 void 无类型。 2、存储类型关键字 3、控制语句关键字 4、其他关键字 知识点3【常量和变量】 1、常量 常量是立即数 即见即所得 存在文字常量区。常量的值 不能被修改。 比如: 'a' '1' 字符常量 ...https://blog.51cto.com/u_17006198/12514867
5.类型修饰符unsigned不能修饰刷刷题APP(shuashuati.com)是专业的大学生刷题搜题拍题答疑工具,刷刷题提供类型修饰符 unsigned 不能修饰A.charB.intC.floatD.long int的答案解析,刷刷题为用户提供专业的考试题库练习。一分钟将考试题Word文档/Excel文档/PDF文档转化为在线题库,制作自己的电子错题本,提https://www.shuashuati.com/ti/b9ad414da89540ec8243f2440d1d8613.html
6.1.7C++修饰符类型C++ 允许在char、int 和 double数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。 下面列出了数据类型修饰符: signed unsigned long short 修饰符signed、unsigned、long 和 short可应用于整型,signed和unsigned可应用于字符型,long可应用于双精度型。 https://www.myzxsx.com/nd.jsp?id=2568
7.c语言中unsigned修饰符的使用C语言使用unsigned时需要注意,如果进行了带符号和无符号类型之间的混合运算或赋值,可能会导致意外结果或溢出问题。此外,对于使用unsigned修饰的整数类型,不能直接存储负数值,否则可能会导致未定义的行为。 总之,unsigned修饰符在C语言中用来表示无符号整数,拓展了整数类型的取值范围,但需要谨慎处理与有符号整数之间的转换和运算...https://www.jb51.net/program/305818nah.htm
8.C++中的函数修饰符深入讲解C++博大精深,而且不断拥抱新的变化。本文简要总结一下C++中函数的修饰符,其中部分在实际中极少用到。 按修饰符的位置分为函数名前与函数名后两种,以下分别做介绍。 函数名前 1、返回值类型 返回值类型是C++中定义函数的必备部分,这些修饰符包括void,(unsigned) int,bool等内置基本数据类型和自定义类型,也包括修饰...https://www.xiuzhanwang.com/a1/Cyuyan/472.html
9.javaunsignedlongJava相当于unsignedlonglong?要打印unsigned int 数字,可以使用%u符号。打印long数值,可以使用%d 格式说明符。...如果系统的 int 和 long 类型具有同样的长度,使用%d 就可以打印 long 数值,但是这会给程序移植到其他系统(这两种数据类型的长度不一样的系统)带来麻烦,所以建议使用 %ld 打印 long.https://cloud.tencent.com/developer/information/java%20unsigned%20long