java语言面向对象程序设计马俊版课后习题答案

java语言面向对象程序设计马俊版课后习题答案,第1张

首先你要了解,JAVA是什么软件,有什么用?

答:它是个面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可并灶谈在任何计算平台上安全地运行。Java作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序。

其实每次遇到不会的都来求助是很不方便的

如果你想了解和免费学习更多的JAVA编程,成为一名真正的JAVA高手,你可以来这个qun,前面三个数是四二六绝碰 中间是三九六 后面是二八四辩岩

把这串数字连起来就可以了,这是一个高手的学习qun,在这里你可以学习到书上学不到的知识,还有大牛相互讨论并指导你解答,免费学习资料共享在qun文件里。

同C++一样, Java是个面向对象的语言,这就意味着软件可以以部件的形式编制,为了满足某种任务,软部件可以互相配合。

Java适宜于互联网的开发应用,其中一个原因是它使用了虚拟机,虚拟机是个用来解释Java指令的软件包,Java的虚拟机策略就相当于世界语,这是个人造的国际语言,目的是使得不同语言之间的翻译和沟通更加容易。

--------------------------------------------------------------------------------

作业名称:面向对象程序设计

作业总分:100

学员姓名:mj07b201 学员成绩:95

标准题总分:100 标准题得分:95

详细信息:

题号:1 题型:单选题 本题分数:1

内容:

一个类的友元函数能够访问该类的( )

选项:

A、A)私有成员

B、B)保护成员

C、C)公有成员

D、D)所有成员

学员答案:

D

题号:2 题型:单选题 本题分数:1

内容:

下面关于类和对象的描述中,错误的是( )

选项:

A、A)类就是C语言中的结构体类型,对象就是C语言中的结构体卜正变量

B、B)类和对象之间的关系是抽象和具体的关系

C、 C)对象是类的实例,一个对象必须属于一个已知的类

D、 D)类是具有共同行为的若干对象的统一描述体

学员答案:

A

题号:3 题型:单选题 本题分数:1

内容:

以下各选项组中,均是C++语言关键字的组是( )

选项:

A、A) public operator this

B、 B)shod string static

C、 C)it while>=

D、 D)private cout printf

学员答案:

A

题号:4 题型:单选题 本题分数:2

内容:

设int a=10,b=11,c=12,表达式(a+b) 的值为( )

选项:

A、A)2

B、 B)0

C、 C)-2

D、 D)1

学让弊锋员答案:

B

题号:5 题型:单选题 本题分数:1

内容:

下列描述正确的是( )

选项:

A、A)表示m>n为true或mn&&m

B、 B)switch语句结构中必须有default语句

C、 C)if语句结构中必须有else语句

D、 D)如果至少有一个 *** 作数为true,则包含“‖”运算符的表达式为true

学员答案:

D

题号:6 题型:单选题 本题分数:1

内容:

下面关于数组的描述错误的是( )

选项:

A、A)在C++语言中数组的名字就是指向该数组第一个元素的指针

B、 B)长度为n的数组,下标的范围是0-n-1

C、 C)数组的大小必须在编译时确定

D、 D)数组只能通过值参数和引用参数两种方式传递给函数

学员答案:

D

题号:7 题型:单选题 本题分数:2

内容:

下面程序错误的语句是( )①#include ②void main() ③{ ④int*p=new int[1] ⑤p=9 ⑥cout <<*p< ⑦delete[]p ⑧}

选项:

A、A)④

B、B)⑤

C、C)⑥

D、D)⑦

学员答案:

B

题号:8 题型:单选题 本题分数:2

内容:

下面的哪个选项不能作为函数的返回类型?( )

选项:

A、A)void

B、B)int

C、C)new

D、D)long

学员答案:

C

题号:9 题型:单选题 本题分数:1

内容:

不能作为重载函数的调用的依据是( )

选项:

A、A)参数个数

B、 B)参数类型

C、 C)函数类型

D、 D)函数名称

