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

链接地址:https://www.31ppt.com/p-4990979.html