《面向对象程序设计》第10章在线测试剩余时间:59:57
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、关于没有被捕捉的异常正确的说法是()
A、在catch块中没有处理的异常
B、未被捕捉的异常必然导致系统崩溃
C、如果一个异常没有被捕捉到,将调用terminate
()函数终止程序运行
D、忽略它
2、关于catch(。。。)的说法错误的是()
A、catch(。。。)可以捕捉所有类型的异常
B、catch(。。。)必须放在所有catch块的后面
C、catch(。。。)可以避免出现没有被捕捉的异常
D、catch(。。。)不能单独使用
3、关于异常对象的说法正确的是()
A、异常对象需要先建立,再抛出
B、以传值方式传递异常对象时,抛出的是局部临时
对象
C、以引用方式传递异常对象时,抛出的是局部静态对象
D、以指针方式传递异常对象时,抛出的是全局临时对象
4、关于try, throw和catch使用的说明中,错误的是()
A、throw必须在try块中
B、每一个try块的后面一定要跟着catch块
C、程序中catch块可以有多个
D、throw抛出的异常与距它最近的cach匹配
5、C++中异常处理的默认模式是()
A、终止模式
B、恢复模式
C、挂起模式
D、暂停模式
第二题、多项选择题(每题2分,5道题共10分)
1、处理程序中可预料的错误的方法有()
A、根据函数返回值进行判断处理
B、出现错误转向专门的错误处理程序
C、异常处理
D、没有办法
2、异常处理的优点是()
A、提高程序可读性
B、程序的控制不会因产生异常而随意跳转
C、正常处理代码和异常处理代码隐式分离
D、与函数调用返回的控制方法一致
3、下面与异常处理相关的关键字有()
A、Throw
B、throw
C、try
D、Try
4、异常处理的执行过程是()
A、程序执行try语句块内的保护段,如果发现异常则退出
B、如果在try语句内的程序段抛出异常,程序控制转入try块后的catch块
C、throw抛出的异常对象如果与catch子句异常类型的值一致,则执行对应的异常处理程序
D、如果没有匹配的catch子句,自动调用terminate终止程序
5、下面说法正确的是()
A、函数声明void f(int i) throw ( int,char)说明函数f会引发int和char类型的异常
B、函数声明void f(int i) throw ( ) 不会引发任何类型的异常
C、函数声明void f(int i) throw ( )和void f(int i)是一样的
D、函数声明void f(int i)说明该函数不会引发异常
第三题、判断题(每题1分,5道题共5分)
1、异常(Exception)是程序运行过程中,由于环境变化、用户操作失误以及其它方面的原因而产生的运行时不正常的情况.
正确错误
2、异常如果没有要求程序立即进行处理,将会引起程序错误甚至崩溃的现象。
正确错误
、异常信号传递方式有三种:传值方式、引用方式和指针方式。
正确错误
表示函数不会抛出任何类型的异常
正确错误
程序中如果不定义名字空间,就表示没有使用名字空间。
正确错误
恭喜,交卷操作成功完成!你本次进行的《面向对象程序设计》第10章在线测试的得分为
20分(满分20分),本次成绩已入库。若对成绩不满意,可重新再测,取最高分。
测试结果如下:
? 1.1 [单选] [对] 关于没有被捕捉的异常正确的说法是()
? 1.2 [单选] [对] 关于catch(。。。)的说法错误的是()
? 1.3 [单选] [对] 关于异常对象的说法正确的是()
? 1.4 [单选] [对] 关于try, throw和catch使用的说明中,错误的是()
? 1.5 [单选] [对] C++中异常处理的默认模式是()
? 2.1 [多选] [对] 处理程序中可预料的错误的方法有()
? 2.2 [多选] [对] 异常处理的优点是()
? 2.3 [多选] [对] 下面与异常处理相关的关键字有()
? 2.4 [多选] [对] 异常处理的执行过程是()
? 2.5 [多选] [对] 下面说法正确的是()
? 3.1 [判断] [对] 异常(Exception)是程序运行过程中,由于环境变化、用户操作失误以及其它方面的原因而产生的运行时不正常的情况.
? 3.2 [判断] [对] 异常如果没有要求程序立即进行处理,将会引起程序错误甚至崩溃的现象。
? 3.3 [判断] [对] 异常信号传递方式有三种:传值方式、引用方式和指针方式。? 3.4 [判断] [对] throw( )表示函数不会抛出任何类型的异常
? 3.5 [判断] [对] 在C++程序中如果不定义名字空间,就表示没有使用名字空间。
第1章习题答案 名词解释 抽象:抽象(Abstract)就是忽略事物中与当前目标无关的非本质特征,而强调与当前目标有关的本质特征,从而找出事物的共性,并把具有共性的事物划为一类。面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 封装:面向对象方法中的封装就是把将抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息:消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 填空题 (1) 面向过程的结构化程序设计方法面向对象程序设计方法 (2) 顺序选择循环 (3) 程序=数据结构+算法程序=对象+消息 (4) 过程类 (5) 抽象性封装性继承性多态性 选择题 (1) B (2) C (3) D (4) C (5) D (6) A (7) A (8) B C (9) A D 判断题 (1) t (2) f (3) f (4)f (5) t (6) f (7) f (8) t 简答题 (1) 结构化程序设计方法着眼于系统要实现的功能,从系统的输入和输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,自顶向下地对系统的功能进行分解,来建立系统的功能结构和相应的程序模块结构,有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 随着程序规模与复杂性的增长,这种面向过程的结构化程序设计方法存在明显的不足之处。首先是数据安全性问题,由于数据被每个模块所共用,因此是不安全的,一旦出错,很难查明原因。其次是可维护性及可重用性差,它把数据结构和算法分离为相互独立的实体,一旦数据结构需要改变时,常常要涉及整个程序,修改工作量极大并容易产生新的错误。每一种相对于老问题的新方法都要带来额外的开销。另外,图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。 (2) 面向对象的程序设计方法中,将程序设计为一组相互协作的对象(Object)而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征。可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为: 程序=对象+消息 在面向对象程序设计中,它着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计,来完成实体的建模任务。类通过一个简单的外部接口,与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点。
简答题 1、传统的结构化程序设计的优点和缺点是什么? 优点: (1)这种程序设计方法力求算法描述准确。 (2)对每一子过程模块容易进行程序正确性证明。 缺点: (1)这种程序设计方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。 (2)程序代码可重用性差。程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。即使重用代码,通常也是通过拷贝或编辑重新生成一份。 (3)维护程序的一致性困难。该种方法将数据与对数据进行处理的程序代码分离。 2、什么是对象? 每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。对象的属性描述了对象的状态和特征,对象的方法说明了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。 3、什么是消息? 在面向对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。当一个对象需要另外一个对象提供服务时,它向对方发出一个服务请求,而收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。4、什么是多态性? 所谓多态性是指当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大方便。 5、什么是面向对象的程序设计方法? 这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。 在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。 6、面向对象方法的特点是什么? (1)OOP以“对象”或“数据”为中心。由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。 (2)引入了“类”(class)的概念。类与类以层次结构组织,属于某个类的对象除具有该类所描述的特性外,还具有层次结构中该类上层所有类描述的全部性质,OOP中称这种机制为继承。 (3)OOP方法的模块性与继承性,保证了新的应用程序设计可在原有对象的数据类型和功能的基础上通过重用、扩展和细化来进行,而不必从头做起或复制原有代码,这样,大大减少了重新编写新代码的工作量,同时降低了程序设计过程中出错的可能性,达到了事半功倍的效果。 7、面向对象的程序设计方法与结构化程序设计方法的比较 (1)传统的结构化程序设计方法以过程为中心构造应用程序,数据和处理数据的过程代码是分离的、相互独立的实体,设计出的程序可重用代码少,且当代码量增加时维护数据和代码的一致性困难。
1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。
第6章数据库应用基础 第26讲数据库应用基础(二) 教学目标及基本要求: 1、了解数据库的相关概念、Visual Foxpro、SQL Server、Oracle等数据库的基本功能特性 2、掌握Access 2003数据库系统的组成及数据库、表、查询、报表等设计与创建 3、熟悉Access 2003的其它功能模块及对象应用。 教学重点: Access 2003数据库系统的组成及应用 教学难点: Access 2003数据库的建立、表的设计、窗体的创建、查询、数据报表 教学内容: 1、当前流行的关系型数据库简介 2、Access 2003数据库系统的应用 3、Access 2003数据库、表、窗体、报表的设计与创建 4、Access 2003数据库的查询及宏、模块 教学时间: 1学时 主要内容: 6.2 当前流行的关系型数据库简介 现在流行的关系型数据库管理系统有很多,如Microsoft Access、Visual Foxpro、SQL Server、Oracle、DB2、Informix、Sybase等。在这一节中将着重介绍Visual Foxpro、SQL Server、Oracle等3种数据库的基本情况。 6.2.1 Visual FoxPro 6.0介绍 Visual FoxPro 6.0是Microsoft公司推出的数据库管理系统。并提供了多种类型的数据,进行数据处理的功能强。 Visual FoxPro 6.0主要具有以下功能和特性: 1.良好的用户界面 2.简便的数据库操作 3.支持面向对象程序设计 4.快速创建应用程序 5.增强的表单功能和更简便的设计 6.可以多个用户一起开发应用程序 7.可与其他应用程序交互操作 8.增强的查询和视图设计 9.网络应用 6.2.2 Microsoft SQL Server介绍
面向对象程序设计实验指导书 实验一、C++开发环境应用入门(2学时)(选做) 1、实验目的 (1)了解C++开发工具的特点 (2)熟悉C++开发环境 (3)学习用C++编写标准的C++程序 2、实验任务 使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序: #include