|
|
你的位置:授课教案 |
第一章 程序设计与C语言 §1. 程序设计语言 一、程序设计语言的发展电子计算机自40年代诞生以来,硬件上不断更新换代,软件也是同步发展的。 作为软件的一个分支,程序设计语言也从机器语言发展到了第四代。即机器语言、汇编语言、面向过程的高级语言、非过程化的高级语言。 1. 机器语言:CPU可以识别并执行的由二进制代码构成的指令系统。 优点:CPU可直接执行、效率高 缺点:编程难、阅读修改维护难、不通用(依赖具体机器) 2. 汇编语言:由简单的英语助记符代替0、1二进制码构成的指令系统。 优点:程序执行效率较高、可以直接和硬件相联系 缺点:程序编写效率低、对编程人员要求高、不通用 用汇编语言编制的程序称为源程序(Source program),源程序不能为CPU识别,必须将其翻译成机器语言程序,即所谓的目标程序(Object program)。这一过程称为“代真”。由于汇编语言指令与机器语言指令基本上是一一对应的,所以可以借助于“汇编程序”将代真过程自动化,取代手工代真。 3. 面向过程的高级语言:又称为算法语言,即围绕解体过程,以算法设计为中心,接近人的自然语言的程序语言。1954年出现的FORTRAN语言是最早的算法语言。 优点:程序编写效率高、通用,维护、移植均十分方便 缺点:程序执行效率相对较低,但随着计算机运算速度的日益提高,这一缺点已显得微不足道。但高级语言与硬件难以直接联系。 用高级语言编制的程序亦叫源程序,CPU也不能识别,必须将其翻译为机器代码(目标程序),这个过程称为编译,可利用编译程序自动完成。经编译(乃至连接)后的程序代码一般在规模上比源程序要大得多,因此执行效率比汇编语言低。 但从现代计算机发展水平来看,由于CPU可以达到每秒上亿次的运算速度,因此执行效率显得并不重要了。相反,由于软件规模越来越大,要求程序首先要正确,最大限度地减少错误的发生,并且易于编写和阅读,其次再考虑执行效率。因此高级语言得到广泛的应用,并不断涌现。 FORTRAN程序例: PROGRAM CYLIND INTEGER R,H REAL V READ(*,*)R,H V=3.1415926*R*R*H WRITE(*,10)V 10 FORMAT(1X,F15.7) END (P2为C语言程序的例) C语言既具有一般高级语言的特点,又具有汇编语言的特点,因此是一种比较低级的高级语言,C程序编写和执行效率均比较高,很快得到推广。 4. 非过程化的高级语言:又称为更高级语言 用过程化语言解题,首先确定要解决什么问题,然后考虑怎样去解决,将解题过程构造出来便得到算法。而利用非过程化语言解题,只要告诉计算机解决什么问题即可,解题过程由计算机完成,无需构造算法。因此又称为面向问题(面向应用)的语言。例如数据库查询语言SQL、用于人工智能系统中的PROLOG语言、LISP语言等。 二、C语言发展简况1963年,C.Strachey(英国剑桥大学)推出CPL语言(Combined Programming Language) 1967年,Martin Richards(剑桥大学)推出BCPL语言(Basic ……) 1970年,Ken Thompson(美国贝尔实验室)设计出B语言,并写出UNIX初版。 1972年,Dennis Ritchie(贝尔实验室)设计出C语言 1973年,Thompson和Ritchie合作,将UNIX的绝大部分(90%)用C语言改写。 本课程以Turbo C为蓝本,详细介绍C语言 三、程序设计语言的支持环境分为硬件和软件两方面。 四、源程序的编辑、编译、连接与执行1. 编辑:即利用字处理软件将源程序逐字输入计算机,然后修改并存盘。 2. 编译:利用编译程序将源程序(.C)翻译成目标程序(.OBJ) 3. 连接:目标程序与标准函数库连接形成可执行程序(.EXE) 4. 执行:将可执行程序调入内存运行并输出结果。 Turbo C集成化C语言环境,将上述4个过程融为一体,使操作更为方便快捷。
§2. 用库函数组装C程序 more—>
|
安徽师范大学物理与电子信息学院
Copyright © 2007 All Rights
Reserved