《面向对象程序设计》习题三答案

合集下载

学堂在线《面向对象程序设计C++》习题

学堂在线《面向对象程序设计C++》习题

学堂在线《面向对象程序设计C++》习题(作业部分)作业一多选题(2分)C++源程序不能直接运行,需要经过如下哪些步骤,才能得到可以运行的程序?A.编译器B.链接器C.汇编器D.编辑器正确答案:AB判断题(1分)C++源程序必须使用两个以上的文件来存放,才能编译链接成可执行程序。

正确答案:×多选题(2分)关于main()函数的参数,以下说法正确的是A.不使用参数也是允许的B.若带参数,则第一个参数是整数类型C.若带参数,则第二个参数是字符串数组D.参数名称只能使用argc和argv正确答案:ABC多选题(2分)为防止头文件重复包含,以下书写错误的是A.错误B.错误C.错误D.错误正确答案:ABCD作业二多选题(2分)下列哪些语句可以完成对数组的初始化A.char name[10] = "THU OOP";B.char course[4] {'O', 'O', 'P'};C.int year[5] {2016, 2017, 2018};D.int score[] = {60, 80, 90};正确答案:ABCD多选题(2分)下列哪些写法不正确A.int* ptr = new int;B.int* ptr = new int(3);C.int * ptr = new int[3];D.int* ptr = new int{3};E.int* ptr = new[] int;F.int ** ptr = new int[4][5];正确答案:EF多选题(2分)下列关于for循环语句的写法,正确的是:A.第1句B.第2句C.第3句D.第4句正确答案:ABCD判断题(1分)函数重载时,函数名必须一样,函数参数必须不同,至于函数返回值类型,则没有限定。

正确答案:√单选题(1分)以下关于函数参数缺省值的说法,正确的是:A.当有多个函数参数时,任意一个都可以设置缺省值B.若只有一个参数,则不能设置缺省值C.只有整数参数才能设置缺省值D.仅允许从函数参数列表的最后一个开始依次设置缺省值(一个或多个)正确答案:D判断题(1分)函数返回类型,既可以放在函数名前面(左边),也可以使用追踪返回类型的语法放到函数名的后面(右边)正确答案:√多选题(2分)关于类成员的访问权限,以下说法正确的是:A.访问权限可以成组设置B.相同权限的成员,可以共用一个权限设置C.同一权限说明不能出现多次D.private必须在public之前出现正确答案:AB单选题(1分)下列关于私有成员的说法,正确的是A.即使是类的成员函数,也不能访问私有成员B.对象通过成员操作符,是可以访问自己隐藏的私有成员的C.私有数据只能被私有成员函数访问,不能被公有成员函数访问D.私有数据成员不能与公有数据成员同名正确答案:D多选题(2分)关于类的成员函数定义,以下说法正确的是:A.既可以放在类中定义,也可以放在类外定义B.在类外定义时,函数名前要加”类名::“进行限定C.只有私有成员函数才能在类中进行定义D.私有成员函数只能在定中进行定义正确答案:AB判断题(1分)所谓this指针,只是一种概念,是为了帮助我们理解类的运作方式而引入的,实际上在成员函数的参数列表中并没有这种变量被传入。

聊城大学计算机学院面向对象的程序设计(c++)练习题(第三周)(构造函数和析构函数)

聊城大学计算机学院面向对象的程序设计(c++)练习题(第三周)(构造函数和析构函数)

聊城大学计算机学院面向对象的程序设计第三次作业一、单选题(本大题共17小题,每题3分,共51分):1、在下列函数原型中,可以作为类AA构造函数的是()。

A void AA(int);B int AA( );C AA(int) const;D AA(int);2、下列选项中,哪一项功能是对对象进行初始化()。

A 析构函数B 数据成员C 构造函数D 静态成员函数3、假定A为类名,执行A x;语句时将自动调用该类的()。

A 有参构造函数B 无参构造函数C 拷贝构造函数D 赋值构造函数4、下列关于构造函数的说法,错误的是()。