学坦晌员答案:

B

题号:10 题型:单选题 本题分数:2

内容:

下列程序的输出结果为( ),以下是引用片段: #include<iostream. h> int func(int n) { if〔n<1)return 1 else return n+func(n-1): return 0 } void main() { cout<选项:

A、A) 0

B、B)10

C、C)15

D、D)16

学员答案:

D

题号:11 题型:单选题 本题分数:1

内容:

在C++语言中,数据封装要解决的问题是( )

选项:

A、A)数据的规范化

B、 B)便于数据转换

C、 C)避免数据丢失

D、 D)防止不同模块之间数据的非法访问

学员答案:

D

题号:12 题型:单选题 本题分数:2

内容:

以下程序中,错误的行是 ①#include ②class A ③{ ④ public: ⑤ int n=2: ⑥ A( int val){cout<选项:

A、A)⑤

B、B)⑥

C、C)⑦

D、D)⑩

学员答案:

A

题号:13 题型:单选题 本题分数:1

内容:

下面有关重载函数的说法中正确的是()

选项:

A、A)重载函数必须具有不同的返回值类型

B、 B)重载函数形参个数必须不同

C、C)重载函数必须有不同的形参列表

D、D)重载函数名可以不同

学员答案:

C

题号:14 题型:单选题 本题分数:1

内容:

下列关于构造函数的描述中,错误的是()

选项:

A、A)构造函数可以设置默认参数

B、B)构造函数在定义类对象时自动执行

C、C)构造函数可以是内联函数

D、D)构造函数不可以重载

学员答案:

D

题号:15 题型:单选题 本题分数:1

内容:

下面描述中,表达错误的是()

选项:

A、A)公有继承时基类中的public成员在派生类中仍是public的

B、 B)公有继承是基类中的private成员在派生类中仍是private的

C、C)公有继承时基类中的protected成员在派生类中仍是protected的

D、 D)私有继承时基类中的public成员在派生类中是private的

学员答案:

B

题号:16 题型:单选题 本题分数:2

内容:

在进行完任何C++流的 *** 作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的 *** 作函数名称是()

选项:

A、A)fail

B、B)eof

C、 C)bad

D、D)good

学员答案:

B

题号:17 题型:单选题 本题分数:1

内容:

下列关于C++语言类的描述中错误的是( )

选项:

A、A)类用于描述事物的属性和对事物的 *** 作

B、 B)类与类之间通过封装而具有明确的独立性

C、C)类与类之间必须是平等的关系,而不能组成层次结构

D、 D)类与类之间可以通过一些方法进行通信和联络

学员答案:

C

题号:18 题型:单选题 本题分数:1

内容:

以下叙述中正确的是( )

选项:

A、A)构成C++语言程序的基本单位是类

B、 B)可以在一个函数中定义另一个函数

C、 C) main()函数必须放在其他函数之前

D、 D)所有被调用的函数一定要在调用之前进行定义

学员答案:

A

题号:19 题型:单选题 本题分数:2

内容:

己知有定义 以下是引用片段: const int D=5 int i=1 double f=0.32: char c=15 则下列选项错误的是( )

选项:

A、A)++i

B、 B)D--

C、 C)C++

D、 D)--f

学员答案:

B

题号:20 题型:单选题 本题分数:2

内容:

下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是( ),以下是引用片段: void main() { int i=0,j,k do{i++k=316-13*i}while( ) j=k/11 cout<<”316=13*”< }

选项:

A、A)k/11

B、B)k% 11

C、 C)k/11==0

D、D)k%11==0

学员答案:

B

题号:21 题型:单选题 本题分数:2

内容:

设有数组定义:char array[]=”China",则数组array所占的空间为( )

选项:

A、A)4个字节

B、B)5个字节

C、C) 6个字节

D、D)7个字节

学员答案:

C

题号:22 题型:单选题 本题分数:2

内容:

