
第1章程序设计和C语言
1 程序设计和C语言 第 章

计算机程序指令可以被计算机理解并执行的基本操作命令。程序一组计算机能识别和执行的指令。一个特定的指令序列用来完成一定的功能。软件与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据
计算机程序 可以被计算机理解并执行的基本 操作命令。 指令 与计算机系统操作有关的计算机 程序、规程、规则,以及可能有 的文件、文档及数据。 软件 一组计算机能识别和执行的指令。 一个特定的指令序列用来完成一 定的功能。 程序

计算机语言机器语言汇编语言高级语言机器语言的符号化。用英计算机能直接识别和接受高级语言更接近于人们习文字母和数字表示指令的的二进制代码称为机器指惯使用的自然语言和数学符号语言。令。机器指令的集合就是语言。特点:相比机器语言简单该计算机的机器语言。特点:功能强大,不依赖好记,但仍然难以普及。特点难学,难记,难检于具体机器。用高级语言汇编指令需通过汇编程序查,难修改,难以推广使编写的源程序需要通过编转换为机器指令才能被计用。依赖具体机器难以移译程序转换为机器指令的算机执行。依赖具体机器植。目标程序。难以移植。MOVAX383B87F01BB2102MOVBX54503D8ADDBXAXS=1055-(383+545)B81F04MOVAX10552B.C3SUBAXBX
计算机语言 机器语言 计算机能直接识别和接受 的二进制代码称为机器指 令。机器指令的集合就是 该计算机的机器语言。 特点:难学,难记,难检 查,难修改,难以推广使 用。依赖具体机器难以移 植。 汇编语言 机器语言的符号化。用英 文字母和数字表示指令的 符号语言。 特点:相比机器语言简单 好记,但仍然难以普及。 汇编指令需通过汇编程序 转换为机器指令才能被计 算机执行。依赖具体机器 难以移植。 高级语言 高级语言更接近于人们习 惯使用的自然语言和数学 语言。 特点:功能强大,不依赖 于具体机器。用高级语言 编写的源程序需要通过编 译程序转换为机器指令的 目标程序。 B8 7F 01 BB 21 02 03 D8 B8 1F 04 2B C3 MOV AX 383 MOV BX 545 ADD BX AX MOV AX 1055 SUB AX BX S=1055-(383+545)

