计算机科学与技术面向对象程序设计 复习提纲(含答案)

合集下载

《面向对象程序设计》课程知识 复习 学习材料 试题与参考答案

《面向对象程序设计》课程知识 复习 学习材料 试题与参考答案

《面向对象程度设计》课程知识复习学习材料试题与参考答案一、单选题1.下列(C)的调用方式是引用调用。

A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值2.假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的(B)。

A.有参构造函数B.无参构造函数C.复制构造函数D.赋值构造函数3.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a 的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。

A.x.aB.x.a()C.x->GetValue()D.x.GetValue()4.C++编译系统确定调用是具体对象的过程称为关联。

C++有(B)关联。

A.1种B.2种C.3种D.4种5.下面有关重载函数的说法中正确的是(C)。

A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同6.如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为(C)。

A.a.operator==(b)B.b.operator==(a)C.operator==(a,b)D.operator==(b,a)7.下列对继承关系的描述中,(D)是正确的。

A.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B.在公有继承中,基类中只有公有成员对派生类的对象是可见的;C.在私有继承中,基类中只有公有成员对派生类是可见的;D.在私有继承中,基类中的保护成员对派生类的对象是可见的;8.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为(A)。

A.int *p=new int[30];B.int *p=new int(30);C.int *p=new [30];D.*p=new int[30];9.在一个类中可以对一个运算符进行(D)重载。

面向对象程序设计复习提纲

面向对象程序设计复习提纲

面向对象程序设计复习1. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同。

2.若有指针p指向变量x,则*p与x的表示是等价的。

3.假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为a。

4.执行int *p= new int[10]操作,使p指向的元素可表示为p[0](或*p )5.除了能通过构造函数的函数体内赋值语句对数据成员实现初始化外,C++还提供一种初始化数据成员的方法参数初始化表。

6.假定p所指向对象为25,p+1指向对象为42,则执行*p++运算后,p所指向对象值为42.7.在调用成员函数时,this指针被初始化成被调函数所在类的对象的地址。

8.为了使指针值始终保持为初始值,可以将指针变量声明为const型(常指针)9.静态数据成员可以初始化,但只能在类体外进行初始化。

10.私有继承中,基类中的保护成员在私有派生类中的访问属性是私有11.预处理命令在程序中都是以#符号开头的。

12.当一个函数调用表达式只能与一个模板函数相符合时,将首先根据模板函数生成一个实例函数,然后再调用它执行。

13.假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为~AB(){}14.派生类的成员函数不能直接访问基类的私有成员。

15.若需要定义基类中的一个成员函数为虚函数,则必须在函数头的开始使用virtual保留字。

16.为了实现运算符重载,必须定义一个叫做operator的运算符函数。

17.Time为类名,有定义void Time::fun()const,fun称为常成员函数18.对象的指针就是对象空间的地址19.保护继承中,基类中的公用成员在保护派生类中的访问属性是保护20.假定p所指向对象为2,p+1指向对象为3,则执行*++p运算后,p所指向对象值为3 完成程序题31.下列函数的功能是实现两个数的最小公倍数,请填空:#include<iostream>_ ①_;using namespace stdint lcd(int x,int y){②;}return x*y/hcf(x,y)32. 下面函数的功能是:统计子字符串substr在字符串str中出现的次数。

《面向对象程序设计》复习提纲

