秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx

上传人:b****2 文档编号:17530636 上传时间:2023-07-26 格式:DOCX 页数:18 大小:22.79KB
下载 相关 举报
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第1页
第1页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第2页
第2页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第3页
第3页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第4页
第4页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第5页
第5页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第6页
第6页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第7页
第7页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第8页
第8页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第9页
第9页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第10页
第10页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第11页
第11页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第12页
第12页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第13页
第13页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第14页
第14页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第15页
第15页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第16页
第16页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第17页
第17页 / 共18页
秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx

《秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx》由会员分享,可在线阅读,更多相关《秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx(18页珍藏版)》请在冰点文库上搜索。

秋川大网教《面向对象程序设计》第一二次作业及答案解析.docx

秋川大网教《面向对象程序设计》第一二次作业及答案解析

《面向对象程序设计》第一次作业答案

一、单项选择题。

本大题共30个小题,每小题2.0分,共60.0分。

在每小题给出的选项中,只有一项是符合题目要求的。

1.C++函数的声明和定义可以分开,函数声明不需要(D)。

 

A.返回类型

B.函数名

C.参数表

D.函数体

2.函数的形参是(B)。

 

A.全局变量

B.局部变量 

C.静态变量

D.部变量

3.数组名表示的是数组的(C)。

 

A.类型

B.用途

C.地址

D.长度

4.如果短整型的长度是2字节,有一个短整型指针p的值是0xFFED1200,那么p+1的值为(B)。

 

A.0xFFED1201

B.0xFFED1202 

C.0xFFED1203

D.0xFFED1204

5.private访问属性限制对象的成员可以在(A)中访问。

 

A.本类的成员函数

B.main函数

C.父类的成员函数

D.子类的成员函数

6.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为(C)。

 

A.myclassoperator++();

B.myclass& operator++();

C.myclassoperator++(int);

D.myclass& operator++(int);

7.如果有如下定义:

constchar*str="OK";那么,sizeof(str)的值应该是(D)

A.1

B.2

C.3

D.4

8.父类和子类各自定义一个成员函数,函数名相同,参数表不同,那么(D)。

 

A.在子类中这两个函数构成重载关系

B.子类不会继承父类的这个函数

C.子类中的函数会覆盖父类中的函数

D.编译时会发生错误

9.如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会(B )。

A.调用拷贝构造函数 

B.调用整型参数的构造函数

C.调用赋值运算符 

D.引起编译错误

10.抽象类指的是(D)。

A.没有任何成员的类 

B.只有成员函数没有数据成员的类

C.有虚函数的类 

D.有纯虚函数的类

11.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由(C)的构造函数来传递。

 

A.第一个父类

B.第二个父类

C.派生类

D.以上都不是

12.多态性是通过(C)实现的。

A.构造函数

B.析构函数

C.虚函数

D.函数重载

13.十进制数127转换成二进制数是(B)

A.11111111

B.01111111 

C.10000000

D.11111110

14.执行语句

charch[]="Hello";

char*p=&ch[0];

cout<<*p 

结果是输出(C)。

A.一个地址

B.H

C.Hello

D.乱码

15.以下不能正确进行字符串赋初值的语句是(A)

A.charstr[5]="good!

";

B.charstr[]="good!

";

C.char*str="good!

";

D.charstr[5]={‘g',‘o',‘o',‘d'};

16.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:

(D) 

A.0

B.负数

C.正数

D.不确定

17.使用流控制符(C)需要头文件。

 

A.endl

B.hex

C.setw

D.left

18.C++泛型编程通过(B)实现。

 

A.void

B.template

C.NULL

D.typedef

19.C++异常处理机制中没有(D)。

A.try

B.throw

C.catch

D.finally

20.要打开一个文件并从中读取数据,应该使用(C)类的对象。

 

A.istream

B.ostream

C.ifstream

D.ofstream

21.判断一个ofstream类对象file打开文件是否失败,应该判断(D)。

 

A.创建文件流对象时是否抛出异常

B.open成员函数的返回值

C.feof成员函数的返回值

D.!

file是否为真

22.链表的基本单元是(A)。

 

A.节点

B.头指针

C.尾指针

D.数据域

23.二叉查找树按(B)遍历时访问到节点的数据是排好序的。

A.前序

B.中序

C.后序

D.层次

24.二进制数00001001跟01000011异或的结果为(C)。

A.01001011

B.00000001

C.01001010

D.01001100

25.若有定义:

intaa[8];。

则以下表达式中不能代表数组元aa[1]的地址的是(C)

A.&aa[0]+1

B.&aa[1]

C.&aa[0]++

D.aa+1

26.一个类如果没有定义任何函数,编译器不会自动为这个类产生(C)。

 

A.拷贝构造函数

B.无参构造函数

C.输出流运算符

D.赋值运算符