A 系统可以提供默认的构造函数B 构造函数可以有参数,所以可以有返回值C 构造函数可以重载D 构造函数可以设置默认参数5、有如下类定义:class Point{int x, y;public:Point__________:x_(0), y_(0){}Point(int x, int y = 0):x_(x), y_(y){}};若执行语句:Point a(2), b[3], *c[4];则Point类的构造函数被调用的次数是()。

A 2次B 3次C 4次D 5次6、在下面的类定义中class sample{public:sample(int val); //①~sample( ); //②private:int a=2.5; //③public:sample( ); //④};其中错误的语句是()。

A ①B ②C ③D ④7、假定一个类的构造函数为A(int i = 4, int j = 0) { a = i; b = j;}则执行A x(1)语句后,x.a和x.b的值分别为()。

A 1和0B 1和4C 4和0D 4和18、下列关于构造函数的描述中,错误的是()。

A 构造函数可以设置默认参数B 构造函数在定义类对象时自动执行C 构造函数可以是内联函数D 构造函数不可重载9、下列选项中,哪一项不是构造函数的特征()。

Java程序设计习题附答案(三)

Java程序设计习题附答案(三)

第三部分面向对象程序设计1、引用数据类型变量具有基本属性为(ABCD)A、变量名B、数据类型C、存储单元D、变量值。

2、面向对象技术的特性是(ACD)A、继承性B、有效性C、多态性D、封装性。

3、下列哪个命题为真?(C)A、所有类都必须定义一个构造函数。

B、构造函数必须有返回值。

C、构造函数可以访问类的非静态成员。

D、构造函数必须初始化类的所有数据成员。

4、关于子类与父类关系的描述正确的是(ACD)A、子类型的数据可以隐式转换为其父类型的数据;B、父类型的数据可以隐式转换为其子类型的数据;C、父类型的数据必须通过显示类型转换为其子类型的数据;D、子类型实例也是父类型的实例对象。

5、下列哪一项说法最好地描述了Java中的对象?(C)A、对象是通过import命令引入到程序中的所有事情B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值C、对象是一种数据结构,它具有操作数据的方法D、对象是一组具有共同的结构和行为的类6、下面哪个关键字不是用来控制对类成员的访问的?(C)A、publicB、protectedC、defaultD、private7、Java语言正确的常量修饰符应该是(D)A、finalB、static finalC、staticD、public static final;8、接口的所有成员域都具有public 、static和final 属性。

9、接口的所有成员方法都具有public 和abstract 属性。

10、编译下列源程序会得到哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B.classB)只有A1.class和A2.class文件C)有A1.class、A2.class和B.class文件D) 编译不成功11、下列哪种说法是正确的?(A)A、私有方法不能被子类覆盖。

JAVA程序设计习题附答案(三)

JAVA程序设计习题附答案(三)

JAVA程序设计习题附答案(三)第三部分面向对象程序设计1、引用数据类型变量具有基本属性为(ABCD)A、变量名B、数据类型C、存储单元D、变量值。

2、面向对象技术的特性是(ACD)A、继承性B、有效性C、多态性D、封装性。

3、下列哪个命题为真?(C)A、所有类都必须定义一个构造函数。

B、构造函数必须有返回值。

C、构造函数可以访问类的非静态成员。

D、构造函数必须初始化类的所有数据成员。

4、关于子类与父类关系的描述正确的是(ACD)A、子类型的数据可以隐式转换为其父类型的数据;B、父类型的数据可以隐式转换为其子类型的数据;C、父类型的数据必须通过显示类型转换为其子类型的数据;D、子类型实例也是父类型的实例对象。

5、下列哪一项说法最好地描述了Java中的对象?(C)A、对象是通过import命令引入到程序中的所有事情B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值C、对象是一种数据结构,它具有操作数据的方法D、对象是一组具有共同的结构和行为的类6、下面哪个关键字不是用来控制对类成员的访问的?(C)A、publicB、protectedC、defaultD、private7、Java语言正确的常量修饰符应该是(D)A、finalB、static finalC、staticD、public static final;8、接口的所有成员域都具有public、static和final属性。

9、接口的所有成员方法都具有public和abstract属性。