《面向对象程序设计》复习提纲
用const修饰指针(常量指针、指针常量、常量指针常量) 理解用引用代替指针的好处
作用域与生命期 作用域(五种)、可见性、::运算符的两种用法、支配(覆盖)规则 生命期(三种)、理解静态局部变量、静态全局变量new和delete对堆区操作的基本用法
string类、字符串对象的概念(区分cstring、string.h和string)
scanf、printf)
标准输入输出流类iostream,标准输入流对象cin、标准输出流对象cout、流插入运算符<<、流提取运算符>>的基本概念及用法;输入输 出流中常用控制符的使用(setw、iomanip头文件)
const定义常变量,必须初始化 引用与指针
引用的概念、声明方法(必须初始化、引用常量)、使用方法、传引用 (双向传递)、用const修饰引用(常量引用常量)
C++程序的上机步骤(编辑cpp、编译obj、连接exe、运行)
2、类和对象(5')
面向对象程序设计的三大特点:封装、继承和多态性
理解用class和struct声明类的异同
类中的两种成员,三种访问权限控制符的区别 类的声明和成员函数定义的规范写法
对象的存储结构
this指针的概念及用法
3、关于类和对象的进一步讨论(40')
7、输入输出流(不考)
8、C++工具(不考)
概念、作用、声明及定义方法、调用时机
特点:无名、有参、无返回值
缺省拷贝构造函数、深拷贝与浅拷贝
拷贝赋值操作
概念、作用、声明及定义方法、调用时机(区别于拷贝构造函
数)
特点:有名、有参、有返回值
缺省拷贝赋值操作、深拷贝与浅拷贝

面向对象程序设计一 复习提纲

面向对象程序设计一 复习提纲

Line();
int GetLength(); private:
Point m_ptBegin;
Point m_ptEndபைடு நூலகம் };
面向对象程序设计——复习
12、包含其它类对象的类的构造和析构顺序 当一个类中包含了其它类的对象时,决定其构造顺序的并 非是构造函数中的初始化列表的构造顺序,而是其它类的
面向对象程序设计——复习
c) 类和对象的关系 抽象和具体的关系。类代表的是一类事物,而对象代表的是 该类事物中的某一具体的事物(一个实例)。 d) 抽象和封装的概念 抽象:数据的抽象是对数据进行实例分析,抽取其共同性质 的结果。
封装:数据结构以及作用于数据结构上的操作组成一个实体, 把数据的表示方式及操作细节隐藏起来,用户通过接口对数 据进行操作。
int const j = 10;
面向对象程序设计——复习
3) 常量和指针的合用 a. 指向const的指针(指针指向的地址中的内容不能修改) 形式:
推荐使用 const 类型* p;
类型 const* p; 不推荐使用 例:int m = 10; const int* p = &m;
(*p)++;
7、构造析构顺序

顺序规则:先构造的后析构,后构造的先析构
8、this指针 指向当前对象的指针。
面向对象程序设计——复习
例:Point类为例
void main() { Point pt[3]; for(int id = 0; id < 3; id++) { pt[id].SetX(id); pt[id].SetY(id); } }
void Point::SetX(int newX) { m_iX = newX; }

面向对象程序设计复习提纲

面向对象程序设计复习提纲

面向对象程序设计各章节重点题型1、选择题(每题2分,共20)2、填空题(每空1分,共30)3、判断题(每题3分,共15分)4、程序阅读及修改题(共15分)5、程序编写题(共20分)覆盖内容:课件、实验、作业第一章概述1、程序设计语言分类2、程序设计方法的发展过程3、面向对象的基本概念对象;类;类的封装、继承、多态4、面向对象的软件工程5、翻译程序的分类第二章C++简单程序设计1、C++语言的特点2、程序结构编译器在对源程序进行编译之前,前行要由预处理程序对源程序进行预处理。

所有的预处理指令在程序中都是以“#”来引导,每条预处理指令单独占用一行,不用分号结束。

程序由语句组成,以空格和换行来区分词法单位,每条语句由分号“;”作为结束符。

“endl”是C++输出时的控制符,作用是换行,与“\n”作用相同。

C++标准库中的类和函数都是在命名空间std中声明的,因此,程序中需要使用C++标准库中的相关内容时,需要用“using namespace std”语句进行声明,否则在指令前加前辍“std::”。

程序由语句组成,以空格和换行来区分词法单位,每条语句由分号“;”作为结束符。

标识符cout为输出流对象,“<<”为插入运算符,将操作符后的内容输出到标准输出设备(显示器)上。

标识符cin为输入运算符,“>>”为提取运算符,将从标准输入设备(键盘)上输入的数据输入到操作符后的变量中。

C++换行控制符为endl,其作用与“/n”相同。

头文件的使用:当使用标准输I/O流操作时,需要包括头文件:iostream.h;如果需要控制输出数据的特殊格式,需要包括头文件:iomanip.h;若需要对字符串进行操作,需要包括头文件:string.h;若需对文件进行操作,需要包含fstream.h 等。

3、数据数据类型C++中的数据数据类型大体上可以分为5种:基本类型、空类型、构造类型、指针类型、类类型;变量的存储类型有四种:auto(自动)、register(寄存器)、extern (外部)、static(静态)。

面向对象程序的设计复习题与参考答案

面向对象程序的设计复习题与参考答案

⾯向对象程序的设计复习题与参考答案⽹络教育课程考试复习题及参考答案⾯向对象程序设计⼀、填空题:1.创建类的对象时,使⽤运算符___________给对象分配存空间。

2.Java通过来区分重载函数。

3.在⼦类中使⽤保留字_ _可调⽤被⼦类覆盖的⽗类中的⽅法。

