清华大学出版社 TSINGHUA UNIVERSITY PRESS 第一章 C语言概述
第一章
清华大学出版社 TSINGHUA UNIVERSITY PRESS 本章要点 C语言的特点 aC程序的结构 在计算机上运行C程序的方法
⚫ 本章要点 ◼ C语言的特点 ◼ C程序的结构 ◼ 在计算机上运行C程序的方法
清华大学出版社 TSINGHUA UNIVERSITY PRESS ●主要内容 1.1C语言出现的历史背景 12C程序的特点 1.3简单的C语言程序介绍 14运行C程序的步骤和方法
⚫ 主要内容 1.1 C语言出现的历史背景 1.2 C程序的特点 1.3 简单的C语言程序介绍 1.4 运行C程序的步骤和方法
1.1C语言出现的历史背景 C语言是国际上广泛流行的高级语言。 C语言是在B语言的基础上发展起来的 B(BCPL)语言是1970年由美国贝尔实 验室设计的,并用于编写了第一个UNIX操 作系统在PDP7上实现。优点:精练接近 硬件,缺点:过于简单数据无类型。 ·1973年贝尔实验室的 D.M. Ritchie在B语 言的基础上设计出了C语言,对B取长补短 ,并用之改写了原来用汇编编写的UNⅨX (即UNⅨ第5版),但仅在贝尔实验室使用 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 4 1.1 C语言出现的历史背景 • C语言是国际上广泛流行的高级语言。 • C语言是在B语言的基础上发展起来的。 • B (BCPL)语言是1970年由美国贝尔实 验室设计的, 并用于编写了第一个UNIX操 作系统,在PDP 7上实现。优点:精练,接近 硬件,缺点:过于简单,数据无类型。 • 1973年贝尔实验室的D.M.Ritchie 在B语 言的基础上设计出了C语言,对B取长补短 ,并用之改写了原来用汇编编写的UNIX, (即UNIX第5版),但仅在贝尔实验室使用
清华大学出版社 1.1c语言出现的历史背景 1975年∪NⅨ第6版发布,C优点突出引起关注 ·1977年出现了《可移植C语言编译程序》 推动了UNIX在各种机器上实现,C语言也得 到推广,其发展相辅相成。 1978年影响深远的名著《TheC Programming Language》由 Brian W Kernighan和 Dennis m. ritchie合著被 称为标准C。 之后,C语言先后移植到大、中、小、微型 tsinghua
C程序设计(第三版) http://ccf.tsinghua.edu.cn 5 1.1C语言出现的历史背景 • 1975年UNIX第6版发布,C优点突出引起关注 。 • 1977年出现了《可移植C语言编译程序》 , 推动了UNIX在各种机器上实现 ,C语言也得 到推广,其发展相辅相成。 • 1978年影响深远的名著《The C Programming Language》由 Brian W.Kernighan和Dennis M.Ritchie 合著,被 称为标准C。 • 之后,C语言先后移植到大、中、小、微型 计算机上,已独立于UNIX和PDP,风靡世界, 成为最广泛的几种计算机语言之一
1c语言出现的历史背景 1983年美国国家标准化协会(ANS根据C语 言各种版本对的发展和扩充制定了新的标 准 ANSI C,比标准C有了很大的发展。 1988年K&R按照 ANSI C修改了他们的《 The c Programming Language》。 1987年ANSI公布了新标准87 ANSI C 1990年,国际标准化组织接受了87 ANSI C 为ISOC的标准(SO98991990)。 1994年,ISO又修订了C语言标准。 目前流行的¢语言编译系统大多是以 ANSI C 进行开发的。 http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 6 1.1C语言出现的历史背景 • 1983年,美国国家标准化协会(ANSI)根据C语 言各种版本对C的发展和扩充,制定了新的标 准ANSI C ,比标准C有了很大的发展。 • 1988年K & R按照 ANSI C修改了他们的《 The C Programming Language》。 • 1987年,ANSI公布了新标准——87 ANSI C 。 • 1990年,国际标准化组织接受了87 ANSI C 为ISO C 的标准(ISO9899—1990)。 • 1994年,ISO又修订了C语言标准。 • 目前流行的C语言编译系统大多是以ANSI C 为基础进行开发的
清华大学出版社 TSINGHUA UNIVERSITY PRESS 1.1c语言出现的历史背景 说明 不同版本的C编译系统所实现的语言 功能和语法规则又略有差别,因此读者 应了解所用的C语言编译系统的特点(可 以参阅有关手册)。本书的叙述基本上以 ANSI C为基础。 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 7 1.1C语言出现的历史背景 说明: 不同版本的C编译系统所实现的语言 功能和语法规则又略有差别,因此读者 应了解所用的C语言编译系统的特点(可 以参阅有关手册)。本书的叙述基本上以 ANSI C 为基础
2C语言的特点 (1)语言简洁、紧凑使用方便、灵活。32 个关键字、9种控制语句,程序形式自由. (2)运算符丰富。34种运算符。 (3)数据类型丰富具有现代语言的各种数据 结构。 (4)具有结构化的控制语句,是完全模块化 和结构化的语言。 (5)语法限制不太严格,程序设计自由度大。 C程序设计(第三版) http://ccf.tsinghua.edu.cn 8
C程序设计(第三版) http://ccf.tsinghua.edu.cn 8 1.2 C语言的特点 (1)语言简洁、紧凑,使用方便、灵活。 32 个关键字、9种控制语句,程序形式自由。 (2)运算符丰富。34种运算符 。 (3)数据类型丰富,具有现代语言的各种数据 结构。 (4)具有结构化的控制语句 ,是完全模块化 和结构化的语言。 (5)语法限制不太严格,程序设计自由度大
1.2c语言的特点 (6)允许直接访问物理地址能进行位操 作能实现汇编语言的大部分功能可直接 对硬件进行操作。兼有高级和低级语 的特点。 (7)目标代码质量高程序执行效率高。 只比汇编程序生成的目标代码效率低10 -20%。 (8)程序可移植性好(与汇编语言比)。基 本上不做修改就能用于各种型号的计算 机和各种操作系统。 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 9 1.2 C语言的特点 (6)允许直接访问物理地址,能进行位操 作,能实现汇编语言的大部分功能,可直接 对硬件进行操作。兼有高级和低级语言 的特点 。 (7)目标代码质量高,程序执行效率高。 只比汇编程序生成的目标代码效率低10 %-20%。 (8)程序可移植性好(与汇编语言比)。基 本上不做修改就能用于各种型号的计算 机和各种操作系统
清华大学出版社 TSINGHUA UNIVERSITY PRESS 1.2c语言的特点 问题:既然有了面向对象的C十十语言,为 什么还要学习C语言? 解释1:C+是由于开发大型应用软件的需 要而产生的,并不是所有的人都要去编 写大型软件。 解释2:面向对象的基础是面向过程。C 是面向对象的语言,C是面向过程的,学 起来比C+语言困难得多,所以不太适合 程序设计的初学者 C程序设计(第三版) http://ccf.tsinghua.edu.cn 10
C程序设计(第三版) http://ccf.tsinghua.edu.cn 10 1.2 C语言的特点 解释1:C++是由于开发大型应用软件的需 要而产生的,并不是所有的人都要去编 写大型软件。 解释2:面向对象的基础是面向过程。C++ 是面向对象的语言,C是面向过程的,学 起来比C++语言困难得多,所以不太适合 程序设计的初学者。 问题:既然有了面向对象的C++语言,为 什么还要学习C语言?