程序设计基础第一章.ppt
《程序设计基础第一章.ppt》由会员分享,可在线阅读,更多相关《程序设计基础第一章.ppt(114页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序设计基础程序设计基础 陈文宇陈文宇 电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院联系方式联系方式cwy主楼主楼B1-513 学时:学时:24+24成绩构成:成绩构成:平时平时10,期中期中10分分 实验实验20分,期末分,期末60 分分考试:闭卷、笔试考试:闭卷、笔试教材教材:C C语言程序设计语言程序设计 黄迪明黄迪明 等等 电子科技大学出版社电子科技大学出版社 2008.72008.7参考书参考书Brian W.Kernighan,Demis RitchieThe C Programming Language 2nd Ed(英文影印版)清华大学出版社(英文影印版)清
2、华大学出版社 2000谭浩强谭浩强 C程序设计程序设计(第(第3版)版)清华大学出版社清华大学出版社 2005程序设计程序设计Programmingl给出解决特定问题给出解决特定问题程序程序的方法和过程,的方法和过程,是是软件软件构造活动的重要组成部分构造活动的重要组成部分l专业的程序设计人员称为专业的程序设计人员称为程序员程序员l程序设计过程应当包括程序设计过程应当包括需求分析需求分析 设设计计 编码编码 测试测试 维护维护五个阶段,并生五个阶段,并生成各种成各种文档资料文档资料。程序设计程序设计l程序设计需要以某种程序设计需要以某种程序设计语言程序设计语言为为工具:编写出该语言的工具:编写
3、出该语言的程序程序。问题问题l什么是程序设计语言什么是程序设计语言?l什么是程序?什么是程序?l什么是软件?什么是软件?l程序设计语言与程序的关系是什么?程序设计语言与程序的关系是什么?语言:一组规则的组合语言:一组规则的组合自然语言中的英语:自然语言中的英语:1)字母表的定义;)字母表的定义;2)词法规则词法规则:单词符号的形成规则:单词符号的形成规则 一个单词对应一条形成规则,规定了一个单词对应一条形成规则,规定了该单词由哪些字母按照什么顺序进行该单词由哪些字母按照什么顺序进行排列排列3)语法规则:)语法规则:语法单位语法单位的形成规则的形成规则 短语、从句、句子、段落、文章短语、从句、句
4、子、段落、文章4)语义规则:)语义规则:单词符号和语法单位的含义规则单词符号和语法单位的含义规则5)语用规则:)语用规则:语义规则的发展和延伸语义规则的发展和延伸 强调在一定的语境中使用单词和强调在一定的语境中使用单词和语法单位时体现出来的具体意义语法单位时体现出来的具体意义 需要根据上下文进行明确需要根据上下文进行明确思考思考l英语和英语文章的关系?英语和英语文章的关系?l程序设计语言:程序设计语言:用于程序设计的人工语言用于程序设计的人工语言程序设计语言程序设计语言l机器语言机器语言:第一代程序设计语言第一代程序设计语言 字母表:字母表:0,1 单词符号:操作码、地址单词符号:操作码、地址
5、 语法单位:语法单位:指令指令 10111000 1001 1110 程序程序 指令的组合指令的组合机器语言机器语言l编写程序十分编写程序十分繁琐繁琐和和痛苦痛苦;l程序不便于记忆、阅读和书写,容易程序不便于记忆、阅读和书写,容易出错(查错和改错,十分困难);出错(查错和改错,十分困难);l每类计算机的指令系统各不相同,可每类计算机的指令系统各不相同,可移植性很差,造成了重复工作。移植性很差,造成了重复工作。机器语言机器语言l指令针对特定型号的计算机(与机器指令针对特定型号的计算机(与机器有关,有关,低级语言低级语言)l 运算效率很高运算效率很高汇编语言汇编语言l字母表:主要增加了英文字母字母
6、表:主要增加了英文字母l单词符号:单词符号:操作码、内存符号、寄存器、数据操作码、内存符号、寄存器、数据l语法单位:语法单位:指令指令 ADD A,R0 程序程序 指令的组合指令的组合汇编语言:第二代计算机语言汇编语言:第二代计算机语言l助记忆符助记忆符:用与代码指令含义相近的:用与代码指令含义相近的英文英文缩写词、字母和数字等符号缩写词、字母和数字等符号取代指令代码取代指令代码l较容易理解程序,纠错及维护变得较方便较容易理解程序,纠错及维护变得较方便l汇编语言仍然是汇编语言仍然是面向机器面向机器的语言(低级语的语言(低级语言),仍比较繁琐,通用性也差。言),仍比较繁琐,通用性也差。汇编语言汇
7、编语言l需要将汇编语言指令需要将汇编语言指令翻译翻译成机器成机器语言的指令:汇编语言的指令:汇编l汇编语言程序的汇编语言程序的目标程序目标程序占用内占用内存空间少,运行速度快存空间少,运行速度快l有着高级语言不可替代的用途有着高级语言不可替代的用途 高级程序设计语言高级程序设计语言1)字母表的定义;)字母表的定义;2)词法规则:一般有五类单词符号)词法规则:一般有五类单词符号3)语法规则:)语法规则:语法单位包括:表达式、语句、模语法单位包括:表达式、语句、模块、块、程序程序高级程序设计语言高级程序设计语言4)语义规则:)语义规则:5)语用规则:无二义的)语用规则:无二义的6)其他规则:)其他
8、规则:如数据类型的定义、运算符优先级如数据类型的定义、运算符优先级的定义、参数的传递方式、作用域的规的定义、参数的传递方式、作用域的规定等定等FORTRAN语言的一条语句:语言的一条语句:if (num0)then abs:=num else abs:=-num;高级程序设计语言高级程序设计语言l独立于计算机的硬件独立于计算机的硬件l对具体的算法进行描述(算法语言)对具体的算法进行描述(算法语言)l独立性,通用性和可移植性好独立性,通用性和可移植性好高级程序设计语言高级程序设计语言l一般包含有以下四种成分:一般包含有以下四种成分:l数据成分数据成分:描述程序所涉及的数据:描述程序所涉及的数据l
9、运算成分运算成分:描述运算:描述运算l控制成分控制成分:表达程序的控制结构:表达程序的控制结构l传输成分传输成分:表达数据的传输(输入输:表达数据的传输(输入输出、文件读写操作)出、文件读写操作)高级程序设计语言高级程序设计语言l高级语言的程序主要是描述计算机的解题高级语言的程序主要是描述计算机的解题过程,即描述复杂的加工处理过程,所以过程,即描述复杂的加工处理过程,所以也称高级语言为也称高级语言为面向过程语言面向过程语言。l计算机不能直接执行高级语言的程序(源计算机不能直接执行高级语言的程序(源程序);通常有程序);通常有解释方式解释方式和和编译方式编译方式两种两种方法在计算机上执行程序(目
10、标程序)。方法在计算机上执行程序(目标程序)。思考思考 大量的程序设计语言被发明、被取代、大量的程序设计语言被发明、被取代、被修改或组合在一起;被修改或组合在一起;尽管多次试图创造一种通用的程序尽管多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的设计语言,却没有一次尝试是成功的 WHY?高级语言的发展高级语言的发展l从从 早期语言早期语言 到到 结构化程序设计语言结构化程序设计语言l从从 面向过程面向过程 到到 非过程化程序语言非过程化程序语言1.1.FORTRANFORTRAN=FORFORmulamula TRANTRANslationslation 2.2.主要用于科学计算主要
11、用于科学计算3.3.2.2.ALGOL 60=ALGOL 60=ALGOALGOrithmicrithmic L Language anguage 6060 采用采用BNFBNF形式描述语法形式描述语法一一.早期的高级语言(早期的高级语言(50年代)年代)早期的高级语言早期的高级语言 3.COBOL COmmon Business Oriented Language.广泛应用于各种事务处理领域广泛应用于各种事务处理领域.引入了文件和数据描述引入了文件和数据描述基于数学原则的语言基于数学原则的语言 1.1.LISPLISP.其基础是其基础是函数函数和函数作用和函数作用2.APL2.APL.支持函
12、数式程序设计风格支持函数式程序设计风格.应用于大量矩阵运算的科学计算应用于大量矩阵运算的科学计算二二.早期的突破早期的突破3 3.SNOBOL 4.SNOBOL 4 .主要用于字符串处理主要用于字符串处理 .与与机机器器无无关关的的宏宏功功能能,增增加加了了程程序序的的可移植性可移植性PL/1PL/1 .希望将所有语言概念希望将所有语言概念集成集成大全大全 .分程序概念和递归过程分程序概念和递归过程 .数据描述机能数据描述机能 .动态数据结构动态数据结构 .异常处理异常处理 .多任务机能多任务机能 .可用于科学数值计算可用于科学数值计算,数据处理等数据处理等 .难以得到广泛的应用难以得到广泛的
13、应用三三.概念的集成(概念的集成(64年)年)引入了许多有趣的概念引入了许多有趣的概念1.1.ALGOL 68ALGOL 68 .以零型文法描述语法规则以零型文法描述语法规则 .引入正交性和通用性原则引入正交性和通用性原则四四.再一次突破再一次突破(60年代后期年代后期)2.2.SIMULA67SIMULA67 .应用于模拟领域应用于模拟领域 .协同程序协同程序 .引入了类的概念引入了类的概念3.3.PASCALPASCAL .具有明显的简洁性具有明显的简洁性 .体现体现结构程序设计结构程序设计思想思想 .具有具有用户自定义类型用户自定义类型 利用语法图形式描述语法规则利用语法图形式描述语法规
14、则 4.4.BASICBASICBeginners All-purpose Symbolic Instruction Code .简单易学简单易学 .交互式交互式工作环境工作环境 .解释执行解释执行7070年代年代,支持系统软件开发支持系统软件开发1.1.语言研究语言研究 涉涉及及抽抽象象数数据据类类型型,异异常常处处理理和和并并行行处处理机制理机制 2.2.MODULA-2MODULA-2 .支持模块结构支持模块结构,模块可以独立编译模块可以独立编译 .面向面向实时系统实时系统和并行系统综合功能和并行系统综合功能五五.大量的探索大量的探索3.3.C C CPLBCPLB CPLBCPLBC
15、C .具有高级语言和低级语言的优点具有高级语言和低级语言的优点 .应用于应用于各种领域各种领域7070年代以后年代以后,注重可移植性注重可移植性 1.1.AdaAda .面向专门领域的特殊要求面向专门领域的特殊要求 .是在引入了一个不大的是在引入了一个不大的,容易理解的容易理解的 概念集合的基础上开发的概念集合的基础上开发的 .体现许多现代软件设计方法学的语言体现许多现代软件设计方法学的语言 .提高程序的可读性提高程序的可读性,可靠性可靠性,可维护性可维护性六六.Ada和第四代语言和第四代语言2.2.第四代语言第四代语言超高级语言超高级语言 面向问题面向问题 .表达力强表达力强,更接近于问题的
16、描述更接近于问题的描述 .着重关心的是着重关心的是:做什么做什么 JavaJava、HTMLHTML Java是一种通用、并发、基于类的是一种通用、并发、基于类的面面向对象向对象的程序设计语言。的程序设计语言。l面向对象面向对象l实现:编译与解释相结合实现:编译与解释相结合l分布性、安全性、并发性分布性、安全性、并发性七七.网络时代的语言网络时代的语言抛弃抛弃冯冯.诺依曼诺依曼体系结构体系结构包括函数式,逻辑式语言包括函数式,逻辑式语言应用于人工智能等领域应用于人工智能等领域八八.新一代程序设计语言新一代程序设计语言1.1.基础基础 存储器存储器,控制器控制器,处理器,处理器,ipip2.2.
17、特点特点 数据或指令以数据或指令以二进制二进制形式存储形式存储;存储存储程序的工作方式;程序的工作方式;程序程序顺序执行;可强制修改执行顺序顺序执行;可强制修改执行顺序 存储器的内容可以被存储器的内容可以被修改修改。冯冯.诺依曼体系结构(模型)诺依曼体系结构(模型)ip代码存储器(代码存储器(C)数据存储器(数据存储器(D)一些高级语言的关系一些高级语言的关系程序设计语言的发展小结程序设计语言的发展小结 机器语言机器语言汇编语言汇编语言高级语言高级语言 用用机器语言机器语言编写的程序由二进制代码编写的程序由二进制代码组成,计算机可以直接执行。组成,计算机可以直接执行。将机器语言将机器语言符号化
18、符号化,于是产生了,于是产生了汇编汇编语言语言。机器语言和汇编语言都是与机器有机器语言和汇编语言都是与机器有关的语言,通常称为低级语言。关的语言,通常称为低级语言。C语言的发展语言的发展l1963年,在年,在ALGOL 60 的基础上,英国剑的基础上,英国剑桥大学推出了桥大学推出了CPL(Combined Programming Langurage)语言。)语言。l1967年英国剑桥大学的年英国剑桥大学的 Matin Richards对对CPL语言做了简化,推出了语言做了简化,推出了 BCPL(Base CPL)语言。)语言。l1970年美国贝尔实验室的年美国贝尔实验室的 Ken Thomps
19、on 对对 BCPL 进一步简化,设计出了简单的而进一步简化,设计出了简单的而且很接近硬件的且很接近硬件的 B 语言语言,并用并用B语言写出了语言写出了第一个第一个 UNIX 操作系统。操作系统。l1972年至年至1973年间,贝尔实验室的戴尼斯年间,贝尔实验室的戴尼斯利奇(利奇(Demis Ritchie)和布朗)和布朗卡尼汉卡尼汉(Brian Kernighan)在)在 B 语言的基础上语言的基础上设计出了设计出了 C 语言(语言(BCPL)。)。lC语言即保持语言即保持 BCPL 语言和语言和 B 语言的优点语言的优点(精练、接近硬件),又克服了他们的缺(精练、接近硬件),又克服了他们的
20、缺点(过于简单,数据无类型等)。点(过于简单,数据无类型等)。l1973年新的年新的UNIX版本完全用版本完全用C语言编写语言编写 l1977年出现了可移植年出现了可移植C语言的编译程序语言的编译程序,推动了推动了UNIX在各种机器上实现在各种机器上实现,C语言语言也迅速得到推广,其发展相辅相成。也迅速得到推广,其发展相辅相成。l1978年以后,年以后,C语言先后移植到大、中、语言先后移植到大、中、小、微型计算机上,成为最广泛使用的计小、微型计算机上,成为最广泛使用的计算机程序设计语言之一。算机程序设计语言之一。l1978年在年在Brian W.Kernighan和和Dennis M.Ritc
21、hie 合著的合著的The C Programming Language 成为成为C语言的标准。语言的标准。l19831983年年,美国国家标准化协会美国国家标准化协会(ANSI)(ANSI)根据根据C C语言各种版本对语言各种版本对C C的发展和扩充的发展和扩充,制定了新制定了新的标准的标准ANSI CANSI C,比标准,比标准C C有了很大的发展有了很大的发展l19871987年年,ANSI,ANSI公布了新标准:公布了新标准:87 ANSI C87 ANSI C。l19891989年,公布了新的年,公布了新的C C语言标准语言标准C89C89l19901990年,年,ISOISO接受接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 第一章
限制150内