4.使⽤保留字可以从⼀个构造⽅法中调⽤同⼀个类的另⼀个构造⽅法。

5.抽象类⽤修饰符定义。

6.类的数据成员的访问权限修饰符⼀般为7.访问权限修饰符按照访问权限的⼤⼩从⼤到⼩分别为、、、。

8.定义类的构造⽅法不能有,其名称与名相同。

9.抽象⽅法是的特征是。

10.Java中的所有异常都是从继承来的。

11.对象引⽤中存储的容是。

12.下列程序段执⾏后,String str1 = new String("Java");String str2 = new String("Java");if (str1.equals(str2)) {System.out.println("They are equal");} else {System.out.println("They are not equal");}输出结果为:。

13.下⾯循环执⾏后的sun值为int count =0, sum = 0;while ( count <10 ) {sum += count;count ++;}14.Java语⾔中关键字_ _表⽰双精度类型。

15.保留字_ _⽤于导⼊包中的类到程序中,供程序中使⽤。

16.Java语⾔中继承是⽤保留字表⽰。

17.⾯向对象程序设计中,类是指。

18.对象包含和。

19.若有类定义:class B extends A{…}则类B是类A的_ 。

20.Java语⾔中, 通常把可能发⽣异常的⽅法调⽤语句放到try块中,并⽤紧跟其后的_ 块来捕获和处理异常。

21.多态是指。

复习提纲(OOP)

复习提纲(OOP)

0、概述1、结构化的程序设计、面向对象的程序设计的基本思想。

●结构化的程序设计将数据和对数据的操作分离,程序是由一个个的函数组成的。

●面向对象的程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过成员函数进行通信,它能够较好地支持程序代码的复用。

2、面向对象的程序设计有四大特征,它们是封装性、继承性、多态性、抽象性。

面向过程的程序设计中程序模型描述为(1),面向对象程序设计的程序模型可描述为(2)。

(1)“程序=算法+数据结构”。

其数据与数据处理是分离的。

(2)程序=对象+对象+……+对象;对象=(算法+数据结构)。

注:在C语言中,编程的单位是函数;而在C++语言中,编程的单位是类C++语言对C语言作了很多改进,其是C++引进了类和对象的概念;使得C++语言发生了质变,从面向过程变成了面向对象。

一、C++语言对C的扩充1.输入输出语句:标准的I/O流、文件流2.string类型与string流3.向量(vector)P88迭代器(interator)●迭代器是指针概念的泛型化,它指向容器中的元素,它能象指针一样增减,轮流指示容器中每个元素。

所以说迭代器是面向对象版本的指针。

●迭代器可以包括指针,但迭代器又不仅仅是一个指针。

迭代器类型变量的使用:vector<int>::iterator it; //it为向量中的迭代器for( it=a.begin(); it!=a.end(); ++it ) cout<<*it<<" ";如:iterator insert(iterator it,const T&x=T())//把元素x插入到it指向的元素之前iterator erase(iterator it) //删除it指向的元素iterator erase( iterator first, iterator last) //删除[first,last]范围指向的元素4.引用类型作为:函数参数类型、函数的返回值类型(注意被引用的实体必须是存在)5.函数重载和默认参数注意:默认参数的规则:默认参数只能在声明时给出,无默认值的参数在前,有默认值的参数在后二、类要求:1.掌握类定义、类成员的访问权限(public、protected、private);能够根据给定的要求定义类,并实现类的成员函数;◇类是对具有共同属性和行为的一类事物的抽象描述,在C++语言中,共同属性被描述为类中的数据成员,共同行为被描述为类中的成员函数。

面向对象程序设计复习总结题(含部分答案)

面向对象程序设计复习总结题(含部分答案)

《面向对象程序设计》复习要点及复习题(一)复习要点1.标识符、基本数据类型(字节数)、构造数据类型、运算符的种类、运算符的优先级和结合性、控制台输入和输出2.三种基本控制结构、if…else语句、switch语句、for语句、while语句、do…while语句、跳转语句;函数参数传递、函数重载、内联函数;标识符的作用域和生存期。

3.类的定义和使用、this指针、构造函数和析构函数、组合技术、静态成员、友元、运算符重载4.指针与数组、二级指针、动态内存的分配与释放、深复制与浅复制、递归。

5.派生类的构造与析构、派生类与基类的赋值兼容、多重继承与虚基类。

6.虚函数与动态绑定、纯虚函数与抽象类(二) 复习题一、单项选择题。

