C语言概论
课程内容
C语言的历史和现状
C语言的特点
C程序的格式和结构特点
C语言的历史与现状
冯.诺依曼计算机型的结构:
冯·诺伊曼结构(v on N euma nn a rchite cture),也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的电脑设计概念结构。是由美藉匈牙利科学家冯·诺依于1946年提出的。迄今为止所有进入实用的电子计算机都是按冯·诺依曼的提出的结构体系和工作原理设计制造的,故又统称为“冯·诺依曼型计算机”。其要点为:
1.存储程序控制:要求计算机完成的功能,必须事先编制好相应的程序,并输入到存储器
中,计算机的工作过程是自动连续地完成程序的过程;
这个设计创造了一个巨大的产业,软件行业.并且在规模上超过了硬件本身。
2.程序由指令构成,程序和数据都用二进制数表示,指令由操作码和地址码构成。
3.程序运行的所需要的信息和结果可以通输入\输出设备完成。
4.计算机由运算器、控制器、存储器、输入设备、输出设备所组成。
编程语言发展历史
计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。
1.机器语言
电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,计算机程序,就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。
2.汇编语言
为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“A D D”代表加法,“M O V”代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。
3.高级语言
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言—F O R T R A N问世了,40多年来,共有几百种高级语言出现,有重要意义的有几十种。
高级语言的分类:
60年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是人自为战,缺乏科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切,极大地震动了计算机界,史称“软件危机”。人们认识到:大型程序的编制不同于写小程序,它应该是一项新的技术,应该像处理工程一样处理软件研制的全过程。程序的设计应易于保证正确性,也便于验证正确性。1969年,提出了结构化程序设计方法,1970年,
第一个结构化程序设计语言—P a s c a l 语言出现,标志着结构化程序设计时期的开始。80年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这
就是非过程化的程序语言。
程序设计语言的发展
C 语言发展过程
产生背景
1969年,通用电气、麻省理工和贝尔实验室联合创立了一个庞大的项目
mult ics工程;(失败告终)
Ken thompson和Dennis R itchie想把thompson的’星际旅行’程序移植pdp-7的平台上;为此他们为pdp-7写了一个系统,当时是用pdp-7的汇编写的;
(1970年后这个系统被命名为unix);
1965-7bcpl unix(pdp-7汇编写的)
1969B(f ort ra n解释器,8K)(++,——)
1971ne w B unix(pdp-11汇编写的)(pdp-11支持了多数据类型)
1982-3c unix(c)
产生过程
–时间:1972~1973
–地点:美国贝尔实验室
–目的:UNIX操作系统
–设计人:Ken.Thompson和Dennis.M.Ritchie
–C语言的含义表示是在B语言之后的版本.
C标准
–标准C:K&R合著《The C Programming Language》1978年
–ANSI(美国国家标准化协会)C:1983年
–87ANSI C:1987年
–1990年国际标准的ANSI C,ANSI X3.159-1989)。
–ISO9899:1999(1999年出版),称为C99
C的应用现状
操作系统内核开发领域几乎是唯一开发工具
–目前绝大部分操作系统是由C加上少量汇编语言开发的
–Linux,Windows,VxWorks,Unix¡­
在嵌入式领域占有绝对优势
–远高于C++,Java,Ada等嵌入式开发工具
汇编语言转c语言的软件
在网络服务器类相当大优势
–Apache,Oracle¡­
GUI应用领域
–在一般GUI应用程序开发,基本上很少用C,大部分采用可视化开发工具
(VB,Delpi,Java,C#,C++;­)
–大型商用程序采用C的较多
Offices,SPSS,matlab,Autocad¡­.
大规模、高性能计算,游戏开发,以及一些传统的客户端软件和构件
–C/C++占绝对优势
C语言的特点
C语言的特点
介于高级语言和汇编语言之间.
–直接操作内存
–直接位操作
–不依赖于具体的硬件和操作系统
语言简洁、紧凑、灵活
运算符和数据类型丰富
程序设计结构化、模块化
生成目标代码质量高
可移植性好
–ANSI C是所有C编译器支持.
–目前并无标准C++,在嵌入式领域,移植是一个大问题
C语言的关键字
只有32个,很多功能由函数实现.
auto break case char const
continue default do double else
enum extern float for goto
if int long register return
short signed sizeof static struct
switch typedef unsigned union void
volatile while
C语言控制语句
只有9个
if()~else~
for()~

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。