机器语言伪机器语言(汇编MC其他FortranPascalBasicC++JavaDelphiVisualBasicC#可视化程度高,容易使用,针对一般用面向对象,针对专业用户-
机器语言 伪机器语言(汇编) Fortran Pascal Basic C 其他 Delphi Visual Basic C++ Java 可视化程度高, 容易使用,针对一般用 户. 面向对象,针对专业用 户. C#

高级语言的发展01非结构化的语言02结构化语言规定:程序必须由具有良好特性的基本结构(顺序结构、选03面向对象的语言择结构、循环结构)构成,程序中的流程不允许随意跳转,程序总是由上而下顺序执行各个基本结构。特点:程序结构清晰,易于编写、阅读和维护
高级语言的发展 01 02 03 非结构化的语言 规定: 程序必须由具有良好特性的基本结构(顺序结构、选 择结构、循环结构)构成,程序中的流程不允许随意 跳转,程序总是由上而下顺序执行各个基本结构。 特点: 程序结构清晰,易于编写、阅读和维护。 面向对象的语言 结构化语言

C语言的发展:1972—1973年间,美国贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言。:最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。随着UNIX的日益广泛使用,C语言也迅速得到推广。1978年以后,C语言先后移植到大、中、小和微型计算机上。C语言便很快风靡全世界,成为世界上应用最广泛的程序设计高级语言。,以UNIX第7版中的C语言编译程序为基础,1978年,BrianW.Kemighan和DennisM.Ritchie合著了影响深远的名著TheCProgrammingLanguage,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它是实际上第一个C语言标准。:1983年,美国国家标准协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了第一个CD.M.Ritchie语言标准草案(83ANSIC)。:1989年,ANSI公布了个完整的C语言标准——ANSIX3.159—1989(常称为ANSIC或C89)。:1990年,国际标准化组织ISO(InternationalStandardOrganization)接受C89作为国际标准ISO/IEC98991990,它和ANSI的C89基本上是相同的。·1999年,ISO又对C语言标准进行了修订,在基本保留原来的C语言特征的基础上,针对应用的需要,增加了一些功能,尤其是C++中的一些功能,并在2001年和2004年先后进行了两次技术修正,它被称为C99C99是C89的扩充。目前由不同软件公司所提供的一些C语言编译系统并未完全实现C99建议的功能,它们多以C89为基础开发
C语言的发展 D.M.Ritchie • 1972—1973年间,美国贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言。 • 最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。 • 随着UNIX的日益广泛使用,C语言也迅速得到推广。1978年以后,C语言先后移植到大、中、小和微型计 算机上。C语言便很快风靡全世界,成为世界上应用最广泛的程序设计高级语言。 • 以UNIX第7版中的C语言编译程序为基础,1978年,Brian W.Kernighan和Dennis M.Ritchie 合著了影响深远 的名著The C Programming Language,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它 是实际上第一个C语言标准。 • 1983年,美国国家标准协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了第一个C 语言标准草案(’83 ANSI C)。 • 1989年,ANSI公布了一个完整的C语言标准——ANSI X3.159—1989(常称为ANSI C或C 89)。 • 1990年,国际标准化组织ISO(International Standard Organization)接受C 89作为国际标准ISO/IEC 9899: 1990,它和ANSI的C 89基本上是相同的。 • 1999年,ISO又对C语言标准进行了修订,在基本保留原来的C语言特征的基础上,针对应用的需要,增加 了一些功能,尤其是C++中的一些功能,并在2001年和2004年先后进行了两次技术修正,它被称为C 99, C 99是C 89的扩充。 目前由不同软件公司所提供的一些C语言编译系统并未完全实现C 99建议的功能,它们多以C 89为基础开发

2017201220072002199719921987Programming Language21115:Java121F2C23533322C++74413C#5761127Python617+IVisualBasicNET-765PHP4789823JavaScript.54984Peri10·10Assemblylanguage---/3179992528COBOL94215123112Lisp3131132261620Prolog834152197Pascal114各年度编程语言排行榜
各年度编程语言排行榜

10月编程语言排行榜TOP20榜单:Oct2017Oct2016ChangeRatingsChangeProgrammingLanguageE1Java12.431%-6.37%22c8.374%-1.46%33C++5.007%0.79%44CH3.858%0.51%553.803%Python+0.03%66JavaScript3.010%+0.26%77PHP2.790%+0.05%88+0.08%VisualBasic.NET2.735%911A2.374%+0.14%Assemblylanguage1013Ruby2.324%+0.32%A前6位占31%DelphivObject:Pascal2.180%+0.31%Port1.963%0.53%1319MATLAB1.880%+0.26%1423XSeratch1.819%+0.69%R1518A1.884%-0.08%1612&SwifR1.668%-0.34%1710&Objective-C1.513%-0.75%1418&Visual Basic1.420%0.57%1920人1.408%0.12%PL/SQL2016&Go头条号Csch
前6位占31%

C语言的特点语言简洁、紧凑,使用方便、灵活01运算符丰富生成目标代码质量高,程序执行效率高0802C03程序可移植性好07数据类型丰富具有结构化的控制语句允许直接访问物理地址0604用函数作为程序的模块单位、便于实现程序的模块化能进行位(bit)操作05C语言是完全模块化和结构化的语言能实现汇编语言的大部分功能可以直接对硬件进行操作语法限制不太严格,程序设计自由度大因此C语言既具有高级语言的功能,又具有低级语言的许多功能,可用来编写系统软件
C语言的特点 语言简洁、紧凑,使用方便、灵活 01 02 03 04 05 06 07 08 C 语法限制不太严格,程序设计自由度大 运算符丰富 数据类型丰富 具有结构化的控制语句 用函数作为程序的模块单位,便于实现程序的模块化 C语言是完全模块化和结构化的语言 生成目标代码质量高,程序执行效率高 程序可移植性好 允许直接访问物理地址 能进行位(bit)操作 能实现汇编语言的大部分功能 可以直接对硬件进行操作 因此C语言既具有高级语言的功能,又具有 低级语言的许多功能,可用来编写系统软件

最简单的C语言程序【例1.1】要求在屏幕上输出:ThisisaCprogram.解题思路:在主函数中用printf函数原样输出以上文字。口//这是编译预处理指令aCAWINDOWSlsystem32(cmd.exe#include//定义主函数intmainoDrLa请按任意键继续//函数开始的标志3//输出所指定的一行信息printf("ThisisaCprogram.In");return O;//函数执行完毕时返回函数值0//函数结束的标志
最简单的C语言程序 【例1.1】要求在屏幕上输出:This is a C program. 解题思路: 在主函数中用printf函数原样输出以上文字。 #include //这是编译预处理指令 int main() //定义主函数 { //函数开始的标志 printf("This is a C program.\n"); //输出所指定的一行信息 return 0; //函数执行完毕时返回函数值0 } //函数结束的标志