1.在switch语句中,为了结束分支,一般应在每个分支的结尾处加上语句(C)。

A. continueB. gotoC. breakD. default2.说明友元函数的关键字是(D)。

A. inlineB. virtualC. staticD. friend3.下面对指向常量的指针描述正确的是(C)。

A. 只能指向常量B. 指向的数据可以被修改C. 可以指向普通变量D. 必须进行初始化4.友元函数没有(A)。

A. this指针B. 返回类型C. 函数名D. 参数5.关于重载,(A)不正确。

A. 类名可以重载B. 函数名可以重载C. 运算符可以重载D. 缺省参数是重载的一种方式6.用new分配n维数组空间,首地址赋予指针p,则p应为指向(C)维数组的指针。

A. 0B. 1C. n-1D. n7.为类X重载前缀自增运算,则函数返回类型应为(C)。

A. XB. X*C. X&D. int8.以下(A)未调用构造函数(X为类名)。

A. X*p;B. X obj;C. X obj(1);D. X obj=2;9.若在类外有函数调用X::func();则函数func是类X的(C)函数。

面向对象程序设计复习题(附参考答案)

面向对象程序设计复习题(附参考答案)

【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】机器语言中的指令编码为()编码。

[A.]二进制[B.1符号[c.1十进制[D.]数字【答案】A【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】JaVa语言的主要特点不包括()。

[A.]面向对象[B.]自动垃圾回收[CJ处理文件[D.]可移植性【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java开发工具包简称为()。

[A.]JKD[B.]JRK[C.]JDK[D.]JRE【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】具有相同属性和服务的一组对象的模板称为()。

1B.]类[c.1代码[D.]概念【答案】B【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。

[A.]产品[B.1元素[c1成分[D.]实例【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java是一门()语言。

[A.]机器[B.]汇编[C.)面向过程的高级[D.]面向对象的高级【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】使用JDK编译JaVa程序时使用的命令是()。

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

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

面向对象程序设计复习选择题1. 一个设计得好的面向对象系统具有(B)特征。

A 低内聚、低耦合B 高内聚、低耦合C 高内聚、高耦合D 低内聚、高耦合2. 面向对象程序设计的特点主要概括为(C)。

A 可分解性、可组合性、可分类性B 继承性、封装性、多态性C 抽象封装性、继承性、多态性D 封装性、易维护性、可扩展性、可重用性3. 关于C#程序的书写,下列不正确的说法是( D )。

A. 区分大小写B. 一行可以写多条语句C. 一条语句可写成多行D. 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法4. 关于C#语言的基本语法,下列哪些说法正确的是(C)A. C#语言使用using 来引用需要用到的命名空间;B. 用C#编写的程序中,Main 函数是唯一允许的全局函数;C. C#语言中使用的名称严格区分大小写;D. C#中一条语句必须写在一行内;5 以下标识符中,正确的是(A)。

A._nNameB. typeofC. 6bD. x5#6.字符串连接运算符包括&和(A)。

A. +B. -C. *D. /7.拆箱是关于:(B)A、值类型到引用类型的转换B、引用类型到值类型的转换C、引用类型到引用类型的转换D、值类型到值类型的转换8.装箱是关于:(A)A、值类型到引用类型的转换B、引用类型到值类型的转换C、引用类型到引用类型的转换D、值类型到值类型的转换9.下列引用类型和值类型描述正确的是(A)。

A. 引用类型变量保存内存地址,值类型直接保存变量值B. 引用类型在变量中直接保存变量值,值类型保存内存地址C. 引用类型和值类型保存数据的方式相同D. .NET Framework不支持值类型,因为所有的类型都是引用类型了10.一个类中的静态方法的调用可以:(A)A、通过类名调用B、通过实例化的对象调用C、在主方法中直接调用D、在同一个类中的某一方法中直接调用11.以下数据类型中,属于引用类型的是:(A)A、string类型B、double类型C、int类型D、 char类型12.下列类型中为值类型的是(C)A. 字符串类型B. 树组类型C. 枚举类型D. 接口类型13.decimal类型和浮点类型都可以表示小数,正确说法:(C)A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D. 小数类型比浮点类型精度低14. 有定义语句:int [,]a=new int[5,6]; 则下列正确的数组元素的引用是(C)。

面向对象程序设计课程期末复习提要

面向对象程序设计课程期末复习提要

《面向对象程序设计》课程期末复习提要中央电大理工部计算机教研室《面向对象程序设计》课程是中央电大计算机科学与技术专业(本科)一门必修的专业基础课。

该课程主要介绍如何用C++语言进行面向对象程序设计,因此C++语言的介绍是本书的重点,也是学员需要掌握的重点。

下面按照主教材内容次序给出具体复习要求,供同学们进行期末复习时参考。

各部分复习提要第一部分程序设计基础复习知识点:C++程序的基本结构基本数据类型常量、变量的定义与使用常用运算符的使用表达式的分类和使用简单的输入输出复习要求:1.理解:C++程序的基本组成。

2.应用:能够编写简单的程序,能完成简单数据类型数据输入、利用变量存放输入数据,利用常量存放固定数据,利用运算符进行简单的运算,并能够将结果输出(如书中2.6, 2.7题)。

3.应用:能进行比较复杂的表达式运算(如书中3.1,3.2,3.3题* )。

第二部分语句与操作流程复习知识点:语句的分类分支语句循环语句转移语句复习要求:1.理解:语句按功能分为:操作运算语句和流程控制语句,其中操作运算语句按复杂程度分为简单语句和复合语句。

2.应用:能够根据程序要求选择合适的流程控制语句(如书中4.2,4.4,4.5题)。

3.应用:能够用多种循环语句实现一种循环的程序要求(如书中4.1题)。

4.综合应用:综合运用各种语句完成比较复杂的程序逻辑(如书中4.9题)。

第三部分函数复习知识点:模块化程序设计函数的定义函数的定义与函数原型函数参数的类型与传递方式全局变量和局部变量函数调用机制递归函数函数重载函数的默认参数静态局部变量复习要求:1.理解:模块化程序设计与函数的关系。

2.理解:默认参数的含义与用法,能够在程序中正确使用默认参数。

3.理解:全局变量、局部变量、静态变量的含义,能够在程序中正确选择使用静态、局部和全局变量。

4.应用:将一些功能明确的代码封装在函数中(如书中5.1,5.2,5.3题)。

5.应用:利用递归函数来简化程序设计(如书中5.7题)。

面向对象程序设计复习提纲

面向对象程序设计复习提纲

一、填空题1.c++中变量按照作用范围可分为局部变量和全局变量。

2.动态联编支持的多态性称为运行时的多态性,也称为动态多态性。

3.在一个函数的定义或声明前加上关键字 inline 时,该函数就声明为内联函数。

4.在类中定义和实现的函数称为成员函数。

5.程序中可以有多个名称相同,但参数类型不同或个数不同或类型与个数都不同的函数,这种现象称为函数重载。

6.若定义 int a[][4]={1 ,2,3,4,5,6,7,8,9},则数组 a的第一维的大小是 3。

7.设置虚基类使用的关键字为 virtual 。

8.基类的构造函数和析构函数,不能被派生类继承。

9.含有纯虚函数的类称为抽象类,它不能定义对象,主要用作基类。

10.动态联编支持的多态性称为运行时的多态性。

11.运算符重载函数的两种主要形式有成员函数和友元函数。

12.使用模板是为了提高代码的可重用性。

13.在 C++语言中,变量按照生存周期分为静态存储类别变量和自动存储类别变量。

14.非成员函数应声明为类的友元函数,才能访问该类的 private 成员。

15.在类中,数据成员和成员函数的默认访问属性是 private( 或私有的 ) 。

16.如果一个类至少有一个纯虚函数,那么该类被称为抽象类。

17.对于含有对象成员的派生类,其构造函数的执行顺序为:先执行基类的构造函数、再执行对象成员所属类的构造函数,最后执行派生类的构造函数。

18.构造函数是一种特殊的成员函数,其作用是对类的数据成员进行初始化并执行对象的其他内部管理操作。

19.静态成员函数不能直接引用类中说明的非静态成员。

20.对于含有对象成员的派生类,其析构函数的执行顺序为:先派生类的析构函数、再执行对象成员所属类的析构函数,最后执行基类的析构造函数。

21.设置友元函数的目的是为能够访问该类的私有成员。

22.运算符重载仍然保持原来的优先级、结合性和语法结构。

23.基类的私有成员不能被派生类的成员访问。

计算机科学与技术面向对象程序设计复习提纲(含答案)

计算机科学与技术面向对象程序设计复习提纲(含答案)

计算机科学与技术面向对象程序设计复习提纲(含答案)面向对象程序设计复习提纲1. 下列叙述中正确的是()A) Java是不区分英文字母大小写的,源文件名与程序类名不允许相同B) Java语言以方法为程序的基本单位C) Applet是Java的一类特殊应用程序,它嵌入HTML中,随主页发布到互联网D) 以//符开始的为多行注释语句2. Java语言的许多特点中,下列()特点是C++语言所不具备的A) 高性能B) 跨平台C) 面向对象D) 有类库3. Java源文件中最多只能有一个()类,其他类的个数不限A)abstract B) public C) final D) interface4. Java语言中,()是所有类的根类A) Object B) Root C) Thread D) Applet5. Java语言中,字符变量以char类型表示,它在内存中占()位bitA) 8 B) 16 C) 32 D) 26. 下列叙述中,()是正确的A) 类是变量和方法的集合体B) 数组是无序数据的集合C) 抽象类可以实例化D) 类成员数据必须是公有的7. 下列关于方法形参的叙述中,()是正确的A) 必须有多个B) 至少有一个C) 可以没有D) 只能是简单变量8. 构造方法在()时候被调用A) 类定义时B) 创建对象时C) 调用对象方法时D) 使用对象的变量时9.下列关于继承的叙述中,()是正确的A) 子类能继承父类的所有方法和状态B) 子类能继承父类的非私有方法和状态C) 子类只能继承父类的public方法和状态D) 子类只能继承父类的方法,而不继承状态10. 下列关于接口的叙述中,()是正确的A) 接口与抽象类是相同的概念B) 接口之间不能有继承关系C) 一个类只能实现一个接口D) 接口中只含有抽象方法和常量二、判断题()1、Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。

()2、用“+”可以实现字符串的拼接,用“-”可以从一个字符串中去除一个字符子串。

1201-1203面向对象程序设计复习提纲

1201-1203面向对象程序设计复习提纲

1201-1203面向对象程序设计复习提纲题型:选择题(15*2 ),填空题(10*1),判断题(10*1),程序分析题(4*5),改错题(1*10),编程题(2*10)第一章面向对象程序设计概述面向对象的概念,特性等第二章 Java语言概述1.Java源文件的命名(源文件有一个类、有多个类),编译以后文件的格式和个数 .java,.class2. Java Application的执行过程的三个主要步骤是:编写源程序,编译源程序,解释执行3. main()方法及其各个参数的含义,如何传递参数,Myeclipse 中如何添加参数(第六章类库介绍中讲述)4. jdk命令javac、java(后面跟参数的执行)、 javadoc的含义及用法5.环境变量的配置及含义: path和classpath,包括. 的含义(当前目录)6.JRE、JDK的含义第三章 java语言基础及字符串1.8种基本数据类型:(布尔型的两个常量值:true,false)2. String类的常用方法,如length(),equals()、toLowerCase()、CharAt().getChars()、lastIndexOf()、substring()、replaceAll()等,equals与==的区别,要求会应用些方法3. StringBuffer类和String类的区别4.转义字符的含义(如\\),println()与print()的区别第四章类1. new关键词的含义,构造方法的定义及调用2.方法的声明与调用,方法的重载与重写的区别3. final的含义,修饰类,方法和变量的意义4.继承的定义及使用规则(父类,子类间的关系及应用,子类父类构造方法的执行)5.包的定义、创建及使用。

package语句,import语句及class创建〃的顺序:package最多一个,import语句零-多个;public class最多一个,其他class不限6.this,super关键字的使用7.实例变量与静态变量的区别及使用8.实例方法及静态方法的区别及使用9.局部变量及成员变量的有效区域及引用10. 类成员的限定词以及相应的调用范围11. 访问权限修饰符 public、private、protested、friendly(默认)的权限范围12. 接口的定义,接口的声明及使用第五章字符串(见第三章)第六章类库介绍(见第二章)1.System类:in,out及常用方法,read ,println(),复制数组的方法System.arraycopy(。

南开大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)试卷号:2

南开大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)试卷号:2