10、编译下列源程序会得到哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A)只有B.classB)只有A1.class和A2.class文件C)有A1.class、A2.class和B.class文件D)编译不成功11、下列哪种说法是正确的?(A)A、私有方法不能被子类覆盖。

面向对象的程序设计第3阶段江南大学练习题答案 共三个阶段,这是其中一个阶段,答案在最后。

面向对象的程序设计第3阶段江南大学练习题答案  共三个阶段,这是其中一个阶段,答案在最后。

江南大学网络教育第三阶段江南大学练习题答案共三个阶段,这是其中一个阶段,答案在最后。

考试科目:《面向对象的程序设计》第章至第章(总分100分)__________学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题 (共8题,总分值8分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

)1. 关于函数模板,描述错误的是()。

(1 分)A. 函数模板必须由程序员实例化为可执行的函数模板B. 函数模板的实例化由编辑器实现C. 一个类定义中,只要有一个函数模板,则这个类是类模板D. 类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化2. 关于read()函数的下列描述中,()是正确的。

(1 分)A. 该函数只能从键盘输入中获取字符串B. 该函数只能用于文本文件的操作C. 该函数只能按规定读取指定数目的字符D. 从输入流中读取一行字符3. 在ios类中提供的控制格式标志字中,()是转换为十六进制形式的标志常量。

(1 分)A. hexB. octC. decD. right4. 进行文件输人操作时应包含()文件。

(1 分)A. ifstream.hB. fstream.hC. ofstream.hD. iostream.h5. 关于异常的描述中,错误的是()。

(1 分)A. 异常既可以被硬件引发,又可以被软件引发B. 运行异常可以预料,但不能避免,它是由系统运行环境造成的C. 异常是指从发生问题的代码区域传递到处理问题的代码区域的一个对象D. 在程序运行中,一旦发生异常,程序立即中断运行6. 假设有函数模板定义如下:template<typename T>Max(T a, T b, T &c){c = a + b;}下列选项正确的是()。

(1 分)A. float x, y; float z; Max(x, y, z);B. int x; float y, z; Max(x, y, z);C. int x, y; float z; Max(x, y, z);D. float x; double y, z; Max(x, y, z);7. 关于对getline()函数的下列描述中,()是错误的。

面向对象程序设计习题及答案

面向对象程序设计习题及答案

面向对象程序设计一、选择填空1. 关于C + +与C语言的关系描述中,(D)是错误的。

(A)C语言是C + +的一个子集 (B) C语言与C++是兼容的(C) C++对C语言进行了一些改进(D) C++和C语言都是面向对象的2. 下面关于对象概念的描述中,(B)是错误的。

(A )对象就是C语言的结构变量(B)对象代表着正在创建的系统中的一个实体(C)对象是一个状态的操作(或方法)的封装体(D)对象之间的信息传递是通过消息进行的3. 下面关于类概念的描述中,(D)是错误的。

(A )类是抽象数据类型的实现(B )类是具有共同行为的若干对象的统一描述体(C)类是创建对象的样板(D)类就是C语言的结构类型4. 按照标识符的要求,(A )符号不能组成标识符。

(A )连接符 (B)下划线 (C)大小写字母 (D)数字字符5. 下列符号中,(C)不可作为分隔符。

(A), (B) : (C)? ( D);6. 在16位机中,int型字宽为(A)字节。

(A ) 2 ( B) 4 ( C) 6 (D) 87. 类型修饰符unsigned修饰(D)类型是错误的。

(A)char ( B) int (C) long int (D) float& 对于int *pa[5];的描述,(D)是正确的。

