




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计C C 陈文宇电子科技大学计算机科学与工程学院 联系方式 cwy楼B1 509 计算智能实验室科A楼514 软件理论系办公室 学时 64 48 16成绩构成 平时20 期中10分实验30分 期末40分 教材 1 C语言程序设计 第3版 陈文宇黄迪明等电子科技大学出版社2011 82 C 语言程序设计教程 第2版 沈显君 杨进才等清华大学出版社 2010年1月 参考书 TheCProgrammingLanguage2nd 英文影印版 清华大学出版社2000谭浩强 C程序设计 第3版 清华大学出版社2005C 语言程序设计教程 第二版 习题解答与实验指导 程序设计Programming 给出解决特定问题的方法和过程 并以某种程序设计语言为工具 编写出该语言的程序 程序设计过程应当包括需求分析设计编码测试维护五个阶段 并生成各种文档资料 问题 什么是程序设计语言 什么是程序 程序设计语言与程序的关系 什么是软件 软件 程序 文档资料 语言 一组规则的组合 自然语言中的英语 1字母表的定义 2词法规则 单词符号的形成规则一个单词对应一条形成规则规定了该单词由哪些字母 按照什么顺序进行排列 3语法规则 语法单位的形成规则短语 从句 句子 段落 文章4语义规则 单词符号和语法单位的含义规则 5语用规则 语义规则的发展和延伸强调在一定的语境中使用单词和语法单位时体现出来的具体意义需要根据上下文进行明确 思考 英语和英语文章的关系 程序设计语言 用于程序设计的人工语言 程序设计语言 机器语言 第一代程序设计语言字母表 0 1 单词符号 操作码 地址语法单位 指令1011100010011110程序指令的组合 机器语言 编写程序十分繁琐和痛苦 程序不便于记忆 阅读和书写 容易出错 查错和改错 十分困难 每类计算机的指令系统各不相同 可移植性很差 造成了重复工作 机器语言 指令针对特定型号的计算机 与机器有关 低级语言 机器语言程序运算效率很高 汇编语言 字母表 主要增加了英文字母单词符号 操作码 内存符号 寄存器 数据语法单位 指令ADDA R0程序指令的组合 汇编语言 第二代计算机语言 助记忆符 指令含义相近的英文缩写词 字母和数字等符号取代指令二进制编码较容易理解程序 纠错及维护变得较方便汇编语言仍然是面向机器的语言 低级语言 仍比较繁琐 通用性也差 汇编语言 需要将汇编语言指令翻译成机器语言的指令 汇编汇编语言程序的目标程序占用内存空间少 运行速度快有着高级语言不可替代的用途 高级程序设计语言 1 字母表的定义 2 词法规则 一般有五类单词符号关键字 标识符 运算符 常量 界符3 语法规则 表达式 语句 模块 程序 高级程序设计语言 4 语义规则 5 语用规则 无二义的6 其他规则 如数据类型的定义 运算符优先级的定义 参数的传递方式 作用域的规定等 例C语言的语句 if first numb second numb max first numb elsemax second numb 高级程序设计语言 独立于计算机的硬件对具体的算法进行描述独立性 通用性和可移植性好 高级程序设计语言 一般包含有以下四种成分 数据成分 描述所涉及的数据运算成分 描述对数据的处理控制成分 表达运算的控制结构传输成分 表达数据的传输 输入输出 文件读写等操作 高级程序设计语言 高级语言的程序主要是描述计算机的解题过程 步骤 即描述对数据进行处理的过程 所以也称高级语言为面向过程语言 计算机不能直接执行高级语言的程序 源程序 通常有解释方式和编译方式两种方法在计算机上执行程序 目标程序 思考 大量的程序设计语言被发明 被取代 被修改或组合在一起 尽管多次试图创造一种通用的程序设计语言 却没有一次尝试是成功的WHY 高级语言的发展 从早期语言到结构化程序设计语言从面向过程到非过程化程序语言 面向对象 组件 FORTRAN FORmulaTRANslation主要用于科学计算2 ALGOL60 ALGOrithmicLanguage60采用BNF形式描述语法 一 早期的高级语言 50年代 早期的高级语言 3 COBOLCOmmonBusinessOrientedLanguage 广泛应用于各种事务处理领域 引入了文件和数据描述 基于数学原则的语言1 LISP 其基础是函数和函数作用2 APL 支持函数式程序设计风格 应用于大量矩阵运算的科学计算 二 早期的突破 3 SNOBOL4 主要用于字符串处理 与机器无关的宏功能 增加了程序的可移植性 PL 1 希望将所有语言概念集成大全 分程序概念和递归过程 数据描述机能 动态数据结构 异常处理 多任务机能 可用于科学数值计算 数据处理等 难以得到广泛的应用 三 概念的集成 64年 引入了许多有趣的概念1 ALGOL68 以零型文法描述语法规则 引入正交性和通用性原则 四 再一次突破 60年代后期 2 SIMULA67 应用于模拟领域 协同程序 引入了类的概念 3 PASCAL 具有明显的简洁性 体现结构程序设计思想 具有用户自定义类型利用语法图形式描述语法规则 4 BASICBeginner sAll purposeSymbolicInstructionCode 简单易学 交互式工作环境 解释执行 70年代 支持系统软件开发1 语言研究涉及抽象数据类型 异常处理和并行处理2 MODULA 2 支持模块结构 模块可以独立编译 面向实时系统和并行系统综合功能 五 大量的探索 3 CCPL BCPL B C 具有高级语言和低级语言的优点 应用于各种领域 70年代以后 注重可移植性1 Ada 面向专门领域的特殊要求 是在引入了一个不大的 容易理解的概念集合的基础上开发的 体现许多现代软件设计方法学的语言 提高程序的可读性 可靠性 可维护性 六 Ada和第四代语言 2 第四代语言 超高级语言面向问题 表达力强 更接近于问题的描述 着重关心的是 做什么 C Java 七 面向对象语言 抛弃冯 诺依曼体系结构包括函数式 逻辑式语言应用于人工智能等领域 八 新一代程序设计语言 1 基础存储器 控制器 处理器 ip2 特点 数据和指令以二进制形式存储 存储程序的工作方式 程序顺序执行 可强制修改执行顺序 存储器的内容可以被修改 冯 诺依曼体系结构 模型 如何区别 ip 代码存储器 C 数据存储器 D 一些高级语言的关系 程序设计语言的发展小结 机器语言 汇编语言 高级语言用机器语言编写的程序由二进制代码组成 计算机可以直接执行 将机器语言符号化 于是产生了汇编语言 机器语言和汇编语言都是与机器有关的语言 通常称为低级语言 C语言的发展 1963年 在ALGOL60的基础上 英国剑桥大学推出了CPL CombinedProgrammingLanguage 语言 1967年英国剑桥大学的MatinRichards对CPL语言做了简化 推出了BCPL BaseCPL 语言 1970年美国贝尔实验室的KenThompson对BCPL进一步简化 设计出了简单的而且很接近硬件的B语言 并用B语言写出了第一个UNIX操作系统 C语言的发展 1972年至1973年间 贝尔实验室的戴尼斯 利奇 DemisRitchie 和布朗 卡尼汉 BrianKernighan 在B语言的基础上设计出了C语言 BCPL C语言即保持BCPL语言和B语言的优点 精练 接近硬件 又克服了他们的缺点 过于简单 数据无类型等 1973年新的UNIX版本完全用C语言编写 1977年出现了可移植C语言的编译程序 推动了UNIX在各种机器上实现 C语言也迅速得到推广 其发展相辅相成 1978年以后 C语言先后移植到大 中 小 微型计算机上 成为最广泛使用的计算机程序设计语言之一 1978年在BrianW Kernighan和DennisM Ritchie合著的 TheCProgrammingLanguage 成为C语言的标准 1983年 美国国家标准化协会 ANSI 根据C语言各种版本对C的发展和扩充 制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《谏太宗十思疏》魏征课件
- 《谁藏起来了》课件
- 急诊进修生汇报
- 护理紧急状态下人员调配
- 公司职代会安全培训提案课件
- 《诗经·摽有梅》课件
- 公司组织安全生产培训会课件
- 护理专业求职方向
- 亮化工程安全培训课件
- 蓝色商务财务汇报
- 装配式建筑装饰装修技术 课件 模块二 装配式楼地面
- 物理化学实验B智慧树知到期末考试答案章节答案2024年北京科技大学
- 基层医疗卫生机构访谈问卷
- 美业市场培训课程课件
- 村民集体经济发展规划方案
- 软件测试升职述职报告
- 室内装饰测量放线专项方案
- 基于移动互联网的智慧观光巴士服务平台
- 人教版六年级数学上册第一、二单元试卷及答案
- 20236月信息技术服务管理体系审核员考试试题及答案解析
- 一文了解华为MTL流程和LTC流程z1222
评论
0/150
提交评论