C语言程序设计课件第1章.ppt
《C语言程序设计课件第1章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计课件第1章.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级语言程序设计 2023/1/1612023/1/162第一章 计算机组成与程序设计语言主讲主讲:计算机学院计算机学院 李超李超内容提要内容提要n计算机组成及工作过程 n机器语言程序设计n由低级语言到高级语言nC is the most beautiful language!nC程序开发过程2023/1/162023/1/163 3计算机计算机及其组成及其组成 n计算工具计算工具:石器时代石器时代:石头、手指、绳子石头、手指、绳子铜器时代铜器时代:算筹(商周时代)、格子(西方)算筹(商周时代)、格子(西方)铁器时代铁器时代:算盘算盘 n计算机计算机:(comput+er):(comput+e
2、r):用于计算的机器用于计算的机器,用来处理存储用来处理存储的数据的数据,处理和存储是一个整体处理和存储是一个整体.n计算机的组成计算机的组成:硬件系统硬件系统+软件系统软件系统 物质基础物质基础加在硬件之上加在硬件之上,控制控制硬件完成功能硬件完成功能通过程序设计语通过程序设计语言来开发软件言来开发软件2023/1/162023/1/164 4冯冯诺依曼诺依曼的程序存储思想的程序存储思想n“计算机计算机之父之父”冯冯诺依曼诺依曼的程序存储思想的程序存储思想:计算机应该采用二进制计算机应该采用二进制 操作指令也是一种信息操作指令也是一种信息 ,也也用二进制数表示用二进制数表示程序和数据的存储形
3、式可以程序和数据的存储形式可以完全相同完全相同 程序本身也可包含数据程序本身也可包含数据2023/1/162023/1/165 5关于第一台计算机关于第一台计算机 n1946.2.14 1946.2.14 ENIAC(ENIAC(埃尼阿克埃尼阿克)n现在保存在宾夕法尼亚大学现在保存在宾夕法尼亚大学n这台机器名为这台机器名为“电子数值积分电子数值积分和计算机和计算机”(简称埃尼阿克,完简称埃尼阿克,完全是一个庞然大物,占地面积全是一个庞然大物,占地面积达达170m2170m2,质量达,质量达30t30t,耗电量,耗电量也很惊人,功率为也很惊人,功率为150kW150kW,共使,共使用了近两万个电
4、子管,在工作用了近两万个电子管,在工作时这些管子看上去活像两万只时这些管子看上去活像两万只点着的灯泡。点着的灯泡。n埃尼阿克主要用来进行弹道计埃尼阿克主要用来进行弹道计算的数值分析算的数值分析 2023/1/162023/1/166 6其他版本的第一台计算机其他版本的第一台计算机 n图灵机图灵机:计算机科学之父、人工计算机科学之父、人工智能之父智能之父,”,”图灵奖图灵奖”n德国人德国人Conran EuseConran Euse代号为代号为“Z”Z”的计算机的计算机n哈佛,哈佛,IBMIBM的的MarkMark系列大型电子系列大型电子计算机计算机n真正的第一台计算机是上面三真正的第一台计算机
5、是上面三台中之一台中之一,无从考证无从考证2023/1/162023/1/167 7控制总线控制总线CPUCPU计算机硬件的组成计算机硬件的组成运算器运算器控制器控制器存储器存储器接口接口输入设备输入设备输出设备输出设备地址总线地址总线数据总线数据总线进行各种算术运算和逻辑运算进行各种算术运算和逻辑运算 控制和指挥整个运算过程,使控制和指挥整个运算过程,使指令按要求一条一条执行。指令按要求一条一条执行。存放程序指令存放程序指令及数据及数据 输入指令代码输入指令代码和原始数据和原始数据 显示或打印显示或打印计算结果计算结果 处处理理 2023/1/162023/1/168 8关于二进制问题关于二
6、进制问题n“世界上有世界上有种人,一种人懂二进制,另一种人种人,一种人懂二进制,另一种人不懂不懂”n这里的这里的是一个是一个二进制数二进制数,就是十进制的就是十进制的2 22023/1/162023/1/169 9关于二进制等进制问题关于二进制等进制问题进进制制每位每位符号符号逢几逢几进一进一位位权权n n位数的位数的不同个数不同个数例子例子(结果统一到十进制结果统一到十进制)十十090910101010i i1010n n341=3*10341=3*102 2+4*10+4*101 1+1*10+1*100 0=341=341二二01012 22 2i i2 2n n101=1*2101=1
7、*22 2+0*2+0*21 1+1*2+1*20 0=5=5八八07078 88 8i i8 8n n127=1*8127=1*82 2+2*8+2*81 1+7*8+7*80 0=87=87十十六六0909AFAF16161616i i1616n n31D=3*1631D=3*162 2+1*16+1*161 1+13*16+13*160 0=797=797另另:3:3位二进制数相当于位二进制数相当于1 1位八进制数位八进制数:101 011B=(53):101 011B=(53)8 8=53Q=53Q4 4位二进制数相当于位二进制数相当于1 1位十六进制数位十六进制数:1101 1001
8、B=(D9):1101 1001B=(D9)1616=D9H=d9H=D9H=d9H2023/1/162023/1/161010关于存储器关于存储器n存储器的组成:由存储器的组成:由存储单元存储单元组成,每个单元组成,每个单元1 1个字节个字节(1B1B),),1B=8bit1B=8bit,每个单元有一个地址。,每个单元有一个地址。n存储单元中的存储单元中的内容内容与存储单元的与存储单元的地址地址是两个概念,其是两个概念,其区别如同房间里的东西与房间号码。区别如同房间里的东西与房间号码。n存储器的大小指它有多少个字节,也就是有多少个不存储器的大小指它有多少个字节,也就是有多少个不同的地址号,取
9、决于同的地址号,取决于地址总线的根数地址总线的根数,n n根地址总线,根地址总线,存储器容量为:存储器容量为:2 2n nn常用存储单位:常用存储单位:1TB=1TB=2 21010GB=GB=2 22020MB=MB=2 23030KB=KB=2 24040B Bn存储器按功能分为存储器按功能分为3 3大区域:大区域:程序存储区、数据存储区程序存储区、数据存储区和栈和栈 存放程序中的指令 存放程序中的数据 存取数据都在一端,无需计算地址,速度快 2023/1/162023/1/161111关于关于CPUCPUnCPUCPU:Central Processor Unit,Central Pro
10、cessor Unit,中央处理器,中央处理器,完成各完成各种种处理(运算处理(运算+控制),控制),是计算机最是计算机最核心核心部件。部件。nCPUCPU中设寄存器的目的:存放数据或计算的中设寄存器的目的:存放数据或计算的中间结果中间结果,不通过地址总线和数据总线不通过地址总线和数据总线 ,处理速度快,处理速度快 。n寄存器有两种:寄存器有两种:通用寄存器通用寄存器和和专用寄存器专用寄存器。n熟悉两个专用寄存器:熟悉两个专用寄存器:(1 1)累加器累加器A A:与算术逻辑运算器与算术逻辑运算器ALUALU一起完成各种运算一起完成各种运算 (2 2)程序计数器程序计数器PCPC:寄存指令的地址
11、,:寄存指令的地址,CPUCPU通过通过PCPC取来一条取来一条指令执行时,指令执行时,PCPC便便“指向指向”下一条指令,即下一条指令,即PCPC的值变为下一的值变为下一条将要执行的指令的地址。除非遇到条将要执行的指令的地址。除非遇到转移指令转移指令或或子程序调用子程序调用指令指令,CPUCPU都是通过都是通过PCPC顺序地顺序地提取指令。提取指令。是运算器的组成部是运算器的组成部分,暂存操作数及分,暂存操作数及运算的中间结果运算的中间结果 每一个都有特定的作用每一个都有特定的作用 2023/1/162023/1/161212机器内部执行程序的过程示例机器内部执行程序的过程示例n程序程序是一
12、组是一组指令指令,指令联系着,指令联系着存储器存储器和和CPUCPU,每条指令,每条指令有有操作码操作码,有的指令有,有的指令有操作数操作数,指令存储在程序存储,指令存储在程序存储区,操作数存储在数据存储区。区,操作数存储在数据存储区。n例:求和程序例:求和程序y=3+4y=3+4所包含的指令如下:所包含的指令如下:操作码操作码 操作数操作数指令含义指令含义01H3000H将地址为将地址为3000H的单元中的数据放入累加器的单元中的数据放入累加器A 03H3001H将地址为将地址为3001H单元中的数据与累加器单元中的数据与累加器A中的中的数据相加,结果留在数据相加,结果留在A 02H3002
13、H将累加器将累加器A中的数据存入地址为中的数据存入地址为3002H的单元的单元 07H停机停机 动动态态演示演示过过程程2023/1/162023/1/161313机器语言程序设计机器语言程序设计n对计算机而言对计算机而言:它的各个硬件部分存在的意义和相互:它的各个硬件部分存在的意义和相互的联系通过指令来体现。的联系通过指令来体现。n对程序设计而言对程序设计而言:计算机就是指令系统。:计算机就是指令系统。n用机器语言进行程序设计用机器语言进行程序设计:首先要首先要熟悉熟悉计算机的计算机的指令系统指令系统,熟悉每一条指令的含义及用,熟悉每一条指令的含义及用法。法。设计算法设计算法,根据算法编写程
14、序。,根据算法编写程序。所编写的计算机程序体现为一系列指令的集合,每条指令的所编写的计算机程序体现为一系列指令的集合,每条指令的操作码和操作数都用操作码和操作数都用二进制二进制数表示。数表示。用机器语言编写的用机器语言编写的源程序源程序就是机器能识别并执行的就是机器能识别并执行的目标程序目标程序。2023/1/162023/1/161414一台模型机的指令系统一台模型机的指令系统指令名称指令名称操作码操作码|操作数操作数说明说明取数取数 01H NA(N),将地址为将地址为N的单元的数据存入累加器的单元的数据存入累加器A 存数存数02H N(N)A,将累加器将累加器A的数据存入地址为的数据存入
15、地址为N的单元的单元加法加法 03H N将地址为将地址为N的单元的数据和的单元的数据和A中的相加,结果存入中的相加,结果存入A 乘法乘法 04H N将地址为将地址为N的单元的数据和的单元的数据和A中的相乘,结果存入中的相乘,结果存入A比较比较05H NA(N)比较两个数据(相减),结果存入寄存器比较两个数据(相减),结果存入寄存器F 转移转移 06H NPCN 用地址用地址N更新程序计数器更新程序计数器PC的值的值 停机停机 07H停机停机子程序调子程序调用用 08H N断口地址进栈,用地址断口地址进栈,用地址N更新程序计数器更新程序计数器PC的值的值 返回主程返回主程序序 09H断口地址出栈
16、,用来更新程序计数器断口地址出栈,用来更新程序计数器PC的值的值 压栈压栈 0aH T寄存器寄存器T中的数据进栈保存(中的数据进栈保存(T表示任意寄存器表示任意寄存器)出栈出栈 0bH N出栈,出栈数据进入寄存器出栈,出栈数据进入寄存器T 2023/1/162023/1/161515编程计算:编程计算:y=ax2+bx+c 步骤步骤方法一方法一方法二方法二(y=x(ax+b)+cy=x(ax+b)+c)1取数取数a 取数取数a2计算计算a*x 计算计算a*x3 计算计算a*x*x 计算计算a*x+b4 计算计算b*x计算计算x*(a*x+b)5计算计算a*x*xb*x 计算计算x*(a*x+b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课件
限制150内