1.2程序设计基础程序设计基础与数据结构不同,这章内容主要是记忆性的知识点。程序设计基础的内容与大纲改革前添加了面向对象程序设计的内容,考生可以对本章进行几次细读后了解即可。一、考试必备知识1.程序的设计方法和风格1)程序的设计方法和技术经过了结构化程序设计和面向对象的程序设计阶段。2)程序设计风格的重要性:程序设计风格会深刻影响软件的质量和可维护性3)影响程序设计风格的因素:①源程序的文档结构组织对源程序的文档结构组织要注意以下三点:符号的命名:符号的命名应具有一定的实际含义。程序的注释:一般分为序言性注释和功能性注释。视觉组织:在程序中利用空格、空行、缩进等技巧使程序层次清晰。②数据说明的方法对数据的说明要注意以下三点:数据说明的次序规范化说明语句中变量安排有序化使用注释来说命复杂数据结构③语句的结构对语句的结构安排要遵循以下一些原则:在一行内只写一条语句程序编写应优先考虑清晰性除非对效率有特殊要求,程序编写要做到清晰第一,效率第二首先要保证程序正确,然后才要求提高速度避免使用临时变量而使程序的可读性下降避免不必要的转移尽可能使用库函数避免采用复杂的条件语句尽量减少使用“否定”条件的条件语句数据结构要有利于程序的简化要模块化,使模块的功能尽可能单一化利用信息隐蔽,确保每一个模块的独立性从数据出发去构造程序不要修补不好的程序,要重新编写④输入和输出对输入和输出用户界面要注意以下几点:对所有的输入数据都要检验数据的合法性检查输入项的各种重要组合的合理性输入格式要简单,以使得输入的步骤和操作尽可能简单输入数据时,应允许使用自由格式应允许缺省值输入一批数据时,最好使用输入结束标志。2.结构化程序设计1)结构化程序设计的原则四个基本原则:自顶向下:先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。逐步求精:对复杂问题,先设计一些子目标做过渡,然后逐步细化。模块化:把成需要解决的总目标分解为一个一个的模块限制使用GOTO语句2)机构化程序的基本结构和特点①三种基本结构:结构化程序设计中常采用顺序结构、选择(分支)结构和重复(循环)结构三种基本结构。②结构化程序设计的优点程序易于理解、使用和维护提高了编程的效率,降低了软件开发成本③结构化程序设计原则和方法的应用使用程序设计语言中的顺序、选择、循环等有限的控制结构表示控制逻辑选用的控制结构只准许有一个入口和一个出口程序语句组成容易识别的块,每块只有一个入口和一个出口复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现语言所没有的控制结构,应该采用前后一致的方法来模拟严格控制GOTO语句的使用3.面向对象的程序设计1)面向对象方法的本质面向对象犯法的本质就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域。2)面向对象方法的优点接近人类习惯的思维方法稳定性好可重用性好易于开发大型软件产品可维护性好4)面向对象方法的基本概念①对象:是指描述该对象属性的数据以及对这些数据施加的所有操作封装在一起构成的统一体。②对象的属性和方法:属性是对象所包含的信息,它在设计对象时确定,一般只能通过执行对象操作来改变。方法(操作)描述了对象执行的功能,若通过消息传递,还可以为其他对象使用。③对象的基本特点:标志唯一性:对象可有其内在本质来区分,而不是通过描述来区分。分类性:可以将具有相同属性和操作的对象抽象成类。多态性:同一操作可以是不同对象的行为封装性:从外面看不到对象的内部,只能看到对象的外部特性。模块独立性好:一个对象就相当于一个模块。④类和实例:类是具有共同属性、共同方法的对象的集合,类是对象的抽象,它描述了属于该对象的类型的所有对象的性质,而一个对象则是其对应类的一个实例。⑤消息:消息是指对象件的相互合作的协助机制。消息的组成:消息是由接收消息的对象名称、消息标识符、零个或多个参数组成。⑥继承:是指使用以有的类定义做为基础建立新类的定义技术。继承分为单继承和多继承。单继承中一个类只允许有一个父类,多继承中一个类允许有多个父类。⑦多态性:使指同样的消息被不同的对象接受时可导致完全不同的动作的现象。二、历届最新考题汇编选择题1.著名的“清晰第一,效率第二”的论点反映了程序设计过程中要重视a.程序的设计方法b.程序的设计思路c.程序的设计风格d.程序的设计技术2.下列那一项不是从源程序文档化角度要求考虑的因素a.符号的命名b.程序的注释c.视觉组织d.避免采用复杂的条件语句3.建立良好的程序设计风格,下面描述正确的是a.程序应简单、清晰、可读性好b.符号名的命名只要符合语法c.充分考虑程序的执行效率d.程序的注释可有可无4.下列关于结构化的程序设计原则的叙述中错误的是a.程序设计应该采取自顶向下的设计原则b.对复杂的问题应该逐步求精的细化求解c.把每一个分解后的子目标组织成模块d.尽可能的使用GOTO语句,以提高程序运行的效率5.下列那一项不是三种基本结构中的一种a.顺序结构b.选择结构c.并行结构d.重复结构6.按照结构化程序的设计原则和方法,下列叙述中正确的是a.语言中所没有的控制结构,应该采用前后一致的方法来模拟b.基本结构在程序设计中不允许嵌套c.在程序中不要使用GOTO语句d.选用的结构只准有一个入口,但可以有多个出口7.继承性机制使得子类不仅可以重用其父类的数据结构和代码,而且可以在父类代码的基础上方便的修改和扩充,这类修改并不影响对原有类的使用。这体现了面向对象方法的a.使开发出来的软件易于被人理解b.接近人类的思维习惯c.易于测试和调试d.可重用性好8.下列那一项方法不是说明面向对象的易于修改的特性a.对象的封装性b.继承机制c.隐藏机制d.多态性机制9.信息隐藏的概念与下列那一种概念直接相关a.软件结构的定义b.模块的独立性c.模块的分类性d.模块的内聚程度10.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送a.调用语句b.命令c.口令d.消息11.消息传递中所传递的消息实质上是哪种对象所具有的操作(或方法)名称?a.发送对象b.接受对象c.请求对象d.调用对象12.下列对消息机制的描述错误的是a.一个对象能接受不同形式、不同内容的多个消息b.相同形式的消息可以送往不同的对象c.不同对象对于形式相同的消息可以有不同的解释,能够作出不同的反应d.一个对象一次只能向一个对象传递消息,但允许多个对象同时向某个对象传递消息13.下列关于继承的描述正确的是a.子类只能通过继承共享父类的方法,而不能通过继承共享父类的属性b.继承具有传递性,一个类可以通过继承链继承它的上层的全部基类的特性c.单继承是指从父类到子类只能直接传递一次的继承关系d.多继承使指从父类到子类能够传递多次的继承关系14.同样的消息被不同对象接受时可导致完全不同的行为,这种现象称为a.多态性b.继承性c.重载性d.封装性填空题1.在面向对象方法中,类的实例称为()。2.程序设计的方法和技术的发展主要经过了结构化的程序设计和()的程序设计两个阶段。3.源程序文档化要求程序应该加注释。注释一般分为序言性注释和()。4.由于软件危机的出现,20世纪70年代人们提出了“()”的思想和方法。5.重复结构对应两类循环语句,对下先判断后执行循环体的称为()型循环结构,对先执行循环体后判断的称为()型循环结构。6.结构化程序设计的三种基本逻辑结构为顺序、选择和()。7.主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域的程序设计方法是()。8.与传统方法以算法为核心不同的是,面向对象方法和技术的以()为核心。9.面向对象方法中有两种方法可以重复使用一个对象类;一种方法是创建该类的();另一种方法是从它派生一个满足当前需要的新类。10.对对象的抽象形成了(),它是具有共同属性、共同方法的对象的集合。11.()是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,他统一了数据流和控制流。12.使用已有的类定义作为基础建立新类的定义技术是()。三、全真试题训练选择题1.下面关于形成良好的程序设计风格要注意的因素的描述中正确的是a.程序的注释不是必要的b.数据说明的次序可以根据程序员积极的爱好和风格来定c.在程序中应该尽量使用临时变量来增强程序的可读性d.输入和输出的方式和格式应尽量方便用户的使用2.结构化的程序设计主要强调的是a.程序的规模b.程序的易读性c.程序的执行效率d.程序的可移植性3.下列哪一项不是结构化程序设计的原则a.自顶向下b.逐步求精c.对象化d.模块化4.三种基本结构中,那种结构能够简化大量的程序代码行a.顺序结构b.分支结构c.选择结构d.重复结构5.下列关于结构化程序设计原则和方法的使用的描述错误的是a.使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑b.对程序设计语言中所没有的基本控制结构,可以不局限于用基本结构来实现程序的逻辑c.程序语句组成容易识别的块,每块只有一个入口和一个出口d.严格限制GOTO语句的使用6.面向对象方法的核心是a.对象b.类c.封装d.继承7.下面哪一项不是面向对象方法的优点a.稳定性好b.可重用性好c.运行效率高d.可维护性好8.下面对对象概念描述错误的是a.任何对象都必须有继承性b.对象是属性和方法的封装体c.对象间的通信靠消息传递d.操作是对象的动态属性9.对象的操作过程对外是封闭的不可见的,即用户只能看到这一操作实施后的结果。对象的这一特性,即是对象的a.封装性b.继承性c.多态性d.模块性10.对象间相互协作在面向对象的方法里是通过什么来实现的a.方法b.属性c.消息d.操作11.下面哪一项不是消息的组成部分a.发送消息的对象的名称b.接受消息的对象的名称c.消息标志符d.零个或多个参数12.下列举出的哪种技术机制可以使一个类可以共享另一类的数据和方法a.封装b.继承c.多态d.实例化13.有一个抽象的画图方法show,它调用传递给它的参数图形对象的draw方法来实现画图功能。图形对象是一个父类对象,图形类下面有子类圆形类、矩形类、多边形类,它们都实现了自己的draw方法。但不管传递给show方法的参数是圆形类、矩形类还是多边形类的对象,show方法都能够画出正确的图形。请问这个过程中运用了面向对象方法的哪种机制a.继承b.消息c.多态d.封装填空题1.一般来讲,()是指编写程序时所表现出的特点、习惯和逻辑思路。2.()注释通常放在每个程序的开头部分,它给出程序的整个说明。3.在结构化程序设计中要学会使用程序设计语言中的顺序、()、循环等有限的控制结构来表示程序的控制逻辑。4.()方法的基本原理是,使用现实世界的概念抽象地思考问题从而自然的解决问题。5.面向对象方法中,数据以及可以对这些数据施加的所有操作封装在一起的统一体是()。6.类是一个支持集成地抽象数据类型,而对象是类的()。7.在面向对象方法中,信息隐蔽是通过对象的()性来实现的。8.面向对象的世界是通过对象与对象间相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为()。9.在面向对象方法中,类之间共享属性和操作的机制称为()。10.在面向对象的软件技术中,()使指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。