《Access等级考试公共基础试题.doc》由会员分享,可在线阅读,更多相关《Access等级考试公共基础试题.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章 程序设计基础考点1:程序设计方法与风格 考点点拨:主要考查程序设计的基本概念、程序文档化应注意的问题。【试题1】关于建立良好的程序设计风格,下面描述正确的是 。A)程序应简单、清晰、可读性好B)符号名的命名只要符合语法即可C)充分考虑程序的执行效率D)程序的注释可有可无答案:A分析:程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序是由人来编写的,为了测试和维护程序,往往还要阅读和跟踪程序,因此程序设计的风格总体而言应该强调简单和清晰,程序必须是可以理解的,可读性要好。著名的“清晰第一,效率第二”这一论点已成为当今主导的程序设计风格。理论链接:程序设计风格的重要性程序设计是
2、一门技术,需要相应的理论、技术、方法和工具作支持。就程序设计方法和技术的发展而言,主要经过了结构化程序设计阶段和面向对象的程序设计阶段。除了好的程序设计方法和技术之外,程序设计风格也是很重要的。因为程序设计风格会深刻地影响软件的质量和可维护性,良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护,因此,程序设计风格对保证程序的质量是很重要的。【试题2】源程序文档化要求程序应加注释。注释一般分为序言性注释和 。答案:功能性注释分析:源程序文档化时应考虑:符号名的命名、程序注释和视觉组织。正确的注释能够帮助读者理解程序。注释一般分为序言性注释和功能性注释。序言性注释通常位于每个程序的开头部
3、分,它给出程序的整体说明,主要描述内容可以包括:程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等。功能性注释的位置一般嵌在源程序体之中,主要描述其后的语句或程序做什么。理论链接:符号名的命名和视觉组织l 符号名的命名:符号名的命名应具有一定的实际含义,以便于理解程序功能。l 视觉组织:为使程序的结构一目了然,可以在程序中利用空格、空行、缩进等技巧使程序层次清晰。【试题3】在编写程序时,需要注意 的风格,以便使程序中的数据说明更易于理解和维护。答案:数据说明分析:在编写程序时,开发者需要注意数据说明的风格,以便使程序中的数据说明更易于理解和
4、维护。应注意和把握以下三点:(1)数据说明的次序规范化鉴于程序理解、阅读和维护的需要,使数据说明次序固定,可以使数据的属性容易查找,也有利于测试、排错和维护。(2)说明语句中变量安排有序化当一个说明语句中有多个变量时,变量按照字母顺序排序为好。(3)使用注释来说明复杂数据的结构【试题4】程序应该简单易懂, 应该简单直接,不应该为提高效率而把语句复杂化。答案:语句构造分析:编写的程序应该简单易懂,语句构造应该简单直接,不能为了提高效率而把语句复杂化。应注意以下内容:在一行内只写一条语句;程序编写应优先考虑清晰性;除非对效率有特殊要求,程序编写要做到清晰第一,效率第二;首先要保证程序正确,然后才要
5、求提高速度;避免使用临时变量而使程序的可读性下降;避免不必要的转移;尽可能使用库函数;避免采用复杂的条件语句;尽量减少使用“否定”条件的条件语句;数据结构要有利于程序的简化;要模块化,使模块功能尽可能单一化;利用信息隐蔽,确保每一个模块的独立性;从数据出发去构造程序;不好的程序不要修补,要重新编写。【试题5】当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的 。答案:一致性分析:当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;应该给所有的输出加注释,并设计输出报表格式。理论链接:输入和输出的原则输入和输出信息是用户直接关心的,输入和输出方式和格式应尽可能方
6、便用户的使用,因为系统能否被用户接受,往往取决于输入和输出的风格。无论是批处理的输入和输出方式,还是交互式的输入和输出方式,在设计和编程时都应该考虑以下原则:l 对所有的输入数据都要检验数据的合法性;l 检查输入项的各种重要组合的合理性;l 输入格式要简单,以使得输入的步骤和操作尽可能简单;l 输入数据时,应允许使用自由格式;l 应使用默认值;l 输入一批数据时,最好使用输入结束标志;l 在以交互式输入/输出方式进行输入时,要在屏幕上使用提示符明确提示输入的请求,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息;l 当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性
7、;给所有的输出加注释,并设计输出报表格式。考点2:结构化程序设计 考点点拨:主要考查数据结构化程序设计的原则、结构化程序的基本结构与特点、结构化程序设计原则和方法的应用。【试题6】结构化程序设计主要强调的是 。A)程序的规模B)程序的易读性C)程序的执行效率D)程序的可移植性答案:B分析:结构化程序设计方法是程序设计的先进方法和工具。采用结构化程序设计方法编写程序,可使程序结构良好、易读、易理解、易维护。程序的易读性是结构化程序设计最重要的特点。【试题7】结构化程序设计的主要特点是 。A)模块化B)每个控制结构具有封装性C)每个控制结构具有独立性D)每个控制结构只有一个入口和一个出口答案:D分
8、析:按照结构化设计方法设计的程序具有以下特点。(1)程序易于理解、使用和维护,程序员采用结构化编程方法,便于控制、降低程序的复杂性,因此容易编写程序。便于验证程序的正确性,结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以确保程序的正确性,程序容易阅读并被人理解,便于用户使用和维护。(2)提高了编程工作的效率,降低了软件开发成本。由于结构化编程方法能够把错误控制到最低限度,因此能够减少调试和查错时间。结构化是由一些为数不多的基本结构模块组成,这些模块甚至可以由机器自动生成,从而极大地减轻了编程工作量。结构化程序设计选用的每个控制结构只允许有一个入口和一个出口。【试题8】
9、结构化程序设计的三种基本逻辑结构为顺序、选择和 。答案:重复或循环分析:结构化程序设计的三种基本逻辑结构为顺序结构、选择结构和重复结构。(1)顺序结构是一种简单的程序设计,它是最基本最常用的结构,其结构如图2.1 所示。(2)选择结构又称为分支结构,包括简单分支和多分支选择结构,这种结构可以根据设定的条件,判断应该选择哪一条分支来执行相应的语句系列。其结构如图2.2所示。FalseTrueABPBA图2.1 顺序结构 图2.2 选择结构(3)循环结构是根据给定的条件,判断是否需要重复执行某一相同的或类似的程序段,利用循环结构可节约大量的程序行。在程序设计语言中,循环结构包括当型循环结构和直到型
10、循环结构。l 当型循环结构:先判断条件后执行循环体。其结构如图2.3所示。l 直到型循环结构:先执行循环体后判断条件。其结构如图2.4所示。 图2.3 当型循环结构 图2.4 直到型循环结构【试题9】在结构化程序设计中,要严格控制 的使用。答案:GOTO语句分析:结构化程序设计方法的主要原则是自顶向下,逐步求精,模块化,限制使用GOTO语句。(1)自顶向下程序设计时,应先考虑整体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。(2)逐步求精对于复杂问题,应考虑设计一些子目标作为过渡,逐步细化。(3)模块化把一个复杂的问题
11、分解成若干稍微简单的问题,把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,我们把每一个小目标称为一个模块。模块化的目的是使程序的结构清晰,容易阅读,容易理解,容易测试,容易修改。(4)限制使用GOTO语句滥用GOTO语句确实有害,应尽量避免;并非完全避免使用GOTO语句,有些地方使用GOTO语句会使程序流程更清楚、效率更高。我们争论的焦点不应该放在是否取消用GOTO语句上,关键是是否能提高程序清晰性。【试题10】结构化程序设计的一种基本方法是 。A)筛选法B)递归法C)归纳法D)逐步求精法答案:D分析:结构化程序设计的一种基本方法是逐步求精法。对于复杂问题,应考虑设计一些子问题作
12、为过渡,逐步细化,使复杂的问题变得简单,从而有利于问题的解决。考点3:面向对象的程序设计 考点点拨:主要考查面向对象方法的基本概念、面向对象方法的主要优点。【试题11】在模块化程序设计中,按功能划分模块的原则是 。A)各模块的功能尽量单一,且各模块之间的联系尽量少B)各模块的功能尽量单一,且各模块之间的联系尽量紧密C)各模块应包括尽量多的功能D)各模块应包括尽量多的输入输出操作答案:A分析:模块化是指将一个待开发的软件分解成若干个小的简单的部分模块,每个模块可独立地开发、测试,最后组装成完整的程序。这是一种复杂问题的“分而治之”的原则,模块化的目的是使程序的结构清晰,容易阅读,容易理解,容易测
13、试,容易修改。模块的功能尽量单一,且各模块之间的联系尽量少。理论链接:模块模块是指执行某一特定任务(也可以是实现某一特定的抽象数据类型)的数据结构和程序代码。一个模块有它的外部特征和内部特征。外部特征包括模块的接口(即它的输入/输出参数,引用的全局变量和它需调用的其他模块)和模块的功能:内部特征包括模块的局部数据和实现该模块的程序代码。调用一个模块时只需知道它的外部特征即可,而不必了解其内部特征。【试题12】下列叙述中,正确的是 。A)在模块化程序设计中,一个模块应尽量多地包括与其他模块联系的信息B)在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节C)在模块化程序设计中,一个模
14、块内部的控制结构也要符合结构化原则D)在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法答案:C分析:在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则,以增加程序的可读性。结构化设计方法是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础而发展而来的,是一种面向数据流的设计方法。在结构化程序设计的具体实施中要注意把握以下要素:(1)使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑;(2)选用的控制结构只准许有一个入口和一个出口;(3)程序语句组成容易识别的块,每块只有一个入口和一个出口;(4)复杂结构应该用嵌套的基本控制结构进行组合嵌
15、套来实现;(5)语言中没有的控制结构,应该采用前后一致的方法来模拟;(6)严格控制GOTO语句的使用。【试题13】下列叙述中,正确的是 。A)在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小B)在面向对象的程序设计中,各个对象之间具有密切的联系C)在面向对象的程序设计中,各个对象都是公用的D)上述三种说法都不对答案:A分析:模块化的目的是使程序的结构清晰,容易阅读,容易理解,容易测试,容易修改。模块独立是指每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系简单。所以说,在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小。【试题14】在面向对象方法中,信息隐蔽是通过
16、对象的 性来实现的。答案:封装分析:信息隐蔽是开发整体程序结构时使用的法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理。信息隐蔽通过对象的封装性来实现。封装是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。【试题15】类是一个支持集成的抽象数据类型,而对象是类的 。答案:实例或instance分析:类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance)。在分析和设计时,我们通常把注意力集中在类上,而
17、不是具体的对象。我们也不必为每个对象逐个定义,只需对类做出定义,而对类的属性的不同赋值即可得到该类的对象实例。理论链接:类之间的关系有些类之间存在一般和特殊关系,即一些类是某个类的特殊情况,某个类是某些类的一般情况。这是一种“is-a”的关系,即特殊类是一种一般类。例如“汽车”类、“轮船”类、“飞机”类都是一种“交通工具”类。特殊类是一般类的子类,一般类是特殊类的父类。同样“汽车”类还可有更特殊的类,如“轿车”类、“货车”类等。在这种关系下形成一种层次的关联。通常把一个类和这个类的所有对象称为“类及对象”或对象类。【试题16】在面向对象方法中,类之间共享属性和操作的机制称为 。答案:继承分析:
18、继承是类间的一种基本关系,是在某个类的层次关联中不同的类共享属性和操作的一种机制。在“is-a”的层次关联中,一个父类可以有多个子类,这些子类都是父类的特例,父类描述了这些子类的公共属性和操作。一个子类可以继承它的父类(或祖先类)中的属性和操作,这些属性和操作在子类中不必定义,子类中还可以定义它自己的属性和 操作。一个子类只有惟一的一个父类,这种继承称为单一继承。一个子类也可以有多个父类,它可以从多个父类中继承特性,这种继承称为多重继承。例如,“水陆两用交通工具”类既可继承“陆上交通工具”类,又可继承“水上交通工具”类的特性。【试题17】在面向对象方法中,一个对象请求另一对象为其服务的方式是通
19、过发送 。A)调用语句B)命令C)口令D)消息答案:D分析:消息传递是对象间通信的手段,一个对象通过向另一对象发送消息来请求其服务,一个消息通常包括接收对象名,调用的操作名和适当的参数(如有必要)。消息只告诉接收对象需要完成什么操作,但并不指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。【试题18】信息隐蔽的概念与下述哪一种概念直接相关 ?A)软件结构定义B)模块独立性 C)模块类型划分D)模块耦合度答案:B分析:信息隐蔽是开发整体程序结构时使用的法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理。在设
20、计时首先列出一些可能发生变化的因素,在划分模块时将一个可能发生变化的因素隐蔽在某个模块的内部,使其他模块与这个因素无关。在这个因素发生变化时,我们只需修改含有这个因素的模块,而与其他模块无关。所以说,信息隐蔽的概念与模块独立性直接有关。耦合是指模块之间联系的紧密程度。耦合度越高则模块的独立性越差。【试题19】下面关于对象概念的描述错误的是 。A)任何对象都必须有继承性B)对象是属性和方法的封装体C)对象间的通讯靠消息传递D)操作是对象的动态属性答案:A分析:面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性及其可执行的一组
21、操作组成,是属性和方法的封装体,对象间的通讯是靠消息来传递的。继承是面向对象的方法的一个主要特征。广义地说,继承是指能够直接获得已经具有的性质和特征,而不必重复定义它们。但并不是所有的对象都必须有继承性。【试题20】在面向对象的程序设计中,类描述的是具有相似性质的一组 。答案:对象分析:类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance)。【试题21】在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为 。答案:消息分析:在面向对象程序设计中,用来请求对象执行某一操作或回答某些信息的要求称为消息。消息传递是对象间通信的手段,
22、一个对象通过向另一对象发送消息来请求其服务,一个消息通常包括接收对象名,调用的操作名和适当的参数(如有必要)。消息只告诉接收对象需要完成什么操作,但并不指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。【试题22】在面向对象方法学中,直接反映了用户对目标系统要求的模型是 。答案:功能模型分析:在面向对象方法学中,功能模型直接反映了用户对目标系统的要求。理论链接:对象模型、动态模型和功能模型(1)对象模型:是三个模型中最关键的一个模型,它的作用是描述系统的静态结构,包括构成系统的类和对象,它们的属性和操作,及它们之间的关系。(2)动态模型:即事件跟踪图及状
23、态图,确定事件,建立事件跟踪表。(3)功能模型:功能模型由数据流图组成,指明从外部输入到外部输出,数据在系统中传递和变换的情况。【试题23】封装是一种 技术,封装的目的是使对象的定义和实现分离。A)组装B)产品化 C)固化 D)信息屏蔽答案:D分析:对象可看成是属性(数据)以及这些属性上的专用操作的封装体,封装实现了信息隐蔽,这样做的目的和后果是将对象的定义和实现得以分离。【试题24】对象有三种成分: 、属性和方法(或操作)。A)标识 B)规则C)封装 D)消息答案:A分析:对象有三种成份:标识、属性和方法(或操作)。每个对象都有自己的属性值,表示该对象的状态。对象中的属性只能够通过该对象所提
24、供的操作来存取或修改。操作也称为方法或服务,它规定了对象的行为,表示对象所提供的服务。理论链接:面向对象技术的特点(1)可重用性继承是面向对象技术的一个重要机制。用面向对象方法设计的系统的基本对象类可以被其他新系统重用。这通常是通过一个包含类和子类层次结构的类库来实现的。因此,面向对象方法可以从一个项目向另一个项H提供一些重用类,从而能显著提高生产率。(2)可维护性由于面向对象方法所构造的系统是建立在系统对象基础上的,结构比较稳定,因此,当系统的功能要求扩充或改善时,可以在保持系统结构不变的情况下进行 维护。(3)表示方法的一致性面向对象方法在系统的整个开发过程中,从面向对象分析到面向对象设计
25、,直到面向对象实现,都采用一致的表示方法,从而加强了分析、设计和实现之间的内在一致性,并且改善了用户、分析员以及程序员之间的信息交流。此外,这种一致的表示方法,使得分析、设计的结果很容易向编程转换,从而有利于计算机辅助软件工程的发展。【试题25】 是指同一个操作作用于不同的对象可以有不同的解释,产生不同的执行结果。答案:多态性分析:对象根据所接受的消息而做出相应动作,同样的消息被不同的对象接受时会导致完全不同的行为,这种现象叫多态性。在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发给父类对象,又可以发给子类对象。也就是说,相同操作的消息发送给不同的对象时,每个对象将根据自己所属类中定义的这个操作去执行,从而产生不同的结果。理论链接:动态绑定与多态性密切相关的一个概念就是动态绑定。传统的程序设计语言中,把过程调用与目标代码的连接(即调用哪个过程)放在程序运行前进行(称为静态绑定),而动态绑定则是把这种连接推迟到运行时才进行。在一般与特殊关系中,子类是父类的一个特例,所以父类对象可以出现的地方,也允许其子类对象出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法连接,即动态绑定。