大学C语言第一章课件.ppt_第1页
大学C语言第一章课件.ppt_第2页
大学C语言第一章课件.ppt_第3页
大学C语言第一章课件.ppt_第4页
大学C语言第一章课件.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,级,高,语,言,设,计,程,序,1,章节自测及在线编程练习:,2020/9/4,2,2020/9/4,3,内容提要,内容提要,2020/9/4,软件系统,软件系统,硬件系统,计算机,4,1.计算机的前世今生,2020/9/4,5,冯诺依曼的程序存储思想,“计算机之父”冯诺依曼的程序存储思想: 计算机应该采用二进制 操作指令也是一种信息 ,也用二进制数表示 程序和数据的存储形式可以完全相同 程序本身也可包含数据,2020/9/4,6,关于第一台计算机,1946.2.14 ENIAC(埃尼阿克) 现在保存在宾夕法尼亚大学 这台机器名为“电子数值积分和计算机”(简称埃尼阿克,完全是一个庞然大物,占

2、地面积达170m2,质量达30t,耗电量也很惊人,功率为150kW,共使用了近两万个电子管,在工作时这些管子看上去活像两万只点着的灯泡。 埃尼阿克主要用来进行弹道计算的数值分析,2020/9/4,7,其他版本的第一台计算机,图灵机:计算机科学之父、人工智能之父, “图灵奖” 德国人Conran Euse代号为“Z”的计算机 哈佛,IBM的Mark系列大型电子计算机 真正的第一台计算机是上面三台中之一,无从考证,2020/9/4,2020/9/4,8,计算机组成,计算机的组成: 硬件系统+软件系统 计算机的作用:用来处理存储的数据,处理和存储是一个整体.,comput + er 计算的机器 计算

3、机是一种具有记忆能力,能自动执行指定的任务并能高速执行运算功能的电子设备。,2020/9/4,9,控制总线,CPU,计算机硬件的组成,运算器,控制器,存储器,接口,输入设备,输出设备,地址总线,数据总线,进行各种算术运算和逻辑运算,控制和指挥整个运算过程,使指令按要求一条一条执行。,存放程序指令及数据,输入指令代码和原始数据,显示或打印计算结果,处理,10,关于CPU,CPU:Central Processor Unit,中央处理器,完成各种处理(运算+控制),是计算机最核心部件。 CPU中设寄存器的目的:存放数据或计算的中间结果,不通过地址总线和数据总线 ,处理速度快 。 寄存器有两种:通用

4、寄存器和专用寄存器。,是运算器的组成部分,暂存操作数及运算的中间结果,每一个都有特定的作用,2020/9/4,11,关于存储器,存储器的组成:由存储单元组成,每个单元1个字节(1B),1B=8bit,每个单元有一个地址。 存储单元中的内容与存储单元的地址是两个概念,其区别如同房间里的东西与房间号码。 存储器的大小指它有多少个字节,也就是有多少个不同的地址号,取决于地址总线的根数,n根地址总线,存储器容量为:2n 常用存储单位:1TB=210GB=220MB=230KB=240B,2020/9/4,位与字节,一个位有多大? 只能是1位“0”或者“1”,换言之,可以表示两个数。 一个字节有多大?

5、8个bit,可以表示2*2*2*2*2*2*2*2 = 28 = 256个数 计算机常用一个字节来表示字符,即8位bit对应一个字符,一个字节共能表示256个不同字符,2020/9/4,12,bit,称为比特或者位。1比特可以存放一位二进制的0或者1 Byte,字节。 1 B = 8 b Kilobyte(KB)。 1 KB = 1,024 B Megabyte(MB)。 1 MB = 1,024 KB Gigabyte(GB)。 1 GB = 1,024 MB Terabyte(TB)。 1 TB = 1,024 GB,存储容量的衡量单位,2020/9/4,13,2.进制,我们使用得最多的是

6、十进制。 日常生活中的其它进制: 六十进制(分、秒),十二进制(月份)等。 计算机中采用二进制。,2020/9/4,14,计算机为什么使用二进制?,为什么不使用十进制? 二进制在电器元件中容易实现 二进制运算比十进制运算简单 计算机中采用二进制,是由冯诺伊曼提出的。,2020/9/4,15,二进制,二进制采用0、1两个符号来表示所有的数,其特点是“逢2进1”。 0、1、10、11 二进制中的“二”称为“基数”。表示该数制中允许使用的基本符号个数。,2020/9/4,16,二进制,“世界上有10种人,一种人懂二进制,另一种人不懂。” 问题:在书写二进制数时,有可能与习惯用的十进制数发生混淆。 解

7、决办法:用后缀“B”(Binary)或者下标“2”注明。 (1101)10:十进制数1101。 (1101)2 1101B :二进制数1101。,2020/9/4,17,二进制数的算术运算基本规则,1.二进制数的加法运算,2.二进制数的减法运算,加法运算法则 0+0=0 1+0=1 0+1=1 01+01=10,减法运算法则 0-0=0 1-1=0 1-0=1 10-01=01,2020/9/4,18,二进制转换为十进制,(1101)2 = 123+122+021+120 = 13 (101.11)2 = 122+021+120+12-1+12-2 = 5.75,2020/9/4,19,进制数

8、的展开 (1101)10=1103+1102+0101+1100 (1101)2=123+122+021+120 如果出现了小数? (101.11)10 = 1102+0101+1100+110-1+110-2 (101.11)2 = 122+021+120+12-1+12-2,十进制整数转换为二进制,除二求余法(“逐次除以2,倒着排余数”) 例:将十进制数68转化为二进制数 解: 2 68 余 数 2 34 0 低位 2 17 0 2 8 1 2 4 0 2 2 0 2 1 0 0 1 高位 所以 681010001002,2020/9/4,21,8进制 16进制,2020/9/4,3.由低

9、级语言到高级语言,程序是用计算机“理解”的语言所编写的一组命令,让计算机来完成某个任务。,2020/9/4,22,机器语言,计算机能直接理解的语言 机器语言(Machine Language) 由一系列二进制0和1组成,10111000 00000001 00000000 00000101 00000001 00000000,所编写的计算机程序体现为一系列指令的集合,每条指令的操作码和操作数都用二进制数表示。 用机器语言编写的源程序就是机器能识别并执行的目标程序,2020/9/4,23,机器语言,很久以前,那还是我用win98的时候有次我系统崩溃了,因为我是电脑白痴,我朋友给我介绍了一个高手来

10、帮我修电脑。 他看了一下电脑,问我有没有98的盘,我说没有。 他想了一下,叫我把固定电话拿给他,我想修电脑要电话干什么,但人家是高手,我也不好说什么,就把电话拔下来给他了。 他把电话线空着的一头接在电脑的一个插孔内,然后进入了dos,然后就开始在电话上不停的按着键,他按键的速度非常快,但是只按0,1两个键,我搞不懂这有什么用,但也不敢问,看了半个多小时,他还是不停的按这两个键,我渐渐的有些困,我问他这东西要搞多久,他说要几个小时,我给他倒了杯茶,就一个人去隔壁睡觉了。 醒来的时候,一看已经过了4个多小时,我起身到隔壁,看见他正在98里面调试,过了一会儿,他说,你试试,我坐上椅子用了一下,真的好

11、了,我当时也不懂电脑,谢过人家就走了。 后来我慢慢对电脑有了了解,终于了解,原来当时那位高手是用机器语言编了一个98系统,我后来问我朋友那位高手的下落,我朋友说前几年去了美国之后,杳无音讯.,2020/9/4,24,汇编语言与高级语言,汇编语言:比机器语言“高级”一些的语言,引入一些助记符来表示代码和数据。 MOV AX , 1 ADD AX , 1 高级语言:比汇编语言“高级”一些的语言。如Basic、Fortran、C、C+、Java等。,2020/9/4,25,C程序设计语言,硬件(Hardware),操作系统(OS),应用程序(Application),低级语言的地盘,高级语言的地盘,

12、C语言的地盘,2020/9/4,26,计算机如何读懂高级语言?,编译器(Compiler) 作用:把源代码转换为计算机能读懂的机器代码。 本身也是一个程序。 机器代码以可执行文件的形式保存。 不同的语言编译器不同 同一种语言可以有多种编译器,2020/9/4,27,一次转换的过程,程序员用高级语言编写源程序 编译器把高级语言源程序变成目标程序(可执行程序) 用户在计算机上执行目标程序,C语言源程序,可执行程序,编译器,2020/9/4,28,29,由低级语言到高级语言,机器语言:是第一代程序设计语言,是计算机硬件系统能识别和执行的唯一语言。 机器语言的3个局限性: (1)程序不容易读写,操作码

13、和操作数都是二进制数 (2)对计算机硬件的依赖性很强,可移植性差 (3)指令功能简单,没有按照数据类型分类,改进:用助记符代替机器的数字指令,用符号地址表示存储 单元的数字地址汇编语言(第二代程序设计语言),改进:面向问题而非面向机器,与计算机硬件结构无关,改进:提供丰富的数据类型,语句一般都采用自然语汇, 一条语句往往相当于多条指令。,2020/9/4,30,由低级语言到高级语言,第一种高级程序设计语言:Fortran语言(1954年) 第一种结构化程序设计语言:Pascal语言(1970年) 面向问题而不是面向机器 通用性、可移植性、效率提高 高级语言的发展: (1)从早期语言到结构化程序

14、设计语言 (2)从面向过程到非过程化程序设计语言(面向对象) (3)发展趋势:面向应用,2020/9/4,2009.8 朱立华 俞琼 王立柱,31,由低级语言到高级语言,区分两组概念: (1)程序设计语言与程序(类似于汉语与文章的关系) (2)源程序与目标程序: 源程序:程序员编写的程序 目标程序:计算机最终能识别并运行的程序(二进制),源 程 序,目 标 程 序,用机器语言编写,用汇编语言编写,汇 编 程 序,用高级语言编写,编 译 程 序,汇编,编译,32,4.C is the most beautiful language!,C 语言最早的原型是 ALGOL 60 1973 年,AT&T

15、 贝尔实验室的 Dennis Ritchie (D.M.RITCHIE,被尊为“C语言之父”) 在 BCPL 和 B 语言的基础上设计出了一种新的语言C语言,开发UNIX操作系统及其上的应用程序。 1999 年,ANSI 和 ISO 通过了最新版本的 C 语言标准C99,这是关于 C 语言的最新、最权威的定义。 选择学习C语言的理由:C语言不仅是面向过程的程序设计语言中功能最强、效率最高的语言,更是面向对象程序设计语言C+、Java和C#的基础。,2020/9/4,33,C is the most beautiful language!,C语言具有很多优点: 简洁紧凑、灵活方便 运算符丰富(3

16、4个) 数据类型丰富 C是结构式语言,程序层次清晰 C语法限制不太严格,语法比较灵活。 C语言允许直接访问物理地址,可直接对硬件进行操作 ,既可以开发系统软件,又可以开发应用软件(中级语言) C语言程序生成代码质量高,程序执行效率高 C语言适用范围大,可移植性好,适合多种操作系统,多种机型,2020/9/4,5.程序开发步骤,扩展名为.exe的可执行文件,扩展名为.c的文件,扩展名为.obj的文件,2020/9/4,34,35,在VC+6.0下开发程序的过程,C程序的开发在特定的集成开发环境下进行 本教材中所有的程序在VC+6.0下通过,并且课程配套实验也要求在VC+6.0下 VC+6.0集成环境中提供了编辑器、编译器、链接器、调试器等多种工具,使得程序员从源程序的编辑到最后的运行均可在集成环境中完成,2020/9/4,答疑安排 时间:每周二中午 12:00-13:30 地点:行政楼北楼508 每节课下亦可,return,2012.10,36,37,本章小结,重点掌握:冯诺依曼体系结构的计算机 程序存储思想的主要内容 五大部件:运算器、控制器、存储器、输入设备、输出设备 重点掌握:二进制 重点掌握:程序设计语言与程序、源程序与目标程序的关系 程序设计语言是编写程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论