- ·上一篇内容:C语言概述
- ·下一篇内容:1.2 算法和算法的表示
1.1 程序与程序语言
1.1.2 程序设计
什么是程序设计呢?在日常生活中我们可以看到,同一台计算机,有时可以画图,有时可以制表、有时可以玩游戏,诸如此类,不一而举。也就是说,尽管计算机本身只是一种现代化方式批量生产出来的通用机器,但是,使用不同的程序,计算机就可以处理不同的问题。今天,计算机之所以能够产生如此之大的影响,其原因不仅在于人们发明了机器本身,更重要的是人们为计算机开发出了不计其数的能够指挥计算机完成各种各样工作的程序。正是这些功能丰富的程序给了计算机无尽的生命力,它们正是程序设计工作的结晶。而程序设计就是用某种程序语言编写这些程序的过程。
更确切地说,所谓程序,是用计算机语言对所要解决的问题中的数据以及处理问题的方法和步骤所做的完整而准确的描述,这个描述的过程就称为程序设计。对数据的描述就是指明数据结构形式;对处理方法和步骤的描述也就是下一节我们要讨论的算法问题。因而,数据结构与算法是程序设计过程中密切相关的两个方面。曾经发明Pascal语言的著名计算机科学家N Niklaus Wirth教授关于程序提出了著名公式:程序 数据结构 算法。这个公式说明了程序设计的主要任务。但是在本书中,我们并没有以数据结构和算法为主展开讨论,因为本教材的主题是介绍用C语言进行编程。关于数据结构有专门的课程和教材,关于算法的问题我们在下一节给出初步的介绍。
对于程序设计的初学者来说,首先要学会设计一个正确的程序。一个正确的程序,通常包括两个含义:一是书写正确,二是结果正确。书写正确是指程序在语法上正确,符合程序语言的规则;而结果正确通常是指对应于正确的输入,程序能产生所期望的输出,符合使用者对程序功能的要求。程序设计的基本目标是编制出正确的程序,但这仅仅是程序设计的最低要求。一个优秀的程序员,除了程序的正确性以外,更要注重程序的高质量。所谓高质量是指程序具有良好的结构、可读性好、可靠性高、便于维护等一系列特点。毫无疑问,无论是一个正确的程序,还是一个高质量的程序,都需要设计才能使之达到预期的目标。
那么,如何进行程序设计呢?一个简单的程序设计一般包含以下四个步骤:
(1) 分析问题,建立数学模型。使用计算机解决具体问题时,首先要对问题进行充分的分析,确定问题是什么,解决问题的步骤又是什么。针对所要解决的问题,找出已知的数据和条件,确定所需的输入、处理及输出对象。将解题过程归纳为一系列的数学表达式,建立各种量之间的关系,即建立起解决问题的数学模型。需要注意的是,有许多问题的数学模型是显然的或者简单的,以致于我们没有感觉到需要模型。但是有更多的问题需要靠分析问题来构造计算模型,模型的好与坏、对与错,在很大程度上决定了程序的正确性和复杂程度。
(2) 确定数据结构和算法。根据建立的数学模型,对指定的输入数据和预期的输出结果,确定存放数据的数据结构。针对所建立的数学模型和确定的数据结构,选择合适的算法加以实现。注意,这里所说的"算法"泛指解决某一问题的方法和步骤,而不仅仅是指"计算"。关于算法的概念将在下一节中介绍。
(3) 编制程序。根据确定的数据结构和算法,用自己所使用的程序语言把这个解决方案严ge地描述出来,也就是编写出程序代码。
(4) 调试程序。在计算机上用实际的输入数据对编好的程序进行调试,分析所得到的运行结果,进行程序的测试和调整,直至获得预期的结果。
由此可见,一个完整的程序要涉及到四个方面的问题:数据结构、算法、编程语言和程序设计方法。这四个方面的知识都是程序设计人员所必须具备的,其中算法是至关重要的一个方面。关于数据结构和算法问题有专门的著作,本书的重点是介绍编程语言和程序设计方法。但是,如果我们对算法还一无所知,就无法进行基本的程序设计。因此,下面一节我们对算法的基本概念、基本设计和表示方法作初步介绍,目的是使初学者了解程序设计如何开始。
本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!