随着科学技术的迅猛发展,计算机技术日新月异,计算机程序设计语言也层出不穷。那么,什么是程序语言,什么是程序设计?应该学哪一种程序语言,如何进行程序设计?这些都是程序设计初学者首先遇到的问题,也是程序设计的基本问题、共性问题。
不论是什么样的计算机语言,其程序设计的基本方法是相同的。本书作为程序设计的入门教材,将以C语言程序设计为主线,介绍程序设计的基本概念和基本方法,讲述C语言的语法规则和实用的C程序设计技术。作为全书的开篇,本章就程序设计的基本知识作概括性讨论,重点介绍算法的概念、特征、设计算法的方法和策略、流程图的表示和结构化程序设计方法等内容。需要说明的是,有些概念和方法要随着后续各章的深入学习才会有深刻的理解,不必在一时不懂的问题上停滞不前。
1.1.1 程序与程序语言
1.计算机语言
什么是计算机语言?为什么要使用计算机语言?过去,一提到语言这个词,人们自然想到的是像英语、汉语等这样的自然语言,因为它是人和人相互交流信息不可缺少的工具。而今天,计算机遍布了我们生活的每一个角落,除了人和人之间的相互交流之外,我们必须和计算机交流。用什么样的方式和计算机做最直接的交流呢?人们自然想到的是最古老也最方便的方式--语言。人和人交流用的是双方都能听懂和读懂的自然语言,同样,人和计算机交流也要用人和计算机都容易接受和理解的语言,这就是计算机语言。人们用自然语言讲述和书写,目的是给另外的人传播信息。同样,我们使用计算机语言把我们的意图表达给计算机,目的是使用计算机。
计算机语言是根据计算机的特点而编制的,它没有自然语言那么丰富多样,而只是有限规则的集合,所以它简单易学。但是,也正因为它是根据机器的特点编制的,所以交流中无法意会和言传,而更多地表现了说一不二, 表现了"规则"的严谨。例如该是";"的地方不能写成".",该写"a"的地方不能写成"A",这使得人和计算机的交流在一开始会有些不习惯。不过,只要认识到计算机语言的特点,注意学习方法,把必须的严谨和恰当的灵活相结合,一切都会得心应手。
2.程序
我们知道,计算机是一种具有内部存储能力的自动、高效的电子设备,它最本质的使命就是执行指令所规定的操作。如果我们需要计算机完成什么工作,只要将其步骤用诸条指令的形式描述出来,并把这些指令 存放在计算机的内部存储器中,需要结果时就向计算机发出一个简单的ming令,计算机就会自动逐条顺序执行操作,全部指令执行完就得到了预期的结果。这种可以被连续执行的一条条指令的集合称为计算机的程序。也就是说,程序是计算机指令的序列,编制程序的工作就是为计算机安排指令序列。
但是,我们知道,指令是二进制编码,用它编制程序既难记忆,又难掌握,所以,计算机工作者就研制出了各种计算机能够懂得、人们又方便使用的计算机语言,程序就是用计算机语言来编写的。因此,计算机语言通常被称为"程序语言",一个计算机程序总是用某种程序语言书写的。
3.程序语言的发展
程序语言的产生和发展,直接推动了计算机的普及和应用。自第一个高级语言问世以来,人们已发明了上千种程序语言,常用的也有上百种。这些语言之间有什么区别,我们应该学习哪一种?
计算机语言按使用方式和功能别可分为低级语言和高级语言。低级语言包括机器语言和汇编语言。机器语言就是计算机指令的集合,它与计算机同时诞生,是第一代的计算机语言;汇编语言是用符号来表示计算机指令,被称为第二代语言。机器语言和汇编语言都是围绕特定的计算机或计算机族而设计的,是面向计算机的语言。要使用这种语言必须了解计算机的内部结构,而且难学、难写、难记忆,把这种语言称为低级语言。因为低级语言是难以普及应用的,为此便产生了第三代语言--高级语言。它采用了完全符号化的描述形式,用类似自然语言的形式描述对问题的处理过程,用数学表达式的形式描述对数据的计算过程。可见,高级语言只是要求人们向计算机描述问题的求解过程,而不关心计算机的内部结构,所以把高级语言称为"面向过程语言",它易于被人们理解和接受。典型的面向过程语言有BASIC、FORTRAN、COBOL、C、Pascal等等。
随着计算机技术的迅猛发展,自从80年代以来,众多的第四代非过程化语言、第五代智能化语言也竞相推出。如果说第三代语言要求人们告诉计算机怎么做,那么第四代语言只要求人们告诉计算机做什么。因此,人们称第四代语言是"面向对象语言"。面向对象概念的提出是相对于"面向过程"的一次革命,面向对象技术在系统程序设计、多媒体应用、数据库等诸多领域得到广泛应用。但是,"面向过程"是程序设计的基础,尤其对于程序设计的初学者。所以,我们将以面向过程的C程序设计语言为背景,主要介绍程序设计的基本概念和方法。在本书最后一章中,我们将结合Visual C++ 6.0,介绍面向对象程序设计语言的基本概念和初步使用。
新闻热点
疑难解答