若已定义: int a[]={0,1,2,3,4,5,6,7,8,9},*P=a,i 其中O≤i≤9,则对a数组元素不正确的引用是( )

选项:

A、A)a[p-a]

B、 B)*(&a[i])

C、C)p[i]

D、D)a[10]

学员答案:

D

题号:23 题型:单选题 本题分数:2

内容:

函数fun的返回值是( ) 以下是引用片段: fun(char*a,char*b) { int num=0,n=0 while(*(a+num)!=‘\0’)num++ while(b[n]){*(a+num)=b[n]num++n++} return num }

选项:

A、A)字符串a的长度

B、B)字符串b的长度

C、C)字符串a和b的长度之差

D、D)字符串a和b的长度之和

学员答案:

D

题号:24 题型:单选题 本题分数:2

内容:

下面程序的结果为( ),以下是引用片段: void main() { int i int a[3][3]={1,2,3,4,5,6,7,8,9} for(i=0i<3i++) cout<选项:

A、A)1 5 9

B、B)7 5 3

C、C)3 5 7

D、D) 5 9 1

学员答案:

B

题号:25 题型:单选题 本题分数:1

内容:

下列描述中哪个是正确的( )。

选项:

A、A)私有派生的子类无法访问父类的成员

B、 B)类A的私有派生子类的派生类,C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的

C、 C)私有派生类不能作为基类派生子类

D、 D)私有派生类的所有子孙类将无法继续继承该类的成员

学员答案:

B

题号:26 题型:单选题 本题分数:1

内容:

下列关于构造函数说法不正确的是( )

选项:

A、A)构造函数必须与类同名

B、 B)构造函数可以省略不写

C、 C)构造函数必须有返回值

D、 D)在构造函数中可以对类中的成员进行初始化

学员答案:

C

题号:27 题型:单选题 本题分数:1

内容:

如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是( )

选项:

A、A)一元运算符

B、B)二元运算符

C、 C)选项A)和选项B)都可能

D、D)重载错误

学员答案:

D

题号:28 题型:单选题 本题分数:1

内容:

在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是( )

选项:

A、A)一元成员运算符

B、B)二元成员运算符

C、C)一元友元运算符

D、D)选项B)和选项C)都可能

学员答案:

D

题号:29 题型:单选题 本题分数:2

内容:

建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )

选项:

A、A)abc

B、 B)acb

C、 C)cab

D、 D)cba

学员答案:

A

题号:30 题型:单选题 本题分数:2

内容:

下面关于虚函数的描述,错误的是( )

选项:

A、A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数

B、 B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数

C、 C)虚函数可以是另一个类的友元函数,但不能是静态成员函数

D、 D)基类中说明的纯虚函数在其任何派生类中都必须实现

学员答案:

B

题号:31 题型:单选题 本题分数:2

内容:

下面关于模板的描述,错误的是( )

选项:

A、A)函数模板和类模板的参数可以是任意的数据类型

B、 B)类模板不能直接使用,必须先实例化为相应的模板类.然后定义了模板类的对象后才能使用

C、 C)函数模板不能直接使用,需要实例化为模板函数后才能使用

D、 D)类模板的成员函数都是模板函数

学员答案:

A

题号:32 题型:单选题 本题分数:2

内容:

语句ofstream f(”SALARY. DAT",ios::app iios::binary)的功能是建立流对象f,试图打开文件SAL:aRY. D AT并与之连接,并且( )

选项:

A、A)若文件存在,将文件写指针定位于文件尾

B、若文件不存在,建立一个新文件

C、 B)若文件存在,将其置为空文件

D、若文件不存在,打开失败

E、 C)若文件存在,将文件写指针定位于文件首

F、若文件不存在,建立一个新文件

G、 D)若文件存在,打开失败

H、若文件不存在,建立一个新文件

学员答案:

A

题号:33 题型:单选题 本题分数:2

内容:

下面程序的运行结果是( ) 以下是引用片段:#include void main(){ int num=1int &ref=numref=ref+2cout<选项:

A、A)13

B、B)16

C、C)36

D、D)33

学员答案:

C

题号:34 题型:单选题 本题分数:2

内容:

设有定义int xfloat v,则10+x+v值的数据类型是( )

选项:

A、A)int

B、B)double

C、C)float

D、D)不确定

学员答案:

C

题号:35 题型:单选题 本题分数:2

内容:

下列程序的执行结果为( ) 以下是引用片段:#include void main() { int a=3,b=0int*p=&ab=+a++cout<<*p<<","<选项:

A、A)3,4

B、B)4,3

C、C)3,4

D、D)4,4

学员答案:

B

题号:36 题型:单选题 本题分数:2

内容:

下面程序的运行结果为( ) 以下是引用片段:#include void main() { for(int a=0,x=0!x&&a<=10a++) { a++}cout<选项:

A、A)10

B、B)11

C、C)12

D、D) 0

学员答案:

C

题号:37 题型:单选题 本题分数:2

内容:

下列程序的输出结果为( ) 以下是引用片段:#include void main() { char *a[]={"hello","the","world"}char**pa=apa++cout<<*pa}

选项:

A、A)hello

B、 B)the

C、 C)world

D、 D)hellotheworld

学员答案:

B

题号:38 题型:单选题 本题分数:1

内容:

决定C++语言中函数的返回值类型的是( )

选项:

A、A) return语句中的表达式类型

B、 B)调用该函数时系统随机产生的类型

C、 C)调用该函数时的主调用函数类型

D、 D)在定义该函数时所指定的数据类型

学员答案:

D

题号:39 题型:单选题 本题分数:2

内容:

下列程序的运行结果为( )以下是引用片段: #includevoid print(double a){cout<<++a} void print(int a,int b) { cout<A、A)1.2 34

B、 B)2.2 34

C、 C)1.2 43

D、 D)2.2 43

学员答案:

D

题号:40 题型:单选题 本题分数:1

内容:

对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( )

选项:

A、A)公有类型

B、 B)私有类型

C、 C)保护类型

D、 D)友元类型

学员答案:

D

题号:41 题型:单选题 本题分数:2

内容:

下面程序的运行结果为( ) 以下是引用片段: #include class A { public: A(){cout<<"1"} ~A(){cout<<"2"} }class B:public A { public: B(){cout<<"3"} ~B(){cout<<"4"} }void main() { B b}

选项:

A、A)1234

B、 B)1324

C、 C)1342

D、 D)3142

学员答案:

C

题号:42 题型:单选题 本题分数:2

内容:

下列关于多态性的描述,错误的是( )

选项:

A、A)C++语言的多态性分为编译时的多态性和运行时的多态性

B、 B)编译时的多态性可通过函数重载实现

C、 C)运行时的多态性可通过模板和虚函数实现

D、 D)实现运行时多态性的机制称为动态绑定

学员答案:

C

题号:43 题型:单选题 本题分数:2

内容:

当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )

选项:

A、A)ios::in

B、 B)ios::out

C、 C)ios::in|ios::out

D、 D)以上都不对

学员答案:

D

题号:44 题型:单选题 本题分数:2

内容:

下列程序的运行结果是( ) 以下是引用片段: #include class A { int apublic: A(){a=0} A(int as) { a=ascout<选项:

A、A 23

B、B 12

C、 C 35

D、D 25

学员答案:

B

题号:45 题型:单选题 本题分数:2

内容:

下面程序的输出结果是( ) 以下是引用片段: #include class example { int apublic: example(int b){a=b++} void print(){a=a+1cout<A、A)2 2

B、B)4 3

C、C)4 2

D、D)3 2

学员答案:

C

题号:46 题型:单选题 本题分数:2

内容:

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

选项:

A、A 、 参数个数

B、B 、 参数名字

C、C 、 *** 作内容

D、D 、 赋值

学员答案:

A

题号:47 题型:单选题 本题分数:2

内容:

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

