程序设计1(基础知识).ppt
《程序设计1(基础知识).ppt》由会员分享,可在线阅读,更多相关《程序设计1(基础知识).ppt(112页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机程序设计理论计算机程序设计理论吴文涛:丁彬勇:汪季英:曹思彤:课程章节一、计算机及程序设计基础二、C程序结构和设计方法三、数据类型、运算符和表达式四、程序的控制结构与基本算法五、数组六、函数七、预处理八、指针九、结构体与共用体十、位运算十一、流与文件操作十二、面向对象程序设计语言C+简介教材与参考书C语言程序设计计算机程序设计学习指导与练习The C Programming Language(K&R)第一章第一章计算机及程序设计基础知识1.1 计算机的发展史1.2 计算机系统的组成及工作原理1.3 微型计算机的系统结构 1.4 信息的表示及存储形式1.5 计算机程序及算法本章主要内容Ke
2、y Questions1.1 计算机发展史在电子计算机之前,人类用于计算的辅助工具有:算盘,手摇计算机(机械式,主要由机械齿轮组成),大型微分分析仪等。最早研制电子计算机,是为了解决科技进步特别是军事应用方面运算量越来越大的问题。世界上第一台电子计算机诞生于1946年2月的世界上第一台电子计算机,是为美国陆军计算枪炮火力表而研制。每张火力表需要计算数百条弹道,一条飞行时间为60秒的弹道,手摇计算机20小时,大型微分分析仪15分钟。军方要求每天计算机6张火力表。ENIAC(埃尼亚克)这台名为这台名为 ENIAC ENIAC(电子数字积分计电子数字积分计算机的缩写)的机算机的缩写)的机器,使用器,
3、使用1880018800个个电子管,电子管,15001500多多个继电器,耗电个继电器,耗电150150千瓦,占地千瓦,占地170170平方米,重达平方米,重达3030吨,可谓吨,可谓“庞然庞然大物大物”也。也。电子计算机时代的到来ENIAC由美国宾夕法尼亚州立大学莫尔学院设计研制,价值40多万美元,运算速度5000次/秒。今天看来,其运算速度低得可怜,而在当时,计算一条弹道时间缩短为30秒。它运算两小时,相当于一个物理学家100年的手工计算,不能不说是一个划时代的事件表明了电子计算机时代的到来。计算机史从1946年到今天,计算机技术已经经历了四次革命性的变化(四代),一代比一代体积缩小,功能
4、增强,价格下降。第一代(1946-1958)电子技术,核心元件电子管,几千次/秒,用于军事与科学研究。第二代(1959-1963)半导体技术,核心元件晶体管,几十万次/秒,用于科学计算、数据和事务处理。1954年,美国贝尔实验室研制成功第一台使用晶体管线路的计算机,取名“催迪克”(TRADIC),装有800个晶体管。第三代(1964-1970)固体物理技术,核心元件中小规模集成电路,在几平方毫米单晶硅片上集成十几个至上百个电子元件;几十万至几百万次/秒;用于各个科学领域。体积变小,功耗更低体积变小,功耗更低价格降低价格降低运算速度提高运算速度提高应用领域进一步扩大应用领域进一步扩大第四代(19
5、71至今)核心元件大规模和超大规模集成电路(如“奔腾4处理器”包含4200万个晶体管);上千万次至上亿次/秒;进入现代社会各个领域。超大规模集成电路应用的直接结果是微型计算机的诞生。今天之计算机迄今为止的四代计算机都是按美籍匈牙利数学家冯诺依曼提出的工作原理设计制造的,所以也称为“冯诺依曼型计算机”。随着技术的发展,今天的计算机已不再是一种单纯的计算工具。今天的计算机,除了高速运算(数十亿次/秒),还有逻辑处理功能,是一种具有强大信息处理能力的“智能化机器”。换言之,计算机应用已从单纯的数值计算转入信息处理领域。正因为如此,才使计算机走出科研院所的“象牙之塔”,进入现代社会的各个领域。今天的电
6、子计算机,不仅会高速进行各种各样的科学计算,而且象人脑一样,会“判断”,会“思考”,会迅速果断地处理各种问题。所以,越来越多的人开始把计算机叫做“电脑”。计算机发展史上的重要人物查尔斯巴比奇(CharlesBabbage)。这一位十九世纪的英国数学家,发明了世界上第一台机械计算机器差分机。在19世纪20、30年代,巴比奇就设计了差分机和分析机,他把机器设计成三个部分,一是用来储存数据信息的“仓库(TheStore)”,二是进行数据运算处理的“工场(Themill)”。而巴比奇一生的后四十年都致力于发展一部“会分析的机器”,这位高速数字电脑之父希望这部机器只要输入资料后就可不须人类直接指示,进行
7、各种数学运算。那台怎么也算不上美观的机械,却和现代电脑一样,拥有记忆体、运算部门、控制中心和输出输入中心这四部分,可谓历史性的创造。计算机发展史上的重要人物英国数学家图灵(Turing):创建了自动机理论,发展了可计算机性理论,奠定了人工智能的基础。美籍匈牙利数学家冯.诺依曼(Von Neumann):确立了现代计算机的基本结构,即冯.诺依曼体系结构。其要点是计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成数据和指令(程序)以二进制代码形式不加区别地在执行前存放在存储器中存储程序和数据的概念计算机科学之父:阿伦图灵Alan Mathison Turing,19121954,英国数
8、学家右图:图灵纪念馆阿兰麦席森图灵,1912年生于英国伦敦,1954年死于英国的曼彻斯特,他是计算机逻辑的奠基者,许多人工智能的重要方法也源自于这位伟大的科学家。他对计算机的重要贡献在于他提出的有限状态自动机也就是图灵机的概念,对于人工智能,它提出了重要的衡量标准“图灵测试”,如果有机器能够通过图灵测试,那他就是一个完全意义上的智能机,和人没有区别了。图灵奖:计算机界的诺贝尔奖ACM是美国计算机学会的缩写。最初这是美国的一个学术性组织,现在是美国乃至全世界最重要、影响最大的一个计算机学术团体。1966年,ACM创建图灵奖,有计算机界的诺贝尔奖之称。这个奖以英国数学家图灵命名,图灵在计算机出现之
9、前就提出了计算机的模型,设想了它由哪些部件组成,以何种方式和顺序工作,被称为图灵机,奠定了计算机科学理论的基础。但图灵的结局是个悲剧,他在42岁正当年富力强,创造力最旺盛的时候用自杀结束了自己的生命,令世人惋惜,用他的名字命名这个奖项就是为了纪念这位伟人。计算机之父冯诺依曼著名美籍匈牙利数学家。1903年12月3日生于匈牙利布达佩斯的一个犹太人家庭。冯诺伊曼自童年起在吸收知识和解题方面就具有惊人的速度。六岁时他能心算做八位数乘除法,八岁时掌握微积分,十二岁就读懂领会了波莱尔的大作函数论要义。一生掌握了七种语言。冯诺依曼对人类的最大贡献是对计算机科学、计算机技术和数值分析的开拓性工作。ENIAC
10、机证明电子真空技术可以大大地提高计算技术,不过,ENIAC机本身存在两大缺点:(1)没有存储器;(2)它用布线接板进行控制,甚至要搭接见天,计算速度也就被这一工作抵消了。冯诺依曼由ENIAC机研制组的戈尔德斯廷中尉介绍参加ENIAC机研制小组后,便带领这批富有创新精神的年轻科技人员,向着更高的目标进军。1945年,他们在共同讨论的基础上,发表了一个全新的“存储程序通用电子计算机方案”(EDVAC)。EDVAC方案明确奠定了新机器由五个部分组成,包括:运算器、逻辑控制装置、存储器、输入和输出设备,并描述了这五部分的职能和相互关系。EDVAC机还有两个非常重大的改进,即:采用了二进制,不但数据采用
11、二进制,指令也采用二进制;建立了存储程序,指令和数据便可一起放在存储器里,并作同样处理。这些改进简化了计算机的结构,大大提高了计算机的速度。1946年7,8月间,冯诺依曼和戈尔德斯廷、勃克斯在EDVAC方案的基础上,为普林斯顿大学高级研究所研制IAS计算机时,又提出了一个更加完善的设计报告电子计算机逻辑设计初探。以上两份既有理论又有具体设计的文件,首次在全世界掀起了一股“计算机热”,它们的综合设计思想,便是著名的“冯诺依曼机”,其中心思想就是存储程序原则:指令和数据一起存储。这个概念被誉为”计算机发展史上的一个里程碑。它标志着电子计算机时代的真正开始,指导着以后的计算机设计。1.2计算机系统的
12、组成和工作原理计算机系统的组成和工作原理计算机系统由计算机系统由硬件系统硬件系统和和软件系统软件系统组成组成一一.计算机的硬件系统及工作原理计算机的硬件系统及工作原理、硬件系统的基本组成、硬件系统的基本组成:1)硬硬件件:计算机系统中由电子、机械和光电元件等组成的各种计算机部件和计算机设备。裸机:裸机:未配置任何软件的计算机。2)硬件基本组成硬件基本组成:(1)运算器运算器(ALU)(2)控制器控制器(指挥中心)指挥中心)(3)存储器(主存和辅存)存储器(主存和辅存)(4)输入设备输入设备:键盘键盘,鼠标鼠标,数字化仪数字化仪,扫描仪等扫描仪等.(5)输出设备输出设备:打印机打印机,绘图仪绘图
13、仪,显示器等显示器等.说明说明:衡量存储器容量的单位是字节(B),千字节(KB)、兆字节(MB)、吉字节(GB)、TBCPU主机主机外设外设运算器 功能:算术运算和逻辑运算控制器 功能:使计算机能自动地执行程序,并使各部分协调工作存储器 功能:用于保存程序和数据 主存储器(内部存储器)存放当前所执行程序的指令和数据 辅助存储器(外部存储器)存放暂不参加运算的程序的指令和数据输入设备 用于程序和数据输入(标准设备:键盘)输出设备 用于程序和数据输出(标准设备:显示器)、其他有关概念:、其他有关概念:)中央处理器()中央处理器(CPUCPU):包括运算器和控制器两大部分,):包括运算器和控制器两大
14、部分,CPUCPU是计算机硬件的核心。是计算机硬件的核心。)主机:在硬件系统中,内存、)主机:在硬件系统中,内存、CPUCPU和连接输入输出设和连接输入输出设备的接口统称为主机。备的接口统称为主机。)外部设备:也称为外设,输入设备和输出设备都是)外部设备:也称为外设,输入设备和输出设备都是计算机的外部设备。计算机的外部设备。、基本工作原理、基本工作原理冯冯诺依曼的诺依曼的“埃得伐克埃得伐克”理论:二进制、存储程序工理论:二进制、存储程序工作原理、五大构成部件。作原理、五大构成部件。(1)二进制二进制:以二元逻辑为基础以二元逻辑为基础,用用0和和1二进制码组成各二进制码组成各种信息进行运算。种信
15、息进行运算。(2)“存储程序存储程序”工作原理工作原理:在计算机中设置存储器在计算机中设置存储器,将二将二进制编码表示的计算步骤与数据存放在存储器中进制编码表示的计算步骤与数据存放在存储器中,机机器一启动就能按照程序指定的逻辑顺序依次取出存器一启动就能按照程序指定的逻辑顺序依次取出存储内容进行译码和处理储内容进行译码和处理,自动完成由程序所描述的处自动完成由程序所描述的处理工作。它被誉为计算机史上的里程碑理工作。它被誉为计算机史上的里程碑。计算机工作原理示意图计算机工作原理示意图运算结果运算结果输入设备输入设备主存储主存储器器辅助存储器辅助存储器输出设备输出设备运算器运算器控制器控制器输输入入
16、输出输出程序程序原始数原始数据据指令数据线指令数据线控制信号线控制信号线常用术语常用术语在计算机五大部分中,运算器和控制器是最核心的部分,通常做在一个器件上,称作CPU。【术语术语】CPU=控制器控制器+运算器运算器(+寄存器组)寄存器组)只有主存(内存)可直接与CPU交换信息,它与CPU组合可实现计算机的基本功能。【术语术语】主机主机=CPU+主存储器主存储器输入/输出(Input/Output)设备和外存合称“外围设备”。【术语术语】外设外设=I/O+辅助存储器辅助存储器运算器运算器输入设备输入设备主存储器主存储器辅助存储器辅助存储器输出设备输出设备控制器控制器输入输入输出输出程序程序原始
17、数据原始数据运算结果运算结果冯冯诺依曼型计算机诺依曼型计算机上述计算机的基本结构是由美藉匈牙利科学家冯 诺依曼于1946年提出的。迄今为止所有进入实用的电子计算机都是按冯 诺依曼的提出的结构体系和工作原理设计制造的,故又统称为“冯诺依曼型计算机”。新一代计算机将努力突破冯氏的结构体系和工作原理,将是“非冯诺依曼型计算机”。冯诺依曼型计算机的两大特征 程序存储(计算机自动连续工作的基础)采用二进制(机内一切信息均需为二进制编码形式存在)冯诺依曼型计算机的工作原理 存储程序(将欲执行的任务事先编成程序存入主存中)程序控制(执行时由CPU调用主存中的程序进行运算)指令和指令系统一台计算机所能执行的各
18、种不同类型指令的总和。即一台计算机所能执行的全部操作。不同计算机的指令系统包含的指令种类和数目也不同。指令系统的组成:操作码和操作数一般均包含算术运算型、逻辑运算型、数据传送型、判定和控制型、输入和输出型等指令。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。完备性:指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。有效性:是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。规整性:包括指令系统
19、的对称性、匀齐性、指令格式和数据格式的一致性。兼容性:至少要能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。说明说明:(1)操作系统:大致包括五大管理功能:处理器管理、存储管理、设备管理、文件管理和作业管理。分类:P2、DOS、WINDOWS、UNIX()计算机语言:)机器语言:计算机能直接识别和执行的语言;面向机器)汇编语言:是符号化的机器语言;面向机器;汇编)高级语言:面向过程,面向对象(解释、编译)()应用软件:为某一应用目的而用系统软件编制的软件。包括应用程序、函数库、子程序库。常见的有字处理软件、电子表格软件、多媒体制作软件二、软件系统的分类及组成二、软件系统的分类及组成
20、计算机软件:计算机软件:计算机运行时所需的程序、数据和有关文档。计算机运行时所需的程序、数据和有关文档。系统软件系统软件应用软件应用软件操作系统操作系统语言处理程序语言处理程序诊断程序诊断程序维护程序维护程序数据库管理系统数据库管理系统软件系统软件系统两类软件软件通常可以分为两类:System Software(系统软件)Application Software(应用软件)应用软件:我用的系统软件:它用的你可以认为应用软件是 你用的,而系统软件是 计算机用的。System Software:The Computers Boss功能 用于使计算机能够管理其本身的内部资源,控制硬件的运行,执行各种
21、基本操作,如使CPU与键盘、显示器、打印机和磁盘驱动器通信等。系统软件不用于解决各种业务性或专业性的具体问题。最重要的一种系统软件是“操作系统”。目前个人计算机最常用的系统软件即美国Microsoft(微软)公司的Windows(视窗)系列操作系统。Application Software:Your Servant功能 用于提高计算机用户的工作效率和创造力。目前个人计算机最常用的应用软件是美国Microsoft(微软)公司的Office系列办公软件和Internet Explorer Browser (IE浏览器)。前者用于编写文档、处理电子表格、制作网页和多媒体演示软件等,后者用于在因特网上
22、“上网冲浪”访问远程网站、下载软件、收发电子邮件、网上交友机器语言(指令系统)机器语言(指令系统)其指令为二进制代码其指令为二进制代码(0、1),如用,如用00110011表示相加。表示相加。用机器语言编写的程序计算机可直接识别,执行速度最快,但可用机器语言编写的程序计算机可直接识别,执行速度最快,但可读性、可移植性差读性、可移植性差汇编语言汇编语言用用“助记符助记符”代替二进制代码,如用代替二进制代码,如用ADDA,B表示两数相加。表示两数相加。其程序必须通过翻译程序(汇编程序)翻译成二进制代码后才能其程序必须通过翻译程序(汇编程序)翻译成二进制代码后才能执行。执行。机器语言和汇编语言都是机
23、器语言和汇编语言都是“面向机器面向机器”的低级语言。的低级语言。程序设计语言程序设计语言高级语言(面向过程)高级语言(面向过程)用英文单词和代数表达式编写程序,最接近人类的自用英文单词和代数表达式编写程序,最接近人类的自然语言(英语)。然语言(英语)。如用如用LETC=A+B表示两数相加。表示两数相加。用高级语言编写的程序称为用高级语言编写的程序称为“源程序源程序”。源程序必须经过翻译程序翻译后计算机才能处理。源程序必须经过翻译程序翻译后计算机才能处理。高级语言的翻译程序有两种:高级语言的翻译程序有两种:解释程序:翻译一句,计算机执行一句。解释程序:翻译一句,计算机执行一句。(相当(相当于于“
24、口译口译”)编译程序:将源程序整个翻译成目标程序,再通编译程序:将源程序整个翻译成目标程序,再通过过“链接程序链接程序”生成生成“可执行程序可执行程序”,然后交计算机执行。,然后交计算机执行。(相当于(相当于“笔译笔译”)程序设计语言小结:程序设计语言小结:低级语言(面向机器语言)低级语言(面向机器语言)机器语言机器语言其程序无需翻译即可被识别,其程序无需翻译即可被识别,执行速度最快执行速度最快汇编语言汇编语言其程序需通过翻译程序(汇编其程序需通过翻译程序(汇编程序)处理程序)处理常见高级语言种类:常见高级语言种类:常见高级语言种类:常见高级语言种类:BASIC语言语言简单易学简单易学C语言语
25、言编程通用编程通用Fortran语言语言科学计算科学计算Pascal语言语言程序设计教学程序设计教学【术语术语】指令指令=操作码操作码+操作数(地址码)操作数(地址码)(操作码不可缺少操作码不可缺少)高级语言(面向过程语言)高级语言(面向过程语言)其程序需通过翻译程序(解释程序其程序需通过翻译程序(解释程序/编译程序)编译程序)处理处理名词:名词:【源程序源程序】用汇编语言或高级语言编写的程序用汇编语言或高级语言编写的程序(需经(需经“翻翻译译”处理)处理)【翻译程序翻译程序】将源程序译成目标程序或可执行指令的将源程序译成目标程序或可执行指令的程序程序【目标程序目标程序】经翻译程序翻译生成的程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础知识
限制150内