文档介绍:下载
第1章程序设计与算法
程序设计语言的发展
自1 9 4 6年世界上第一台电子计算机问世以来,计算机科学及其应用的发展十分迅猛,计
算机被广泛地应用于人类生产、生活的各个领域,推动了社会的进步与发展。特别是随着国
际互联网(I n t e r n e t)日益深入千家万户,传统的信息收集、传输及交换方式正被革命性地改
变,我们已经难以摆脱对计算机的依赖,计算机已将人类带入了一个新的时代—信息时代。
新的时代对于我们的基本要求之一是:自觉地、主动地学****和掌握计算机的基本知识和
基本技能,并把它作为自己应该具备的基本素质。要充分认识到,缺乏计算机知识,就是信
息时代的“文盲”。
对于理工科的大学生而言,掌握一门高级语言及其基本的编程技能是必需的。大学学****br/>除了掌握本专业系统的基础知识外,科学精神的培养、思维方法的锻炼、严谨踏实的科研作
风养成,以及分析问题、解决问题的能力的训练,都是日后工作的基础。学****计算机语言,
正是一种十分有益的训练方式,而语言本身又是与计算机进行交互的有力的工具。
一台计算机是由硬件系统和软件系统两大部分构成的,硬件是物质基础,而软件可以说
是计算机的灵魂,没有软件,计算机是一台“裸机”,是什么也不能干的,有了软件,才能灵
动起来,成为一台真正的“电脑”。所有的软件,都是用计算机语言编写的。
计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。
1. 机器语言
电子计算机所使用的是由“ 0”和“1”组成的二进制数,二进制是计算机的语言的基础。
计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就
是写出一串串由“ 0”和“ 1”组成的指令序列交由计算机执行,这种语言,就是机器语言。
使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。而且,由于每台计
算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上
执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而
运算效率是所有语言中最高的。机器语言,是第一代计算机语言。
2. 汇编语言
为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字
母、符号串来替代一个特定的指令的二进制串,比如,用“ A D D”代表加法,“M O V”代表
数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,
这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,
这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序
被称为汇编程序。
汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬
件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以
2 C语言程序设计
下载
至今仍是一种常用而强有力的软件开发工具。
3. 高级语言
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言
接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上
通用。经过努力, 1 9 5 4年,第一个完全脱离机器硬件的高级语言— F O RT R A N问世了,4 0多
年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有
F O RT R A N、A L G O L、C O B O L、B A S I C、L I S P、S N O B O L、P L / 1、P a s c a l、C、P R O L O G、
A d a、C + +、V C、V B、D e l p h i、J AVA等。
高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程
序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业
化、流水线式的工业化生产。
6 0年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是人自为战,缺乏
科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于
含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有
不出错的软件。这一切,极大地震动了计算机界,史称“软件危机”。人们认识到:大型程序
的编制不同于写小程序,它应该是一项新的技术,应该像处理工程一样处理软件研制的全过
程。程序的设计应易于保证正确性,也便于验证正确性。 1 9 6 9年,提出了结构化程序设计方
法,1 9 7 0年,第一个结构化程序设计语