南开大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)一.综合考核(共50题)1.含有纯虚函数的类是抽象类。

()A.正确B.错误参考答案:A2.已知AA是一个类,则执行语句AA a; 后()。

A.自动调用无参构造函数B.自动调用有参构造函数C.自动调用拷贝构造函数D.产生一个对象a,但不调用任何函数参考答案:A3.派生类是从基类派生出来,它不能再生成新的派生类。

()A.正确B.错误参考答案:B4.要求打开文件d:\file.dat,可写入数据,正确的语句是()。

A.ifstream infile(“d:\file.dat”,ios::in)B.ifstream infile(“d:\\file.dat”,ios::in)C.ofstream infile(“d:\file.dat”,ios::out)D.fstream infile(“d:\\file.dat”,ios::in|ios::out)参考答案:D下列()是构造函数的特征。

A.构造函数在创建对象时自动调用B.构造函数不可以重载C.构造函数不可以设置默认参数D.构造函数必须指定函数类型参考答案:A6.下列表示引用的方法中,()是正确的。

已知:int k=1000A.int &x=kB.char &yC.int &z=1000D.float &t=&k参考答案:A7.可以用p.a的形式访问派生类对象p的基类成员a其中a是()。

A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员参考答案:D8.下面对静态数据成员的描述中,正确的是()。