27.如果在try块中用

throw"error";

语句抛出一个异常,则参数类型是(B)的catch块能够捕获这个异常。

 

A.char*

B.constchar*

C.Char

D.constchar

28.队列的最大特征是(A)。

A.先进先出

B.后进先出 

C.自动排序

D.大数优先

29.下列排序算法中,平均效率最低的排序算法是(B)。

 

A.插入法

B.冒泡法 

C.选择法

D.快速排序法

30.下面不支持下标操作的容器是(C)。

A.vector

B.deque

C.list

D.map

二、多项选择题。

本大题共5个小题,每小题4.0分,共20.0分。

在每小题给出的选项中,有一项或多项是符合题目要求的。

1.for语句的格式为for(表达式1;表达式2;表达式3),其中可以省略的是(BCD)。

A.两个分号

B.表达式1

C.表达式2

D.表达式3

2.C++中变量要求(ABD)

A.有明确的类型

B.先声明后使用

C.名字中不能使用下划线

D.严格区分大小写

3.流程控制语句有(ABC)几种。

A.条件语句

B.循环语句

C.分支语句

D.表达式语句

4.面向对象的编程方法的主要特征包括(ABC)。

A.封装

B.继承

C.多态

D.消息

5.类成员的访问属性可以是(ABC)

A.public

B.protected

C.private

D.default

三、判断题。

本大题共5个小题,每小题4.0分,共20.0分。

1._int可以定义为用户标识符。

(✔)

2.结构化程序设计的基本方法是递归法。

(×)

3.C++语言的跳转语句中,break语句只应用于循环体中。

(×)

4.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。

(×)

5.重载函数形参个数可以不同。

(✔)

《面向对象程序设计》第二次作业答案

一、单项选择题。

本大题共30个小题,每小题2.0分,共60.0分。

在每小题给出的选项中,只有一项是符合题目要求的。

1.C++源文件的缺省扩展名为(A)。

 

A.cpp

B.exe

C.obj

D.lik

2.程序运行中需要从键盘上输入多于一个数据时,各数据之间应该使用(D)符号作为分隔符。

A.空格或逗号

B.逗号或回车

C.逗号或分号

D.空格或回车

3.在每个C++程序中都必须包含有这样一个函数,该函数的名称为(A)

A.main

B.MAIN

C.name

D.function

4.假定a为一个短整型(shortint)数组名,则元素a[8]的地址为(B) 

A.a+4

B.a+8 

C.a+16

D.a+32

5.假定AB为一个类,则执行“ABa(4),b[4],*p[5]”语句时,自动调用该类构造函数的次数为(B)

A.4

B.5

C.8

D.13

6.当需要使用istrstream流类定义一个流类对象并联系一个字符串时,应在文件开始使用#include命令,使之包含(A)文件

A.iostream、h

B.iomanip、h

C.fstream、h

D.ststrea、h

7.执行下列语句段后,输出字符“*”的个数是(A)

for(inti=50;i>1;I-=2)cout<<~*~;

A.24

B.25

C.26

D.50

8.有如下定义:

inta[5]={1,3,5,7,9},*p=a;

下列表达式中不能得到数值5的是(B)

A.a[2]

B.a[3]

C.*(p+2)

D.*p+4 

9.已知函数f的原型是voidf(int*a,long&b);,变量v1、v2的定义是:

intv1;loongv2;

下列调用语句中正确的是(D)

A.f(v1,&v2)

B.f(v1,v2)

C.f(&v1,&v2)

D.f(&v1,v2)

10.有如下类定义:

classPoint{

private;

staticinthow_many;

};

___________how_many=0; 

要初始化Point类的静态成员how_many,下划线处应填入的内容是D

A.ing

B.staticint

C.intPoint:

:

D.staticintPoint:

:

11.在下列关键字中,不能用来表示继承方式的是(B)

A.private

B.static

C.public

D.protected

12.已知Value是一个类,Value是Value的一个对象。

下列以非成员函数形式重载的运算符函数原形中,正确的是(B)

A.Valueoperator+(Valuev,inti); 

B.Valueoperator+(Valuev=value,inti);

C.Valueoperator+(Valuevinti=0);

D.Valueoperator+(Valuev=value,inti=0);

13.下面是一个模板声明的开始部分:

templutedouble__

由此可知(A)

A.这可能是一个函数模板的声明

B.这可能是一个类模板的声明

C.这既可能是一个函数模板的声明,也可能是一个类模板的声明

D.这肯定是一个错误的模板声明

14.有如下4个语句:

①cout<<~A~<

②cout<

③cout<<~A~<

④cout<

其中能显示A******B的是(A)

A.①和③

B.①和④

C.②和③

D.②和④

15.有如下类定义:

classMyClass{ 

intvalue; 

public:

MyClass(intn):

value(n){}

intgerValue()const{returnvalue;}

};