选项:

A、A 、 转换函数

B、B 、 构造函数

C、C 、 虚函数

D、D 、 静态成员函数

学员答案:

B

题号:48 题型:单选题 本题分数:2

内容:

下列虚基类的声明中正确的是( )

选项:

A、A 、 class virtual B: public A

B、B 、 class B: virtual public A

C、C 、 class B: public A virtual

D、D 、 virtual class B: public A

学员答案:

B

题号:49 题型:单选题 本题分数:1

内容:

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

选项:

A、A)面向过程

B、B)面向对象

C、C)安全性

D、D)复用性

学员答案:

B

题号:50 题型:单选题 本题分数:1

内容:

C++语言的跳转语句中,对于break和continue说法正确的是()

选项:

A、A)break语句只应用与循环体中

B、B)continue语句只应用与循环体中

C、C)break是无条件跳转语句,continue不是

D、D)break和continue的跳转范围不够明确,容易产生问题

学员答案:

B

题号:51 题型:单选题 本题分数:2

内容:

下列关于模板的说法正确的是( )

选项:

A、A)模板的实参在任何时候都可以省略

B、B)类模板与模板类所指的是同一概念

C、 C)类模板的参数必须是虚拟类型的

D、D)类模板中的成员函数全部都是模板函数

学员答案:

D

题号:52 题型:单选题 本题分数:2

内容:

表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是( )

选项:

A、A) showbase()和eof()

B、B)showpoint()和eof()

C、 C)showpoint()和bad()

D、D)showpoint()和good()

学员答案:

B

题号:53 题型:单选题 本题分数:2

内容:

若定义int k=7,x=12,则值为3的表达式是( )

选项:

A、A)x%=(k%=5)

B、B)x%=(k-k%5)

C、 C)x%=k-k%5

D、D)(x%=k)-(k%=5)

学员答案:

D

题号:54 题型:单选题 本题分数:2

内容:

在位运算中, *** 作数每右移一位,其结果相当于( )

选项:

A、A) *** 作数乘以2

B、B) *** 作数除以2

C、C) *** 作数乘以4

D、D) *** 作数除以4

学员答案:

B

题号:55 题型:单选题 本题分数:2

内容:

有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把节点b连接到节点a 之后的语句是( ), 以下是引用片段: struct node { char data struct node*next }a,b,*p=&a,*q=&b

选项:

A、A)a. next=q

B、 B)p. next=&b

C、 C)p->next=&b

D、 D)(*p).next=q

学员答案:

B

题号:56 题型:单选题 本题分数:2

内容:

下面程序的运行结果为( ) 以下是引用片段: #include class A { int numpublic: A(int i){num=i} A(A &a){num=a. num++} void print(){cout<选项:

A、A)11

B、 B)12

C、 C)21

D、 D)22

学员答案:

C

题号:57 题型:单选题 本题分数:2

内容:

如果类A被说明成类B的友元,则( )

选项:

A、A)类A的成员即类B的成员

B、 B)类B的成员即类A的成员

C、 C)类A的成员函数不得访问类B的成员

D、 D)类B不一定是类A的友元

学员答案:

D

题号:58 题型:单选题 本题分数:2

内容:

可以用p.a的形式访问派生类对象P的基类成员a,其中a是( )

选项:

A、A)私有继承的公有成员

B、 B)公有继承的私有成员

C、 C)公有继承的保护成员

D、 D)公有继承的公有成员

学员答案:

D

题号:59 题型:单选题 本题分数:2

内容:

for(int x=0,y=0!x&&y<=5y++)语句执行循环的次数是()

选项:

A、A)0

B、 B)5

C、 C)6

D、 D)无次数

学员答案:

C

题号:60 题型:单选题 本题分数:2

内容:

考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是()

选项:

A、A)test(5)

B、 B)test(5,8)

C、 C)test(6,"#")

D、 D)test(0,0."*")

学员答案:

C

记得给我分啊


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12516275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存