A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象访问参考答案:A9.一个算法必须能在有限步骤内解决问题。

()参考答案:A10.假定MyClass为一类,执行MyClass a,b(2),*p[2]; 语句时会自动调用该类构造函数()次。

电子科技大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)试卷号:5

电子科技大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)试卷号:5

电子科技大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)一.综合考核(共50题)1.在一个applet标记中,()标记属性项可以省去不写。

A.widthB.heightC.codebaseD.code参考答案:C2.下列()修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问。

A.无修饰符B.publicC.protectedD.private参考答案:A3.下列命令中,是Java编译命令的是()。

A.javadocB.javacC.javaD.appletviewer参考答案:B4.下列()是Java的调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试。

A.javaprof.exeB.java.exeC.javadoc.exeD.jdb.exe5.在j2sdk1.4.2版中,解压得到的目录中,()是存放编译器、解释器和其他许多工具的目录。

A.libB.jreC.demoD.bin参考答案:D6.对于catch子句的排列,下列()是正确的。

A.父类在先,子类在后B.有继承关系的异常不能在同一个try结构程序段内C.排列顺序可任意D.子类在先,父类在后参考答案:D7.下面是类A的构造函数声明,其中正确的是()。

A.void a(int x){...}B.void A(int x){...}C.a(int x){...}D.A(int x){...}参考答案:D8.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。

