首页|

教学大纲| 实验大纲| 课程设计大纲| 授课教案| 教师队伍|

教学方法与手段|

实验指导书| 教学录像| 习题| 参考文献

你的位置:授课教案

第一章 程序设计与C语言

§1. 程序设计语言

一、程序设计语言的发展

电子计算机自40年代诞生以来,硬件上不断更新换代,软件也是同步发展的。

作为软件的一个分支,程序设计语言也从机器语言发展到了第四代。即机器语言、汇编语言、面向过程的高级语言、非过程化的高级语言。

1. 机器语言:CPU可以识别并执行的由二进制代码构成的指令系统。

      优点:CPU可直接执行、效率高

      缺点:编程难、阅读修改维护难、不通用(依赖具体机器)

2. 汇编语言:由简单的英语助记符代替01二进制码构成的指令系统。

      优点:程序执行效率较高、可以直接和硬件相联系

      缺点:程序编写效率低、对编程人员要求高、不通用

用汇编语言编制的程序称为源程序(Source program),源程序不能为CPU识别,必须将其翻译成机器语言程序,即所谓的目标程序(Object program)。这一过程称为“代真”。由于汇编语言指令与机器语言指令基本上是一一对应的,所以可以借助于“汇编程序”将代真过程自动化,取代手工代真。

3. 面向过程的高级语言:又称为算法语言,即围绕解体过程,以算法设计为中心,接近人的自然语言的程序语言。1954年出现的FORTRAN语言是最早的算法语言。

    优点:程序编写效率高、通用,维护、移植均十分方便

    缺点:程序执行效率相对较低,但随着计算机运算速度的日益提高,这一缺点已显得微不足道。但高级语言与硬件难以直接联系。

用高级语言编制的程序亦叫源程序,CPU也不能识别,必须将其翻译为机器代码(目标程序),这个过程称为编译,可利用编译程序自动完成。经编译(乃至连接)后的程序代码一般在规模上比源程序要大得多,因此执行效率比汇编语言低。

但从现代计算机发展水平来看,由于CPU可以达到每秒上亿次的运算速度,因此执行效率显得并不重要了。相反,由于软件规模越来越大,要求程序首先要正确,最大限度地减少错误的发生,并且易于编写和阅读,其次再考虑执行效率。因此高级语言得到广泛的应用,并不断涌现。

FORTRAN程序例:

   PROGRAM CYLIND

     INTEGER RH

     REAL V

     READ(*,*)RH

     V=3.1415926*R*R*H

     WRITE(*,10)V

10 FORMAT(1X,F15.7)

     END

(P2C语言程序的例)

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年,ThompsonRitchie合作,将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