(如想学习更多的专业知识,网页设计等学习材料,请翻至文章末尾)

第二章 程序设计基础

2.1 程序设计风格

程序设计的风格主要强调:“清晰第一,效率第二”[wx1] 。主要应注重和考虑下述一些因素:

(1)源程序文档化。

1)符号名的命名。符号名能反映它所代表的实际东西,应有一定的实际含义。

2)程序的注释。分为序言性注释和功能性注释。

序言性注释:位于程序开头部分,包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。

功能性注释:嵌在源程序体之中,用于描述其后的语句或程序的主要功能。

3)视觉组织。利用空格、空行、缩进等技巧使程序层次清晰。

(2)数据说明。1)数据说明的次序规范化;2)说明语句中变量安排有序化;3)使用注释来说明复杂数据的结构。

(3)语句的结构。1)在一行内只写一条语句;2)程序编写应优先考虑清晰性;3)程序编写要做到清晰第一,效率第二;4)在保证程序正确的基础上再要求提高效率;5)避免使用临时变量而使程序的可读性下降;6)避免不必要的转移;7)尽量使用库函数;8)避免采用复杂的条件语句;9)尽量减少使用“否定”条件语句;10)数据结构要有利于程序的简化;11)要模块化,使模块功能尽可能单一化;12)利用信息隐蔽[wx2] ,确保每一个模块的独立性;13)从数据出发去构造程序;14)不要修补不好的程序,要重新编写。

(4)输入和输出。1)对输入数据检验数据的合法性;2)检查输入项的各种重要组合的合法性;3)输入格式要简单,使得输入的步骤和操作尽可能简单;4)输入数据时,应允许使用自由格式;5)应允许缺省值;6)输入一批数据时,最好使用输入结束标志;7)在以交互式输入/输出方式进行输入时,要在屏幕上使用提示符明确提示输入的请求,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息;8)当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;给所有的输出加注释,并设计输出报表格式。

2.2 结构化程序设计(面向过程的程序设计方法)

计算机二级公共基础c语言(全国计算机二级编程公共基础知识C语言等辅导专业讲义)(1)

1、结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用goto语句。

(1)自顶向下。程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。

(2)逐步求精。对复杂问题,应设计一些子目标作过渡,逐步细化。

(3)模块化。一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。

(4)限制使用goto语句。

2、结构化程序的基本结构:顺序结构,选择结构,重复结构。

1)顺序结构。一种简单的程序设计,即按照程序语句行的自然顺序,一条语句一条语句地执行程序,它是最基本、最常用的结构。

2)选择结构。又称分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列。

3)重复结构。又称循环结构,可根据给定的条件,判断是否需要重复执行某一相同的或类似的程序段。

仅仅使用顺序、选择和循环三种基本控制结构就足以表达各种其他形式结构,从而实现任何单入口/单出口的程序。

2.3 面向对象的程序设计

客观世界中任何一个事物都可以被看成是一个对象,面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,提倡人们在现实生活中常用的思维来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域。也就是说,系统中的对象及对象之间的关系能够如实地反映问题域中固有的事物及其关系。

面向对象方法的主要优点:(1)与人类习惯的思维方法一致;(2)稳定性好;(3)可重用[wx3] 性好;(4)易于开发大型软件产品;(5)可维护性好。

*:面向对象的程序设计主要考虑的是提高软件的可重用性。

对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象。面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。对象是属性和方法的封装体。

属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变。

操作描述了对象执行的功能,操作也称为方法或服务。操作是对象的动态属性。

*:一个对象由对象名、属性和操作三部分组成。

对象的基本特点:标识惟一性,分类性,多态性,封装性,模块独立性好。

(1)标识惟一性。指对象是可区分的,并且由对象的内在本质来区分,而不是通过描述来区分。

(2)分类性。指可以将具有相同属性的操作的对象抽象成类。

(3)多态性。指同一个操作可以是不同对象的行为。

(4)封装性。从外面看只能看到对象的外部特性,即只需知道数据的取值范围和可以对该数据施加的操作,根本无需知道数据的具体结构以及实现操作的算法。对象的内部,即处理能力的实行和内部状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象的内部状态只能由其自身改变。

*:信息隐蔽是通过对象的封装性来实现的。

(5)模块独立性好。对象是面向对象的软件的基本模块,它是由数据及可以对这些数据施加的操作所组成的统一体,而且对象是以数据为中心的,操作围绕对其数据所需做的处理来设置,没有无关的操作。从模块的独立性考虑,对象内部各种元素彼此结合得很紧密,内聚性强。

类是指具有共同属性、共同方法的对象的集合。所以类是对象的抽象,对象是对应类的一个实例。

消息是一个实例与另一个实例之间传递的信息。消息的组成包括:(1)接收消息的对象的名称;(2)消息标识符,也称消息名;(3)零个或多个参数。

计算机二级公共基础c语言(全国计算机二级编程公共基础知识C语言等辅导专业讲义)(2)

*:在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送消息。

继承是指能够直接获得已有的性质和特征,而不必重复定义他们。继承分单继承和多重继承。单继承指一个类只允许有一个父类,多重继承指一个类允许有多个父类。

*:类的继承性是类之间共享属性和操作的机制,它提高了软件的可重用性。

多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象。

本章应考点拨:本章在考试中会出现约1个题目,所占分值大约占2分,是出题量较小的一章。本章内容比较少,也很简单,掌握住基本的概念就可以轻松应对考试了,所以在这部分丢分,比较可惜。


“清晰第一,效率第二”是当今主导的程序设计风格。

信息隐蔽是指采用封装技术,将程序模块的实施细节隐藏起来,使模块接口尽量简单。即指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。

软件的重用是指在不同的软件开发过程中重复使用相同或相似软件的过程。

文件篇幅有限,将会每天定期更新数篇网页学习、网页制作、C 、C语言学习等等各种内部资料。请持续关注我:大千世界任君行。相信不会让各位失望。谢谢

同时,请将您需要的文章、想学习的编程内容留言,我会根据大家喜好定期编写大量文稿。谢谢。

,