()A.正确B.错误参考答案:BSystem.out.println(b);}} 。

A.aB.10C.1D.0xa参考答案:B10.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。

()A.正确B.错误参考答案:B11.下列语句输出结果为()。

public class A{public static void main(String[]args){byte b=0xa;System.out.println(b);}}A.aB.10C.1D.0xa参考答案:B12.class A{public String toString(){return 4+"";}}class B extends A{public String toString(){return super.toString()+3;}}public class Test{public static void main(String[]args){B b=new B();System.out.println(b.toString());} }what is the result。

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

面向对象程序设计复习提纲1. 下列叙述中正确的是()A) Java是不区分英文字母大小写的,源文件名与程序类名不允许相同B) Java语言以方法为程序的基本单位C) Applet是Java的一类特殊应用程序,它嵌入HTML中,随主页发布到互联网D) 以//符开始的为多行注释语句2. Java语言的许多特点中,下列()特点是C++语言所不具备的A) 高性能B) 跨平台C) 面向对象D) 有类库3. Java源文件中最多只能有一个()类,其他类的个数不限A)abstract B) public C) final D) interface4. Java语言中,()是所有类的根类A) Object B) Root C) Thread D) Applet5. Java语言中,字符变量以char类型表示,它在内存中占()位bitA) 8 B) 16 C) 32 D) 26. 下列叙述中,()是正确的A) 类是变量和方法的集合体B) 数组是无序数据的集合C) 抽象类可以实例化D) 类成员数据必须是公有的7. 下列关于方法形参的叙述中,()是正确的A) 必须有多个B) 至少有一个C) 可以没有D) 只能是简单变量8. 构造方法在()时候被调用A) 类定义时B) 创建对象时 C) 调用对象方法时D) 使用对象的变量时9.下列关于继承的叙述中,()是正确的A) 子类能继承父类的所有方法和状态B) 子类能继承父类的非私有方法和状态C) 子类只能继承父类的public方法和状态D) 子类只能继承父类的方法,而不继承状态10. 下列关于接口的叙述中,()是正确的A) 接口与抽象类是相同的概念B) 接口之间不能有继承关系C) 一个类只能实现一个接口D) 接口中只含有抽象方法和常量二、判断题()1、Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。

()2、用“+”可以实现字符串的拼接,用“-”可以从一个字符串中去除一个字符子串。

()3、A class can implement as many interfaces as needed.()4、A subclass inherits all methods ( including the constructor ) from the superclass.()5、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

