C语言程序设计第1章人民邮电出版社.ppt

上传人:max****ui 文档编号:6333844 上传时间:2020-02-23 格式:PPT 页数:24 大小:778KB
返回 下载 相关 举报
C语言程序设计第1章人民邮电出版社.ppt_第1页
第1页 / 共24页
C语言程序设计第1章人民邮电出版社.ppt_第2页
第2页 / 共24页
C语言程序设计第1章人民邮电出版社.ppt_第3页
第3页 / 共24页
点击查看更多>>
资源描述
2020 2 23 1 C语言程序设计 第一章计算机组成与程序设计语言 主讲 计算机学院朱立华 2020 2 23 3 内容提要 计算机组成及工作过程机器语言程序设计由低级语言到高级语言Cisthemostbeautifullanguage C程序开发过程 2020 2 23 4 计算机组成及工作过程 计算机的组成 硬件系统 软件系统计算机的作用 用来处理存储的数据 处理和存储是一个整体 计算机之父 冯 诺依曼的程序存储思想 计算机应该采用二进制操作指令也是一种信息 也用二进制数表示程序和数据的存储形式可以完全相同程序本身也可包含数据 物质基础 加在硬件之上 控制硬件完成功能 通过程序设计语言来开发软件 2020 2 23 5 关于二进制等进制问题 2020 2 23 6 控制总线 CPU 计算机硬件的组成 运算器 控制器 存储器 接口 输入设备 输出设备 地址总线 数据总线 进行各种算术运算和逻辑运算 控制和指挥整个运算过程 使指令按要求一条一条执行 存放程序指令及数据 输入指令代码和原始数据 显示或打印计算结果 处理 2020 2 23 7 关于存储器 存储器的组成 由存储单元组成 每个单元1个字节 1B 1B 8bit 每个单元有一个地址 存储单元中的内容与存储单元的地址是两个概念 其区别如同房间里的东西与房间号码 存储器的大小指它有多少个字节 也就是有多少个不同的地址号 取决于地址总线的根数 n根地址总线 存储器容量为 2n常用存储单位 1TB 210GB 220MB 230KB 240B存储器按功能分为3大区域 程序存储区 数据存储区和栈 存放程序中的指令 存放程序中的数据 存取数据都在一端 无需计算地址 速度快 2020 2 23 8 关于CPU CPU CentralProcessorUnit 中央处理器 完成各种处理 运算 控制 是计算机最核心部件 CPU中设寄存器的目的 存放数据或计算的中间结果 不通过地址总线和数据总线 处理速度快 寄存器有两种 通用寄存器和专用寄存器 熟悉两个专用寄存器 1 累加器A 与算术逻辑运算器ALU一起完成各种运算 2 程序计数器PC 寄存指令的地址 CPU通过PC取来一条指令执行时 PC便 指向 下一条指令 即PC的值变为下一条将要执行的指令的地址 除非遇到转移指令或子程序调用指令 CPU都是通过PC顺序地提取指令 是运算器的组成部分 暂存操作数及运算的中间结果 每一个都有特定的作用 2020 2 23 9 机器内部执行程序的过程示例 程序是一组指令 指令联系着存储器和CPU 每条指令有操作码 有的指令有操作数 指令存储在程序存储区 操作数存储在数据存储区 例 求和程序y 3 4所包含的指令如下 2020 2 23 10 机器语言程序设计 对计算机而言 它的各个硬件部分存在的意义和相互的联系通过指令来体现 对程序设计而言 计算机就是指令系统 用机器语言进行程序设计 首先要熟悉计算机的指令系统 熟悉每一条指令的含义及用法 设计算法 根据算法编写程序 所编写的计算机程序体现为一系列指令的集合 每条指令的操作码和操作数都用二进制数表示 用机器语言编写的源程序就是机器能识别并执行的目标程序 2020 2 23 11 一台模型机的指令系统 2020 2 23 12 编程计算 y ax2 bx c 说明 方法一的第4步 也需要用累加器A 而此刻A中是第3步的结果 这时 只能将第4步定义为一个子程序 结果受主程序调用 因此以上步骤实质上变成 计算z b x 子程序 z z 2020 2 23 13 子程序调用中涉及的几个概念 入口地址 第一条指令在程序存储区中的地址 中断 一个程序在执行过程中去执行另一个程序 断口地址 程序中断时的下一条指令的地址 保护现场 程序中断时 有些寄存器存放着中间结果 将寄存器中的中间结果放入某地 堆栈 暂存 恢复现场 子程序执行完毕 再将主程序的中间结果放回寄存器 2020 2 23 14 子程序调用过程 第1步 将主程序的断口地址压入堆栈保存 第2步 将子程序的入口地址送入PC 第3步 进入子程序后 首先保护主程序现场 第4步 执行子程序 第5步 子程序执行完毕 恢复主程序现场 第6步 将主程序的断口地址从栈顶送回PC y ax2 bx c方法一的清单及执行过程见动态演示 2020 2 23 15 由低级语言到高级语言 机器语言 是第一代程序设计语言 是计算机硬件系统能识别和执行的唯一语言 机器语言的3个局限性 1 程序不容易读写 操作码和操作数都是二进制数 2 对计算机硬件的依赖性很强 可移植性差 3 指令功能简单 没有按照数据类型分类 改进 用助记符代替机器的数字指令 用符号地址表示存储单元的数字地址 汇编语言 第二代程序设计语言 改进 面向问题而非面向机器 与计算机硬件结构无关 改进 提供丰富的数据类型 语句一般都采用自然语汇 一条语句往往相当于多条指令 2020 2 23 16 由低级语言到高级语言 第一种高级程序设计语言 Fortran语言 1954年 高级语言的发展 1 从早期语言到结构化程序设计语言 2 从面向过程到非过程化程序设计语言 面向对象 3 发展趋势 面向应用第一种结构化程序设计语言 Pascal语言 1970年 高级语言的种类有数百种 比较熟悉的有 Fortran Basic Pascal C FoxBASE FoxPro Lisp Prolog C Java C 等 2020 2 23 17 由低级语言到高级语言 区分两组概念 1 程序设计语言与程序 类似于汉语与文章的关系 程序设计语言是进行程序设计的工具 是计算机全部指令的集合 而任何计算机程序都需要用程序设计语言来编写 是为实现某个算法从该语言中选择所需要指令组成的集合 2 源程序与目标程序 源程序 程序员编写的程序目标程序 计算机最终能识别并运行的程序 二进制 源程序 目标程序 用机器语言编写 用汇编语言编写 汇编程序 用高级语言编写 编译程序 汇编 编译 2020 2 23 18 Cisthemostbeautifullanguage C语言最早的原型是ALGOL601973年 AT T贝尔实验室的DennisRitchie D M RITCHIE 被尊为 C语言之父 在BCPL和B语言的基础上设计出了一种新的语言 C语言 开发UNIX操作系统及其上的应用程序 1999年 ANSI和ISO通过了最新版本的C语言标准C99 这是关于C语言的最新 最权威的定义 选择学习C语言的理由 C语言不仅是面向过程的程序设计语言中功能最强 效率最高的语言 更是面向对象程序设计语言C Java和C 的基础 2020 2 23 19 Cisthemostbeautifullanguage C语言具有很多优点 简洁紧凑 灵活方便运算符丰富 34个 数据类型丰富C是结构式语言 程序层次清晰C语法限制不太严格 语法比较灵活 C语言允许直接访问物理地址 可直接对硬件进行操作 既可以开发系统软件 又可以开发应用软件 中级语言 C语言程序生成代码质量高 程序执行效率高C语言适用范围大 可移植性好 适合多种操作系统 多种机型 2020 2 23 20 C程序开发过程 file exe 编辑 程序代码的录入 生成源程序 c 编译 链接 运行 语法分析查错 翻译生成目标程序 obj 与其它目标程序或库链接装配 生成可执行程序 exe 2020 2 23 21 在VC 6 0下开发程序的过程 C程序的开发在特定的集成开发环境下进行本教材中所有的程序在VC 6 0下通过 并且课程配套实验也要求在VC 6 0下VC 6 0集成环境中提供了编辑器 编译器 链接器 调试器等多种工具 使得程序员从源程序的编辑到最后的运行均可在集成环境中完成举例 一个C程序在VC 6 0下开发的全过程 请任课教师在VC 6 0现场演示一个程序从编辑到运行的全过程 2020 2 23 22 本章小结 重点掌握 冯 诺依曼体系结构的计算机程序存储思想的主要内容五大部件 运算器 控制器 存储器 输入设备 输出设备主要功能 高速运算 记忆 控制自动执行 信息交互存储器的容量大小 CPU中寄存器的分类和作用 A PC 基本了解 机器内部执行程序的过程 子程序调用的过程以及其中的几个主要概念程序是一组指令 每条指令有操作码 有的指令有操作数指令存储在程序存储区 操作数存储在数据存储区 子程序调用过程中的概念 入口地址 中断 断口地址 保护现场 恢复现场 2020 2 23 23 本章小结 充分理解 程序设计语言与程序 源程序与目标程序的关系程序设计语言是编写程序的工具 程序都用一定的语言编写源程序不一定是目标程序 取决于用什么语言编写高级语言编写的源程序到目标程序需要经过编译程序的编译初步感受 学习C语言是正确选择 开发C程序的过程机器语言的三大局限性以及改进方法 高级语言自然产生C语言的诸多优点 其重要性开发C程序的6个步骤 4个主要步骤 编辑 编译 链接 运行 每个阶段的文件名以及代码性质初识VC 6 0集成开发环境 并体会在此环境下的4步骤 Theendofchapter1
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!