则类MyClass的构造函数的个数是(A)

A.1个

B.2个

C.3个

D.4个

 

16.有如下类和对象的定义:

classConstants{

public:

 

staticdoublegetPI(){return3.1416;}

};

Constantsconstants;

下列各组语句中,能输出3.1416的是(D)

A.cout<getPI();和cout<

:

gerPI();

B.cout<

C.cout<getPI();和cout<getPI();

D.cout<

:

getPI();

17.若有说明:

int*p1,*p2,m=5,n;以下均是正确赋值语句的是(B)

A. p1=&m,p2=&p1

B.p1=&m;p2=&n;*p1=*p2

C.p1=&m;p1=p2

D.p1=&m;*p2=*p1

18.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是(D)

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

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

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

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

19.若已定义inta=5;下面对

(1),

(2)两个语句正确理解的是(D)

(1)int*p=&a;

(2)*p=a;

A.

(1)

(2)中的*P含义相同,都表示给指针变量P附值

B.

(1)

(2)的执行结果都是把变量a的地址值赋给指针变量P

C.

(1)在对P进行说明的同时进行初始化,使P指向a,

(2)将变量a的值赋给指针变量P

D.

(1)在对P进行说明的同时进行初始化,使P指向a,

(2)将变量a的值赋给*

20.下列有关抽象类和纯虚函数的叙述中,错误的是(D)

A.拥有纯虚函数的类是抽象类,不能用来定义对象

B.抽象类的派生类若不实现纯虚函数,它也是抽象类

C.纯虚函数的声明以“=0;”结束

D.纯虚函数都不能有函数体

21.下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<

A.cout<

B.cout<

C.cout<

D.cout<

22.下面函数调用语句含有实参的个数为:

(B)

func((exp1,exp2),(exp3,exp4,exp5))

A.1

B.2

C.4

D.5

23.设有定义intx;floatv;,则10+x+v值的数据类型是(C)

A.int

B.double

C.float

D.不确定

24.在定义inta[3][4][2];后,第10个元素是(B)

A.a[2][1][2]

B.a[1][0][1]

C.a[2][0][1]

D.a[2][2][1]

25.下列哪个是C++语言的有效标识符?

(A)

A._No1

B.No、1

C.12345

D.int

26.下面的选项中正确的赋值语句是(chara[5],*p=a;)。

(A)

A.p=“abcd”;

B.a=“abcd”;

C. *p=“abcd”;

D.*a=“abcd”; 

27.若k为整形,则while循环执行(C)次。

 

k=2;while(k==0)printf(“%d”,k);k--;printf(“\n”); 

A.10

B.9

C.0

D.1

28.数组名作为实参传递给形参时,数组名被处理为该数组的(C)。

 

A.长度

B.元素个数

C.首地址

D.各元素的值

29.两个指针变量不可以(A)。

 

A.相加

B.比较

C.相减

D.指向同一地址

30.以下对二维数组a的正确说明是:

(C)

A.inta[3][];

B.floata(3,4);

C.doublea[1][4];

D.floata(3)(4);

二、多项选择题。

本大题共5个小题,每小题4.0分,共20.0分。

在每小题给出的选项中,有一项或多项是符合题目要求的。

1.构造函数(ACD)。

A.函数名只能是类名

B.返回类型可以是任意的

C.参数个数和类型可以是任意的

D.在对象创建时自动调用

2.关于公共静态数据成员,下面说法正确的是(ABCD)。

A.在main函数之前创建

B.跟某个具体对象无关

C.可以用类名和成员名直接访问

D.需要在类体外初始化

3.两个同名函数构成重载关系,只要(BCD)不同。

A.返回类型

B.参数个数

C.参数类型

D.函数头后有无const

4.模板定义中的类型参数可以用作(ABCD)。

 

A.局部变量类型

B.函数参数类型

C.函数返回值类型

D.数据成员类型

5.设有定义语句:

intx[6]={2,4,6,8,5,7},*p=x,i; 

要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_(ABC)、

A.for(i=0;i<6;i++)printf(“%2d”,*(p++));

B.for(i=0;i<6;i++)printf(“%2d”,*(p+i)); 

C.for(i=0;i<6;i++)printf(“%2d”,*p++); 

D.for(i=0;i<6;i++)printf(“%2d”,(*p)++)

三、判断题。

本大题共5个小题,每小题4.0分,共20.0分。

1.

逻辑运算符两侧运算对象的数据类型只能是0或1。

(错误)

2.

 宏名必须用大写字母表示。

(错误)

3.

 C++程序从上机到得到结果的几个操作步骤依次是:

编辑、编译、连接、运行。

(正确)

4.

 字符串"ab\\\n"在机器中占6个字节。

(错误)

5.

 1.234e0为C++语言合法常量。

(正确)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2