三、程序改错题1、class MyClass{int var=100;static int getVar(){return var;}}2、public class MyClass{int data;void MyClass(int d){data=d;}}3、public class A implements Runnable{Thread mt=Thread(this);mt.start();public void run(){System.out.println("I am alive now");}}4、public class IfElse{public static void main(String args[]){if(odd(5))System.out.println("odd");else System.out.println("even");}public static int odd(int x){return x%2;}}四、读程序,写出其运行结果1、class Parent{void printMe(){System.out.println("parent");}}class Child extends Parent{void printMe(){System.out.println("child");}void printAll(){super.printMe();this.printMe();printMe();}}public class A{public static void main(String args[]){Child myC=new Child();myC.printAll();}}2、已有Bird类的定义如下:package abcde;public class Bird{protected static int referenceCount=0;public Bird(){referenceCount++;}protected void fly(){}static int getReCount(){return referenceCount;}}有类Nightingale的定义如下:package singers;class Nightingale extends abcde.Bird{Nightingale(){referenceCount++;}public static void main(String args[]){System.out.print("Before:"+referenceCount);Nightingale florence=new Nightingale();System.out.println("After:"+referenceCount);florence.fly();}}3、class Cruncher{void crunch(int i){System.out.println("int version");}void crunch(String s){System.out.println("String version");} public static void main(String args[]){Cruncher crun=new Cruncher();char ch='p';crun.crunch(ch);}}五、编程题1.编写一个Application程序,在生成的窗体的最下方,生成两个按钮,“Display”和“Exit”。

当按下Display 时,显示“我们来play一个game.”。

当按下“Exit”时,关闭窗口,退出应用程序。

当单击窗体上的关闭按钮时,也可关闭应用程序。

2.编写一个含有主菜单File和Help的程序,其中File中有普通菜单项Open和Exit,Help中有普通菜单项Document。

若对这三个普通菜单项单击操作时,有:Open:则显示信息:I love this game.Exit:则退出应用程序。

Document:则显示信息:Game is over!Goodbye!(提示:用ActionListener接口对ActionEvent事件处理。

面向对象程序设计参考答案单项选择题1、C2、B3、B4、A5、B6、A7、C8、B9、B10、D判断题1、√2、×3、√4、×5、×程序改错题1、将int var=100;改为static int var=100;2、去掉构造方法前面的void3、改为public class A implements Runnable{static Thread mt=new Thread(new A());public static void main(String[]args){mt.start();}public void run(){System.out.println("I am alive now");}}4、将if(odd(5))改为if(odd(5)!=0)读程序,写出其运行结果1、parentchildchild2、Before:0After:23、int version编程题1.import java.awt.*;import java.awt.event.*;public class B extends WindowAdapter implements ActionListener{Frame f=new Frame("GUI");Button b1=new Button("Display");Button b2=new Button("Exit");Label t=new Label();public B(){f.add(b1,"West");f.add(b2,"Center");f.add(t,"North");b1.addActionListener(this);b2.addActionListener(this);f.addWindowListener(this);f.setSize(150,100);f.setVisible(true);}public static void main(String args[]){new B();}public void actionPerformed(ActionEvent e){String s=e.getActionCommand();if(s.equals("Display"))t.setText("我们来play一个game.");else if(s.equals("Exit"))System.exit(1);}public void windowClosing(WindowEvent e){System.exit(1);}}2.import java.awt.*;import java.awt.event.*;public class A extends WindowAdapter implements ActionListener {Frame f=new Frame("GUI");MenuBar mb=new MenuBar();Menu m1=new Menu("File");Menu m2=new Menu("Help");MenuItem m11=new MenuItem("Open");MenuItem m12=new MenuItem("Exit");MenuItem m21=new MenuItem("Document");Label t=new Label();public A(){f.setMenuBar(mb);mb.add(m1);mb.setHelpMenu(m2);f.add(t,"South");m1.add(m11);m1.add(m12);m2.add(m21);m11.addActionListener(this);m12.addActionListener(this);m21.addActionListener(this);f.addWindowListener(this);f.setSize(200,200);f.setVisible(true);}public static void main(String args[]){new A();}public void actionPerformed(ActionEvent e){String s=e.getActionCommand();if(s.equals("Open"))t.setText("Open a file!");else if(s.equals("Exit"))System.exit(1);else if(s.equals("Document"))t.setText("Document information!");}public void windowClosing(WindowEvent e) {System.exit(1);}}。

相关文档
最新文档