(A)pa是一个指向数组的指针,所指向的数组是5个int型元素(B)pa是一个指向某数组中第5个元素的指针,该元素是int变量(C)pa[5]表示某个数组的第5个元素(D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针。

9. 下列关于指针的运算中,(D)是非法的。

(A)两个指针在一定条件下,可以进行相等或不等的运算。

(B)可以有一个空指针赋值给某个指针。

(C)一个指针可以加上一个整数。

(D)两个指针在一定条件下,可以相加。

10. 指针可以用来表示数组元素,下列表示中( A )是错误的。

已知:int a[3][7];(A)*(a+1)[5] ( B) *(*a+3) (C) *(*(a+1)) (D) *(&a[0][0]+2)11. 下列表示引用的方法中,(A )是正确的。

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。

4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。

每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。

5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。

(完整版)Java程序设计习题附答案(三)

(完整版)Java程序设计习题附答案(三)

第三部分面向对象程序设计1、引用数据类型变量具有基本属性为(ABCD)A、变量名B、数据类型C、存储单元D、变量值。

2、面向对象技术的特性是(ACD)A、继承性B、有效性C、多态性D、封装性。

3、下列哪个命题为真?(C)A、所有类都必须定义一个构造函数。

B、构造函数必须有返回值。

C、构造函数可以访问类的非静态成员。

D、构造函数必须初始化类的所有数据成员。

4、关于子类与父类关系的描述正确的是(ACD)A、子类型的数据可以隐式转换为其父类型的数据;B、父类型的数据可以隐式转换为其子类型的数据;C、父类型的数据必须通过显示类型转换为其子类型的数据;D、子类型实例也是父类型的实例对象。

5、下列哪一项说法最好地描述了Java中的对象?(C)A、对象是通过import命令引入到程序中的所有事情B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值C、对象是一种数据结构,它具有操作数据的方法D、对象是一组具有共同的结构和行为的类6、下面哪个关键字不是用来控制对类成员的访问的?(C)A、publicB、protectedC、defaultD、private7、Java语言正确的常量修饰符应该是(D)A、finalB、static finalC、staticD、public static final;8、接口的所有成员域都具有public 、static和final 属性。

9、接口的所有成员方法都具有public 和abstract 属性。

10、编译下列源程序会得到哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B.classB)只有A1.class和A2.class文件C)有A1.class、A2.class和B.class文件D) 编译不成功11、下列哪种说法是正确的?(A)A、私有方法不能被子类覆盖。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计》习题三答案
一、单项选择题(本大题共25小题,每小题2分,共50分)
1、用“>>”运算符从键盘输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。

A、空格或逗号B、逗号或回车 C、逗号或分号D、空格或回车
2、C++中声明常量得关键字就是( A )。

A、const
B、extern
C、public
D、enum
3、以下叙述中正确得就是( B )
A、使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外得值ﻫB、使用const定义得常量名有类型之分,其值在程序运行时就是不可改变得ﻫC、在程序中使用内置函数使程序得可读性变差
D、在定义函数时可以在形参表得任何位置给出缺省形参值
4、下列得符号常变量定义中,错误得定义就是( C )。

A、constM=10;
B、constint M=20;
C、const char ch; D、const bool mark=true;
5、函数原型语句正确得就是( B )。

A、int Function(void a)
B、voidFunction (int);
C、int Function(a);
D、void int(double a);
6、在关键字private后面定义得成员为类得( A )成员。

A、私有B、公用C、保护 D、任何
7、在一个类得定义中,包含有( C)成员得定义。

ﻫA、数据B、函数 C、数据与函数D、数据或函数
8、在类作用域中能够通过直接使用该类得( D )成员名进行访问、ﻫA、私有 B、公用 C、保护D、任何
9、在关键字public后面定义得成员为类得( B )成员。

A、私有
B、公用
C、保护D、任何
10、类中定义得成员默认为( B )访问属性、
A、public B、private C、protected D、friend 11、每个类( C )构造函数。

A、只能有一个B、可以有公用得
C、可以有多个D、只可有缺省得
12、对类对象成员得初始化就是通过构造函数中给出得( B )实现得。

A、函数体
B、参数初始化表
C、参数表 D、参数初始化表或函数体
13、假定AB为一个类,则执行“AB x;”语句时将自动调用该类得( B ).。

A、有参构造函数
B、无参构造函数
C、复制构造函数
D、赋值重载函数
14、假定AB为一个类,则执行“AB x(a,5);”语句时将自动调用该类得( A )、
A、带参构造函数B、无参构造函数
C、复制构造函数D、赋值重载函数
15、假定CTest为一个类,并且有一无默认值得得有参构造函数与一无参构造函数,则执行“CTe st objTest;”语句时将自动调用该类得( B )。

