第章已语言基础 第1章C语言基础 1,1C语言概述 12基本语法成份 13C程序的结构 14C程序的实现 BACK
第 1章 C 语 言 基 础 第 1章 C 语 言 基 础 1.1 C语言概述 1.2 基本语法成份 1.3 C程序的结构 1.4 C程序的实现
第章已语言基础 11C语言概述 111C语言的产生与发展 1.C语言的产生 C语言于1972年~1973年间,诞生于美国的贝尔实验室,由 Denis. M. ritchie创建。 C语言的产生基于两个方面的需要。一是为满足UNIX操作系统开 发的需要。UNⅨX操作系统是一个通用的、复杂的计算机管理系统。 二是为拉近高级语言与硬件之间距离的需要。 C语言集高级语言与汇编语言优点于一身。 C语言面对实际应用的需要而产生,直至今日仍不改初衷
第 1章 C 语 言 基 础 1.1 C语言概述 1.1.1 C语言的产生与发展 1. C C语言于1972年~1973年间, 诞生于美国的贝尔实验室, 由 Denis.M.Ritchie创建。 C语言的产生基于两个方面的需要。一是为满足UNIX操作系统开 发的需要。UNIX操作系统是一个通用的、复杂的计算机管理系统。 二是为拉近高级语言与硬件之间距离的需要。 C语言集高级语言与汇编语言优点于一身。 C语言面对实际应用的需要而产生, 直至今日仍不改初衷
第章已语言基础 2.C语言的发展 1960年出现的 ALGOL语言是一种面向问题的高级语 言,远离硬件,不适于开发系统软件。1963年,英国剑桥大 学推出CPL语言,CPL语言比 ALGOL语言接近硬件一些,但 规模较大,难以实现。1969年,剑桥大学的 M. Richards对 CPL语言进行简化,推出BCPL语言(BCPL- Basic combined Programming Language)。1970年,贝尔实验室的 K. Thompson为DEC公司 PDPICD*2]7计算机上运行的一种 早期UNK操作系统设计了一种类BCPL语言,称为B语言。 B语言规模小,接近硬件,1971年在PDP-11计算机上实现,并 写了UNIX操作系统。1960年~1971年是C语言的萌芽阶段
第 1章 C 语 言 基 础 2. C语言的发展 1960年出现的ALGOL语言是一种面向问题的高级语 言, 远离硬件, 不适于开发系统软件。1963年, 英国剑桥大 学推出CPL语言, CPL语言比ALGOL语言接近硬件一些, 但 规模较大, 难以实现。1969年, 剑桥大学的M.Richards对 CPL语言进行简化, 推出BCPL语言(BCPL—Basic Combined Programming Language) 。 1970 年 , 贝 尔 实 验 室 的 K.Thompson为DEC公司PDP[CD*2]7计算机上运行的一种 早期UNIX操作系统设计了一种类BCPL语言,称为B语言。 B语言规模小, 接近硬件, 1971年在PDP-11计算机上实现, 并 写了UNIX操作系统。1960年~1971年是C语言的萌芽阶段
第章已语言基础 1972年~1973年间,贝尔实验室的D.MRch在保留 B语言优点的基础上,创建了C语言。1973年,UNX操作 系统被用C语言改写,称为UNIX第五版。最初的C语言只 是一种UNIX操作系统的工作语言,依附于UNⅠX系统,主 要在贝尔实验室内部使用。 UNIX以后的第六版、第七版、 SYSTEMⅢ和 SYSTEM V都是在第五版的基础上发展起来的,C语言也 作了多次改进。到1975年,UNIX第六版的公布,使C语言 受到人们的普遍注意
第 1章 C 语 言 基 础 1972年~1973年间, 贝尔实验室的D.M.Ritchie在保留 B语言优点的基础上, 创建了C语言。1973年, UNIX操作 系统被用C语言改写, 称为UNIX第五版。最初的C语言只 是一种UNIX操作系统的工作语言, 依附于UNIX系统, 主 要在贝尔实验室内部使用。 UNIX以后的第六版、第七版、 SYSTEM Ⅲ和 SYSTEMⅤ都是在第五版的基础上发展起来的, C语言也 作了多次改进。到1975年, UNIX第六版的公布, 使C语言 受到人们的普遍注意
第章已语言基础 UNIX操作系统的广泛使用,促进了C语言的迅速发 展与普及,C语言的发展与普及也促进了UNIX操作系统 的推广。到1978年出现了独立于UNIX和PDP计算机的C 语言,从而,C语言被迅速移植到大、中、小与微型机上 当年, B W Kernighan和 D.M. Ritchi以UNX第七版的C编 译程序为基础,出版了影响深远的名著《C程序设计语 C++语言是C语言发展的新阶段,是一种更好的C语 是应用广泛的面向对象的程序设计语言
第 1章 C 语 言 基 础 UNIX操作系统的广泛使用, 促进了C语言的迅速发 展与普及, C语言的发展与普及也促进了UNIX操作系统 的推广。到1978年出现了独立于UNIX和PDP计算机的C 语言, 从而,C语言被迅速移植到大、中、小与微型机上。 当年, B.W.Kernighan和D.M.Ritchie以UNIX第七版的C编 译程序为基础, 出版了影响深远的名著《C程序设计语 言》。 C++语言是C语言发展的新阶段, 是一种更好的C语 言, 是应用广泛的面向对象的程序设计语言
第章已语言基础 3C语言的标准与方言 各机构推出了自己的C语言与版本,某些执行过程 的微小差别不时引起C程序之间的不兼容。美国国家标 准协会(ANSⅠ)从1983年开始,经过长达五年的努力, 制定了C语言的新标准— ANSI C,现在提及C语言的标 准就是指该新标准。 ANSI C比原标准C有很大的发展 解决了经典定义中的二义性,给出了C语言的新特点 K&R也以新标准改写了他们的经典著作。任何C程序都 必须遵循 ANSI C标准,本教材的主体也以 ANSI C作为 基础
第 1章 C 语 言 基 础 3. C语言的标准与方言 各机构推出了自己的C语言与版本, 某些执行过程 的微小差别不时引起C程序之间的不兼容。美国国家标 准协会(ANSI)从1983年开始, 经过长达五年的努力, 制定了C语言的新标准——ANSI C, 现在提及C语言的标 准就是指该新标准。 ANSI C比原标准C有很大的发展, 解决了经典定义中的二义性, 给出了C语言的新特点。 K&R也以新标准改写了他们的经典著作。任何C程序都 必须遵循ANSI C标准, 本教材的主体也以ANSI C作为 基础
第章已语言基础 112C语言的特点 (1)C语言简洁、紧凑,压缩了一切不必要的成份。 (2)C语言运算丰富,将括号、赋值、强制类型转换、 取变量地址等都以运算实现 (3)C语言数据类型丰富,具有现代语言的各种数据类型; 用户能扩充数据类型,能够实现各种复杂的数据结构,完成 各种问题的数据描述 (4)C语言是一种结构化程序设计语言,具有结构化语言 所要求的三种基本结构
第 1章 C 语 言 基 础 1.1.2 C语言的特点 (1)C语言简洁、 紧凑, 压缩了一切不必要的成份。 (2) C语言运算丰富, 将括号、 赋值、 强制类型转换、 取变量地址等都以运算实现。 (3) C语言数据类型丰富, 具有现代语言的各种数据类型; 用户能扩充数据类型, 能够实现各种复杂的数据结构, 完成 各种问题的数据描述。 (4) C语言是一种结构化程序设计语言, 具有结构化语言 所要求的三种基本结构
第章已语言基础 (5)C语言允许直接访问物理地址,能进行位运算,能 实现汇编语言的大部分功能,能直接对硬件进行操作。C 语言是高级语言中的低级语言。 (6)C语言提供预处理机制,有利于大程序的编写和调 (⑦)C语言编译系统小,生成目标代码质量髙,程序执 行效率高。 (8)C语言输入/输出功能用库函数实现,编写的程序 移植性好。 (9)C语言语法限制不太严格,程序设计自由度大,对 程序员要求不高
第 1章 C 语 言 基 础 (5) C语言允许直接访问物理地址, 能进行位运算, 能 实现汇编语言的大部分功能, 能直接对硬件进行操作。 C 语言是高级语言中的低级语言。 (6) C语言提供预处理机制, 有利于大程序的编写和调 试。 (7) C语言编译系统小, 生成目标代码质量高, 程序执 行效率高。 (8) C语言输入/输出功能用库函数实现, 编写的程序 移植性好。 (9) C语言语法限制不太严格, 程序设计自由度大, 对 程序员要求不高
第章已语言基础 12基本语法成份 121字符集 字符是可以区分的最小符号,构成程序的原始基础。C语 言字符集是ASCI字符集的一个子集,包括英文字母、数字及 特殊字符 英文字母:a~z和A~Z 数字:0~9 特殊字符:空格!#%^&*一-+ 由字符集中的字符可以构成C语言进一步的语法成份,如 标识符、关键字、特殊的运算符等
第 1章 C 语 言 基 础 1.2 基本语法成份 1.2.1 字符集 字符是可以区分的最小符号, 构成程序的原始基础。 C语 言字符集是ASCII字符集的一个子集, 包括英文字母、数字及 特殊字符: · 英文字母: a~z和A~Z · 数字: 0~9 · 特殊字符:空格 !# % ^ & * - - + = ~ / \ |., : ; ?′ ″ ( ) [ ] { } 由字符集中的字符可以构成C语言进一步的语法成份, 如 标识符、 关键字、 特殊的运算符等
第章已语言基础 12,2标识符 标识符在程序中用来标识各种程序成份,命名程序中的 些实体,如变量、常量、函数、类型、标号等对象的名字。 C语言规定,标识符必须以英文字母或下划线开头,是字 母、数字、下划线的序列 以下是合法的标识符: x, c, al, a2, op, y -1, zhou -prg, radius, prime, program prg -1, cout, sun, day 以下是不合法的标识符 a 1, 1computer, x+y, l abc, 99999, $100, T, 3c
第 1章 C 语 言 基 础 1.2.2 标识符 标识符在程序中用来标识各种程序成份, 命名程序中的 一些实体, 如变量、 常量、函数、类型、标号等对象的名字。 C语言规定, 标识符必须以英文字母或下划线开头, 是字 母、 数字、 下划线的序列。 以下是合法的标识符: x, c, a1, a2, op, y -1, zhou -prg, radius, prime, program, prg -1, cout, sun, day 以下是不合法的标识符: a.1, 1computer, x+y, !abc, 99999, $100, π, 3c