第1章 C语言概述
1. C语言出现的历史背景
- C语言是国际上广泛流行的高级语言。
- C语言是在B语言的基础上发展起来的。
- B (BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。
- 1973年贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言,对B取长补短,并用之改写了原来用汇编编写的UNIX,(即UNIX第5版),但仅在贝尔实验室使用。
- 1975年UNIX第6版发布,C优点突出引起关注。
- 1977年出现了《可移植C语言编译程序》 ,推动了UNIX在各种机器上实现 ,C语言也得到推广,其发展相辅相成。
- 1978年影响深远的名著《The C Programming Language》由 Brian W.Kernighan和Dennis M.Ritchie 合著,被称为标准C。
- 之后,C语言先后移植到大、中、小、微型计算机上,已独立于UNIX和PDP,风靡世界,成为最广泛的几种计算机语言之一。
- 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为基础进行开发的
2. C语言的特点
- (1)语言简洁、紧凑,使用方便、灵活。 32个关键字、9种控制语句,程序形式自由。
- (2)运算符丰富。34种运算符 。
- (3)数据类型丰富,具有现代语言的各种数据结构。
- (4)具有结构化的控制语句 ,是完全模块化和结构化的语言。
- (5)语法限制不太严格,程序设计自由度大。
- (6)允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可直接对硬件进行操作。兼有高级和低级语言的特点 。
- (7)目标代码质量高,程序执行效率高。只比汇编程序生成的目标代码效率低10%-20%。
- (8)程序可移植性好(与汇编语言比)。基本上不做修改就能用于各种型号的计算机和各种操作系统。
- 问题:既然有了面向对象的C++语言,为什么还要学习C语言?
- 解释1:C++是由于开发大型应用软件的需要而产生的,并不是所有的人都要去编写大型软件。
- 解释2:面向对象的基础是面向过程。C++是面向对象的语言,C是面向过程的,学起来比C语言困难得多,所以不太适合程序设计的初学者。
3. 运行C程序的步骤
第2章. 程序的灵魂——算法
1. 计算机算法可分为两大类别:
- 数值运算算法:求数值解,例如求方程的根、求函数的定积分等。
- 非数值运算:包括的面十分广泛,最常见的是用于事务管理领域,例如图书检索、人事管理、行车调度管理等。
2. 结构化程序设计
- 一个结构化程序 就是用高级语言表示的结构化算法。用三种基本结构组成的程序必然是结构化的程序,这种程序便于编写、便于阅读、便于修改和维护。
- 结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。
- 结构化程序设计方法的基本思路是:把一个复杂问题的求解过程 分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。
-
采取以下方法来保证得到结构化的程序:
- 自顶向下;
- 逐步细化;
- 模块化设计;
- 结构化编码。
第3章 数据类型、运算符、表达式
-
C中的数据类型
- 常量与符号常量
-
常量区分为不同的类型:
- 整型 100,125,-100,0
- 实型 3.14 , 0.125,-3.789
- 字符型 'a', 'b','2'
- 字符串 'a', 'ab','1232'
3. 整型常量表示方法
-
整型常量即整常数。在C语言中,整常数可用以下三种形式表示:
-
(1)十进制整数。
如:123, -456.4。
-
(2)八进制整数。以0头的数是八进制数。
如:0123表示八进制数123,等于十进制数83,-011表示八进制数-11,即十进制数-9。
-
(3)十六进制整数。以0x开头的数是16进制数。
如:0x123,代表16进制数123,等于十进制数 291。 -0x12等于十进制数-10。
-