为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C语言程序设计 教学课件 PPT 作者 朱立华 王立柱 C语言程序设计课件第1章090909

2019-09-16 24页 ppt 778KB 5阅读

用户头像 个人认证

希望

暂无简介

举报
C语言程序设计 教学课件 PPT 作者 朱立华 王立柱 C语言程序设计课件第1章090909C语言程序设计**第一章计算机组成与程序设计语言主讲:计算机学院朱立华内容提要计算机组成及工作过程机器语言程序设计由低级语言到高级语言Cisthemostbeautifullanguage!C程序开发过程计算机组成及工作过程计算机的组成:硬件系统+软件系统计算机的作用:用来处理存储的数据,处理和存储是一个整体.“计算机之父”——冯·诺依曼的程序存储思想:计算机应该采用二进制操作指令也是一种信息,也用二进制数表示程序和数据的存储形式可以完全相同程序本身也可包含数据物质...
C语言程序设计 教学课件 PPT 作者 朱立华 王立柱 C语言程序设计课件第1章090909
C语言程序**第一章计算机组成与程序设计语言主讲:计算机学院朱立华内容提要计算机组成及工作过程机器语言程序设计由低级语言到高级语言Cisthemostbeautifullanguage!C程序开发过程计算机组成及工作过程计算机的组成:硬件系统+软件系统计算机的作用:用来处理存储的数据,处理和存储是一个整体.“计算机之父”——冯·诺依曼的程序存储思想:计算机应该采用二进制操作指令也是一种信息,也用二进制数表示程序和数据的存储形式可以完全相同程序本身也可包含数据物质基础加在硬件之上,控制硬件完成功能通过程序设计语言来开发软件关于二进制等进制问题计算机硬件的组成控制总线CPU运算器控制器存储器接口输入设备输出设备地址总线数据总线进行各种算术运算和逻辑运算控制和指挥整个运算过程,使指令按要求一条一条执行。存放程序指令及数据输入指令代码和原始数据显示或打印计算结果处理关于存储器存储器的组成:由存储单元组成,每个单元1个字节(1B),1B=8bit,每个单元有一个地址。存储单元中的内容与存储单元的地址是两个概念,其区别如同房间里的东西与房间号码。存储器的大小指它有多少个字节,也就是有多少个不同的地址号,取决于地址总线的根数,n根地址总线,存储器容量为:2n常用存储单位:1TB=210GB=220MB=230KB=240B存储器按功能分为3大区域:程序存储区、数据存储区和栈存放程序中的指令存放程序中的数据存取数据都在一端,无需计算地址,速度快关于CPUCPU:CentralProcessorUnit,中央处理器,完成各种处理(运算+控制),是计算机最核心部件。CPU中设寄存器的目的:存放数据或计算的中间结果,不通过地址总线和数据总线,处理速度快。寄存器有两种:通用寄存器和专用寄存器。熟悉两个专用寄存器:(1)累加器A:与算术逻辑运算器ALU一起完成各种运算(2)程序计数器PC:寄存指令的地址,CPU通过PC取来一条指令执行时,PC便“指向”下一条指令,即PC的值变为下一条将要执行的指令的地址。除非遇到转移指令或子程序调用指令,CPU都是通过PC顺序地提取指令。是运算器的组成部分,暂存操作数及运算的中间结果每一个都有特定的作用机器内部执行程序的过程示例程序是一组指令,指令联系着存储器和CPU,每条指令有操作码,有的指令有操作数,指令存储在程序存储区,操作数存储在数据存储区。例:求和程序y=3+4所包含的指令如下: 操作码 操作数 指令含义 01H 3000H 将地址为3000H的单元中的数据放入累加器A 03H 3001H 将地址为3001H单元中的数据与累加器A中的数据相加,结果留在A 02H 3002H 将累加器A中的数据存入地址为3002H的单元 07H 停机执行过程动态演示机器语言程序设计对计算机而言:它的各个硬件部分存在的意义和相互的联系通过指令来体现。对程序设计而言:计算机就是指令系统。用机器语言进行程序设计:首先要熟悉计算机的指令系统,熟悉每一条指令的含义及用法。设计算法,根据算法编写程序。所编写的计算机程序体现为一系列指令的集合,每条指令的操作码和操作数都用二进制数表示。用机器语言编写的源程序就是机器能识别并执行的目标程序。一台模型机的指令系统 指令名称 操作码|操作数 说明 取数 01HN A←(N),将地址为N的单元的数据存入累加器A 存数 02HN (N)←A,将累加器A的数据存入地址为N的单元 加法 03HN 将地址为N的单元的数据和A中的相加,结果存入A 乘法 04HN 将地址为N的单元的数据和A中的相乘,结果存入A 比较 05HN A-(N)比较两个数据(相减),结果存入寄存器F 转移 06HN PC←N用地址N更新程序计数器PC的值 停机 07H 停机 子程序调用 08HN 断口地址进栈,用地址N更新程序计数器PC的值 返回主程序 09H 断口地址出栈,用来更新程序计数器PC的值 压栈 0aHT 寄存器T中的数据进栈保存(T表示任意寄存器) 出栈 0bHN 出栈,出栈数据进入寄存器T执行过程动态演示编程计算:y=ax2+bx+c说明:方法一的第4步,也需要用累加器A,而此刻A中是第3步的结果。这时,只能将第4步定义为一个子程序,结果受主程序调用,因此以上步骤实质上变成:计算z=b*x(子程序)zz 步骤 方法一 方法二(y=x(ax+b)+c) 1 取数a 取数a 2 计算a*x 计算a*x 3 计算a*x*x 计算a*x+b 4 计算b*x 计算x*(a*x+b) 5 计算a*x*x+b*x 计算x*(a*x+b)+c 6 计算a*x*x+b*x+c (中未讲,此方法无需调用子程序)执行过程动态演示子程序调用中涉及的几个概念 入口地址:第一条指令在程序存储区中的地址。 中断:一个程序在执行过程中去执行另一个程序。 断口地址:程序中断时的下一条指令的地址。 保护现场:程序中断时,有些寄存器存放着中间结果,将寄存器中的中间结果放入某地(堆栈)暂存。 恢复现场:子程序执行完毕,再将主程序的中间结果放回寄存器。子程序调用过程 第1步:将主程序的断口地址压入堆栈保存。 第2步:将子程序的入口地址送入PC。 第3步:进入子程序后,首先保护主程序现场。 第4步:执行子程序。 第5步:子程序执行完毕,恢复主程序现场。 第6步:将主程序的断口地址从栈顶送回PC。 y=ax2+bx+c方法一的清单 及执行过程见动态演示。由低级语言到高级语言机器语言:是第一代程序设计语言,是计算机硬件系统能识别和执行的唯一语言。机器语言的3个局限性:(1)程序不容易读写,操作码和操作数都是二进制数(2)对计算机硬件的依赖性很强,可移植性差 (3)指令功能简单,没有按照数据类型分类改进:用助记符代替机器的数字指令,用符号地址表示存储单元的数字地址——汇编语言(第二代程序设计语言)改进:面向问题而非面向机器,与计算机硬件结构无关改进:提供丰富的数据类型,语句一般都采用自然语汇,一条语句往往相当于多条指令。由低级语言到高级语言第一种高级程序设计语言:Fortran语言(1954年)高级语言的发展:(1)从早期语言到结构化程序设计语言(2)从面向过程到非过程化程序设计语言(面向对象)(3)发展趋势:面向应用第一种结构化程序设计语言:Pascal语言(1970年)高级语言的种类有数百种,比较熟悉的有:Fortran、Basic、Pascal、C、FoxBASE、FoxPro、Lisp、Prolog、C++、Java、C#等由低级语言到高级语言区分两组概念:(1)程序设计语言与程序(类似于汉语与文章的关系)程序设计语言是进行程序设计的工具,是计算机全部指令的集合;而任何计算机程序都需要用程序设计语言来编写,是为实现某个算法从该语言中选择所需要指令组成的集合。(2)源程序与目标程序:源程序:程序员编写的程序目标程序:计算机最终能识别并运行的程序(二进制)源程序目标程序用机器语言编写用汇编语言编写汇编程序用高级语言编写编译程序汇编编译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#的基础。Cisthemostbeautifullanguage!C语言具有很多优点:简洁紧凑、灵活方便运算符丰富(34个)数据类型丰富C是结构式语言,程序层次清晰C语法限制不太严格,语法比较灵活。C语言允许直接访问物理地址,可直接对硬件进行操作,既可以开发系统软件,又可以开发应用软件(中级语言)C语言程序生成代码质量高,程序执行效率高C语言适用范围大,可移植性好,适合多种操作系统,多种机型C程序开发过程file.exe编辑程序代码的录入,生成源程序*.c编译链接运行语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe在VC++6.0下开发程序的过程 C程序的开发在特定的集成开发环境下进行 本教材中所有的程序在VC++6.0下通过,并且课程配套实验也要求在VC++6.0下 VC++6.0集成环境中提供了编辑器、编译器、链接器、调试器等多种工具,使得程序员从源程序的编辑到最后的运行均可在集成环境中完成 举例:一个C程序在VC++6.0下开发的全过程(请任课教师在VC++6.0现场演示一个程序从编辑到运行的全过程)本章小结 重点掌握:冯•诺依曼体系结构的计算机程序存储思想的主要内容 五大部件:运算器、控制器、存储器、输入设备、输出设备 主要功能:高速运算、记忆、控制自动执行、信息交互 存储器的容量大小、CPU中寄存器的分类和作用(A,PC) 基本了解:机器内部执行程序的过程,子程序调用的过程以及其中的几个主要概念程序是一组指令,每条指令有操作码,有的指令有操作数指令存储在程序存储区,操作数存储在数据存储区。子程序调用过程中的概念:入口地址、中断、断口地址、保护现场、恢复现场本章小结 充分理解:程序设计语言与程序、源程序与目标程序的关系程序设计语言是编写程序的工具,程序都用一定的语言编写 源程序不一定是目标程序,取决于用什么语言编写 高级语言编写的源程序到目标程序需要经过编译程序的编译 初步感受:学习C语言是正确选择,开发C程序的过程机器语言的三大局限性以及改进方法,高级语言自然产生C语言的诸多优点,其重要性开发C程序的6个步骤,4个主要步骤:编辑、编译、链接、运行,每个阶段的文件名以及代码性质初识VC++6.0集成开发环境,并体会在此环境下的4步骤**Theendofchapter1执行过程动态演示执行过程动态演示执行过程动态演示
/
本文档为【C语言程序设计 教学课件 PPT 作者 朱立华 王立柱 C语言程序设计课件第1章090909】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索