A、有参构造函数
B、无参构造函数
C、复制构造函数
D、赋值构造函数
16、在重载一个运算符时,其参数表中没有任何参数,这表明该运算符就是( B )。

A、作为友元函数重载得1元运算符
B、作为成员函数重载得1元运算符
C、作为友元函数重载得2元运算符
D、作为成员函数重载得2元运算符
17、在成员函数中进行双目运算符重载时,其参数表中应带有( B )个参数。

A、0
B、1
C、2
D、3
18、双目运算符重载为普通函数时,其参数表中应带有( C )个参数。

A、0
B、1 C、2 D、3
19、如果表达式a+b中得“+”就是作为成员函数重载得运算符,若采用运算符函数调用格式,则可表示为( A )。

A、a。

operator+(b) B、b.operator+(a)
C、operator+(a,b)
D、operator(a+b)
20、如果表达式a==b中得“=="就是作为普通函数重载得运算符,若采用运算符函数调用格式,则可表示为( C )。

A、a.operator==(b) B、b.operator==(a)
C、operator==(a,b)
D、operator==(b,a)
21、派生类得成员函数可以直接访问基类得( B )成员。

A、所有B、公有与保护
C、保护与私有
D、私有
22、派生类可以访问其基类得( D )。

A、公用成员
B、保护成员C、私有派生 D、公用与保护成员
23、对于类中定义得成员,其隐含访问权限为( C )、
A、public B、ptotected C、private D、static
24、在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为( A )方式。

A、私有继承B、非私有继承 C、保护继承 D、公用继承
25、在公用继承得情况下,基类成员在派生类中得访问权限( B )
A、受限制 B、保持不变 C、受保护 D、不受保护
二、判断题(本大题共25小题,每小题2分,共50分,正确填“T”,错误填“F”)
1、字符串"sdfgh"得长度就是5。

( T )
2、将字符串常量存放到字符串变量时,包含字符串本身与结束符“\0”。

( F )
3、关系运算符可以用来比较两个字符得大小,也可用来比较两个字符串得大小、( T )
4、使用new运算符创建数组时,可以为该数组指定初始值( F )、
5、在设计类时一般把数据成员设置为私有得,把函数成员设置为公用得,从而实现了公用接口与私有实现得分离、( T)
6、析构函数必须指定返回类型以及函数参数、( F )
7、如果定义了一个类得对象数组,该数组有10个元素,则要调用10次构造函数来对每个元素初始化。

( T )、
8、友元函数说明在类体内,它就是一种成员函数。

( F )
9、友元类必须被说明为公用成员、( F )
10、运算符重载以后,其优先级与结合性都不能改变。

( T )
11、重载单目运算符作为类得成员函数,函数没有参数、( T )
12、将运算符“+”函数重载为类得成员函数,交换律不适用。

( T )
13、不能通过派生类对象引用从私有基类继承过来得任何成员、( T )
14、若类B就是类A得私有派生类,类C就是类B得私有派生类,则类C可访问类A得公用成员。

( F )
15、在声明派生类时,派生类把基类得得构造函数也一起继承过来。

( F )
16、派生类能够继承基类得析构函数。

( F )
17、使用虚函数可以避免多重继承产生得二义性。

( T )
18、当一个成员函数被声明为虚函数后,其派生类中得具有相同参数类型与相同参数个数类型得相同类型得同名函数也就是虚函数。

( T)
19、纯虚函数就是在基类中说明得虚函数,它在该基类中必须定义具体得操作内容。

( F )
20、不可以定义抽象类得对象。

( T )
21、使用字符串流时必须打开文件。

( F )
22、程序运行过程出现异常就是由于语法错误引起得。

( F )
23、在C++得异常处理方法中,try块与catch块必须作为一个整体出现。

( T )
24在C++中,在文件中只能用“#include <iostream>包含头文件iostream,而不能用“#include <iostream。

h〉包含头文件iostream。

( F )
25、C++中得所有运算符都允许重载。

( F )。

相关文档
最新文档