配色: 字号:
0-预备知识.ppt
2019-03-24 | 阅:  转:  |  分享 
  
华南理工大学计算机学院周霭如2006华南理工大学计算机学院周霭如2004C++程序设计基础使用教材:《C++程序设计基础》电
子工业出版社周霭如林伟健编著预备知识华南理工大学计算机学院周霭如第1章基本数据与表达式
第2章程序控制结构第3章函数第4章数组第5章类与对象第6章运算符重载
第7章继承第8章虚函数与多态性第9章模板第10章输入/输出流C++程序设计
基础结束语预备知识第一台电子计算机(ENIAC,ElectronicNumericalIntegrato
rAndCalculator)5000次加法/秒重量28吨占地170m218800只电子管1500个继电器功率1
50KW第一代(1946~1956)电子管5千~4万(次/秒)第二代(1957~1964)晶体管几十万~百万(次/
秒)第三代(1965~1970)集成电路百万~几百万(次/秒)第四代(1971~90年代)集成电路几百万~几亿(次
/秒)计算机发展的几个阶段新一代的计算机把信息采集、存储处理、通信和人工智能结合在一起的计算机系统。计算机硬件基本组成
数据流地址控制流(外)存储器(内)存储器中央处理器(CPU)控制器输入设备输出设备运算器微机硬件的基
本配置主机箱显示器软盘驱动器光盘驱动器键盘鼠标打印机计算机硬件基本组成计算机硬件基本组成计算机系统的组成
硬件系统软件系统主机外部设备系统软件应用软件中央处理器内存储器输入设备输出设备外存储器操作系统语言处理系
统系统服务程序数据库管理系统文字处理软件表格处理软件辅助设计软件实时控制软件运算器控制器只读存储器随机存储器
计算机硬件基本组成十进制 R=10,数字集0,1,2,3,4,5,6,7,8,9二进制
R=2,数字集0,1八进制 R=8,数字集0,1,2,3,4,5,6,
7十六进制R=16,数字集0,…,9,A,B,C,D,E,F逢R进一,借一当R进制的概念
二进制概念128瓦32瓦64瓦16瓦8瓦4瓦1瓦2瓦11111000信息复制的精确性运算规
则简单电子线路制造计算机成为可能程序和指令指令是对计算机进行程序控制的最小单位。所有的指令的集合称为计算机的指令系统。程
序是为完成一项特定任务而用某种语言编写的一组指令序列。机器指令格式操作码操作数机器执行什么操作执行对象(具体数、存放位置
)信息的存储单位位(Bit):度量数据的最小单位字节(Byte):最常用的基本单位K字节 1K=1024by
teM(兆)字节 1M=1024KG(吉)字节 1G=1024MT(太)字节 1T
=1024Gb7b6b5b4b3b2b1b0
10010101=27+24+22+20=1
49计算机语言介绍自然语言人与人之间用来表达意思,交流思想的工具。是由语音、词汇和语法构成的一定系统。程序设计语
言人指挥计算机工作的工具。是由字、词和语法规则构成的指令系统。程序设计语言分类机器语言:面向机器的指令系统汇编语
言:以类英语缩写来编程序高级语言:不面向机器,用接近人类语言的描述方式构成的指令系统翻译程序汇编程序:把汇编源程序转换为机
器语言的程序编译器:把高级语言程序转换为机器语言或汇编语言的翻译程序计算机可以看作一个语言系统工具高级语言低级语言线路
语言人可以使用不同层次的语言与计算机交互程序设计语言分类工具高级语言低级语言线路语言计算机可以看作一个语言系统
人可以使用不同层次的语言与计算机交互程序设计语言分类工具高级语言低级语言线路语言计算机可以看作一个语言系统人可以使
用不同层次的语言与计算机交互程序设计语言分类工具高级语言低级语言线路语言计算机可以看作一个语言系统人可以使用不同层
次的语言与计算机交互程序设计语言分类指令比较汇编语言描述moveax,DWORDPTRa_$[ebp]le
aeax,DWORDPTRa_$[eax+eax2]movecx,DWORDPTRb_$[e
bp]addecx,ecxsubeax,ecxinceaxmovDWORDPTRa_$[ebp],
eax以下指令实现把表达式3a-2b+1的计算结果放到变量a中:C++描述a=3
a-2b+1;机器语言描述8b45fc8d04408d4df803c9
2bc1408945fcC++程序的开发过程编译错开始编译连接错连接运行运行错结束编辑
源程序是是是否否否编写程序的要求正确性可读性高效率用简洁明了的方式编写程序计算机和编译器是很好的教员
阅读所用的语言版本手册用标准类库本课程根据高级语言程序设计的基本体系,学习结构化程序设计和面向对象程序设计的基本概念和
方法,内容包括C++语言的基本语法;程序流程控制;数据的表示和应用;两种程序模块——函数和类;C++面向对象的重要特征,包括类、继
承、多态和虚函数等。课程内容提要ENIAC的由来世界上第一台数字式电子计算机是由美国宾夕法尼亚大学的物
理学家约翰·莫克利(JohnMauchly)和工程师普雷斯伯·埃克特(J–PresperEckert)领导研制的取名为EN
IAC(ElectronicNumericalIntegratorAndCalculator)的计算机。
1942年在宾夕法尼亚大学任教的莫克利提出了用电子管组成计算机的设想,这一方案得到了美国陆军弹道研究所高尔斯特丹(Goldstin
e)的关注。当时正值第二次世界大战之际,新武器研制中的弹道问题涉及许多复杂的计算,单靠手工计算已远远满足不了要求,急需自动计算的机
器。于是在美国陆军部的资助下,1943年开始了ENIAC的研制,并于1946年完成。当时它的功能确实出类拔萃,例如它可以在一秒钟内
进行5000次加法运算,3毫秒便可进行一次乘法运算,与手工计算相比速度要大大加快,60秒钟射程的弹道计算时间由原来的20分钟缩短到
30秒。但它也明显存在着缺点。它体积庞大,机器中约有18800只电子管,1500个继电器,70000只电阻及其他各类电气元件,运行
时耗电量很大。另外,它的存储容量很小,只能存20个字长为10位的十进位数,而且是用线路连接的方法来编排程序,因此每次解题都要靠人工
改接连线,准备时间大大超过实际计算时间。尽管如此,ENIAC的研制成功还是为以后计算机科学的发展提供了契机,而每
克服它的一个缺点,都对计算机的发展带来很大影响,其中影响最大的要算是“程序存储”方式的采用。将程序存储方式的设想确立为体系的是美国
数学家冯·诺依曼(VonNeumann),其思想是:计算机中设置存储器,将符号化的计算步骤存放在存储器中,然后依次取出存储的内容
进行译码,并按照译码结果进行计算,从而实现计算机工作的自动化。ENIAC的由来世界上第一台数字式电子计算机
是由美国宾夕法尼亚大学的物理学家约翰·莫克利(JohnMauchly)和工程师普雷斯伯·埃克特(J–PresperEcke
rt)领导研制的取名为ENIAC(ElectronicNumericalIntegratorAndCalculator)的
计算机。1942年在宾夕法尼亚大学任教的莫克利提出了用电子管组成计算机的设想,这一方案得到了美国陆军弹道研究所高
尔斯特丹(Goldstine)的关注。当时正值第二次世界大战之际,新武器研制中的弹道问题涉及许多复杂的计算,单靠手工计算已远远满足
不了要求,急需自动计算的机器。于是在美国陆军部的资助下,1943年开始了ENIAC的研制,并于1946年完成。当时它的功能确实出类
拔萃,例如它可以在一秒钟内进行5000次加法运算,3毫秒便可进行一次乘法运算,与手工计算相比速度要大大加快,60秒钟射程的弹道计算
时间由原来的20分钟缩短到30秒。但它也明显存在着缺点。它体积庞大,机器中约有18800只电子管,1500个继电器,70000只电
阻及其他各类电气元件,运行时耗电量很大。另外,它的存储容量很小,只能存20个字长为10位的十进位数,而且是用线路连接的方法来编排程
序,因此每次解题都要靠人工改接连线,准备时间大大超过实际计算时间。尽管如此,ENIAC的研制成功还是为以后计算机
科学的发展提供了契机,而每克服它的一个缺点,都对计算机的发展带来很大影响,其中影响最大的要算是“程序存储”方式的采用。将程序存储方
式的设想确立为体系的是美国数学家冯·诺依曼(VonNeumann),其思想是:计算机中设置存储器,将符号化的计算步骤存放在存储器
中,然后依次取出存储的内容进行译码,并按照译码结果进行计算,从而实现计算机工作的自动化。现代计算机的结构基础:存储程序控制结
构。计算机的工作原理可概述为:“存储程序”+“程序控制”,即,1)以二进制方式表示数据和指令,2)将程序存入存储器中,由控制
器自动读取并执行。现代计算机统称为诺依曼计算机,其硬件结构由5个部分组成如幻灯片示图,各组成部分的功能:1.输入设备用
来输入程序和原始数据。2.存储器用来存放程序、原始数据和运算结果。计算机存储信息的记忆部件。3.运算器是对数据进行处理
和运算的部件。经常进行的有算术和逻辑运算,称为ALU(ArithmeticLogicalUnit)。
4.输出设备用来输出计算机的处理结果。5.控制器用来实现计算机本身的自动化,实现指令的自动装入和自动执行。包括:
1)从存储器中取出指令2)对指令进行译码分析3)发出执行指令相应的控制信号4)从存储器(或输
入设备)获得运算所需的数据5)将运算器处理结果存放在存储器或由输出设备输出在实际结构中,将控制器和运算器集成在一
片芯片上,是计算机的核心部件,称为中央处理部件,简称CPU(CentralProcessUnit)。日常生活中我们最
熟悉十进制数据,但在与计算机打交道时,会接触到二进制、八进制、十六进制系统,但无论哪种数制,其共同之处都是进位记数制。认识进位记
数制:如果采用的数制有R个基本符号,则称为基R数制,R称为数制的“基数”,而数制中每一固定的位置对应的单位值称为“权”。
进位记数制的编码符合“逢R进位”的规则,各位的权是以R为底的幂,一个数可按权展开成为多项式。教材参考1.2.2节内容,熟悉
以上几种数制之间的转换操作和转换方式。不论指令还是数据,若想存入计算机中,都必须采用二进制编码形式,在二进制系统中只有两
个数0和1,即便是多媒体信息(声音、图形等)也必须转换成二进制的形式,才能存入计算机,为什么计算机不使用我们都非常熟悉的十进制来存
储数据呢?因为二进制具有以下优势:①易于物理实现:因为具有二种稳定状态的物理器件是很多的,如门电路的导通与截止,电压的高与
低,而它们恰好对应表示1和0两个符号。假如采用十进制,要制造具有十种稳定状态的物理电路,那是非常困难的。②二进制数运算简
单:数学推导证明,对R进制的算术求和、求积规则各有R(R+1)/2种。如采用十进制,就有55种求和与求积的运算规则;而二
进制仅各有三种,因而简化了运算器等物理器件的设计。③机器可靠性高:由于电压的高低,电流的有无等都是一种质的变化,两种状态分
明,所以基2码的传递抗干扰能力强,鉴别信息的可靠性高。④通用性强:基2码不仅成功地运用于数值信息编码(二进制),而且适用于
各种非数值信息的数字化编码。特别是仅有的二个符号0和1正好与逻辑命题的两个值“真”与“假”相对应,从而为计算机实现逻辑运
算和逻辑判断提供了方便。计算机的“本能”就是能够识别并执行属于它自己的一组机器指令。因此,我们可以说,程序就是完成
既定任务的一组指令序列,计算机按照程序规定的流程依次执行一条条的指令,最终完成程序所要实现的目标。计算机硬件系统最终只能执
行由机器指令组成的程序。程序在执行前必须首先装入内存,程序执行时CPU负责从内存中逐条取出指令,分析识别指令,最后执行指令,从而
完成了一条指令的执行周期。CPU就是这样周而复始地工作,直至程序的完成。启动一个程序的执行只需将程序的第一条指令地址置入程序
计数器(PC)中即可。信息的单位常采用“位”、“字节”、“字”几种量纲。①位(bit):度量数据的最小单位
,表示一位二进制信息。②字节(byte):一个字节由八位二进制数字组成(1byte=8bit)。字节是信息存储中最常
用的基本单位。计算机的存储器(包括内存与外存)通常也是以多少字节来表示它的容量。常用的单位有:K字节、M(兆)字节、G
(吉)字节(我们通常这些单位来描述计算机的内存或硬盘的大小)③字(word):字是位的组合,并作为一个独立的信息单位处理
。字又称为计算机字,它的含意取决于机器的类型、字长以及使用者的要求。常用的固定字长有8位、16位、32位等。④机器字长:在讨
论信息单位时,还有一个与机器硬件指标有关的单位,这就是机器字长。机器字长一般是指参加运算的寄存器所含有的二进制数的位数,它代
表了机器的精度。机器的功能设计决定了机器的字长,一般大型机用于数值计算,为保证足够的精度,需要较长的字长,如32位、64位等
。而小型机、微机一般字长为16位、32位等。华南理工大学计算机学院周霭如2006华南理工大学计算机学院周霭如2004
ENIAC的由来世界上第一台数字式电子计算机是由美国宾夕法尼亚大学的物理学家约翰·莫克利(JohnMau
chly)和工程师普雷斯伯·埃克特(J–PresperEckert)领导研制的取名为ENIAC(ElectronicNum
ericalIntegratorAndCalculator)的计算机。1942年在宾夕法尼亚大学任教的莫克
利提出了用电子管组成计算机的设想,这一方案得到了美国陆军弹道研究所高尔斯特丹(Goldstine)的关注。当时正值第二次世界大战之
际,新武器研制中的弹道问题涉及许多复杂的计算,单靠手工计算已远远满足不了要求,急需自动计算的机器。于是在美国陆军部的资助下,194
3年开始了ENIAC的研制,并于1946年完成。当时它的功能确实出类拔萃,例如它可以在一秒钟内进行5000次加法运算,3毫秒便可进
行一次乘法运算,与手工计算相比速度要大大加快,60秒钟射程的弹道计算时间由原来的20分钟缩短到30秒。但它也明显存在着缺点。它体积
庞大,机器中约有18800只电子管,1500个继电器,70000只电阻及其他各类电气元件,运行时耗电量很大。另外,它的存储容量很小
,只能存20个字长为10位的十进位数,而且是用线路连接的方法来编排程序,因此每次解题都要靠人工改接连线,准备时间大大超过实际计算时
间。尽管如此,ENIAC的研制成功还是为以后计算机科学的发展提供了契机,而每克服它的一个缺点,都对计算机的发展带
来很大影响,其中影响最大的要算是“程序存储”方式的采用。将程序存储方式的设想确立为体系的是美国数学家冯·诺依曼(VonNeuma
nn),其思想是:计算机中设置存储器,将符号化的计算步骤存放在存储器中,然后依次取出存储的内容进行译码,并按照译码结果进行计算,从
而实现计算机工作的自动化。ENIAC的由来世界上第一台数字式电子计算机是由美国宾夕法尼亚大学的物理学家约翰
·莫克利(JohnMauchly)和工程师普雷斯伯·埃克特(J–PresperEckert)领导研制的取名为ENIAC(E
lectronicNumericalIntegratorAndCalculator)的计算机。1942年
在宾夕法尼亚大学任教的莫克利提出了用电子管组成计算机的设想,这一方案得到了美国陆军弹道研究所高尔斯特丹(Goldstine)的关注
。当时正值第二次世界大战之际,新武器研制中的弹道问题涉及许多复杂的计算,单靠手工计算已远远满足不了要求,急需自动计算的机器。于是在
美国陆军部的资助下,1943年开始了ENIAC的研制,并于1946年完成。当时它的功能确实出类拔萃,例如它可以在一秒钟内进行500
0次加法运算,3毫秒便可进行一次乘法运算,与手工计算相比速度要大大加快,60秒钟射程的弹道计算时间由原来的20分钟缩短到30秒。但
它也明显存在着缺点。它体积庞大,机器中约有18800只电子管,1500个继电器,70000只电阻及其他各类电气元件,运行时耗电量很
大。另外,它的存储容量很小,只能存20个字长为10位的十进位数,而且是用线路连接的方法来编排程序,因此每次解题都要靠人工改接连线,
准备时间大大超过实际计算时间。尽管如此,ENIAC的研制成功还是为以后计算机科学的发展提供了契机,而每克服它的一
个缺点,都对计算机的发展带来很大影响,其中影响最大的要算是“程序存储”方式的采用。将程序存储方式的设想确立为体系的是美国数学家冯·
诺依曼(VonNeumann),其思想是:计算机中设置存储器,将符号化的计算步骤存放在存储器中,然后依次取出存储的内容进行译码,
并按照译码结果进行计算,从而实现计算机工作的自动化。现代计算机的结构基础:存储程序控制结构。计算机的工作原理可概述为:
“存储程序”+“程序控制”,即,1)以二进制方式表示数据和指令,2)将程序存入存储器中,由控制器自动读取并执行。现代计算机统
称为诺依曼计算机,其硬件结构由5个部分组成如幻灯片示图,各组成部分的功能:1.输入设备用来输入程序和原始数据。2.存储
器用来存放程序、原始数据和运算结果。计算机存储信息的记忆部件。3.运算器是对数据进行处理和运算的部件。经常进行的有算术和逻辑
运算,称为ALU(ArithmeticLogicalUnit)。4.输出设备用来输出计算机的处理结
果。5.控制器用来实现计算机本身的自动化,实现指令的自动装入和自动执行。包括:1)从存储器中取出指令
2)对指令进行译码分析3)发出执行指令相应的控制信号4)从存储器(或输入设备)获得运算所需的数据
5)将运算器处理结果存放在存储器或由输出设备输出在实际结构中,将控制器和运算器集成在一片芯片上,是计算机的核心部件,称为中
央处理部件,简称CPU(CentralProcessUnit)。日常生活中我们最熟悉十进制数据,但在与计算机打交道时
,会接触到二进制、八进制、十六进制系统,但无论哪种数制,其共同之处都是进位记数制。认识进位记数制:如果采用的数制有R个基本符号,
则称为基R数制,R称为数制的“基数”,而数制中每一固定的位置对应的单位值称为“权”。进位记数制的编码符合“逢R进位”
的规则,各位的权是以R为底的幂,一个数可按权展开成为多项式。教材参考1.2.2节内容,熟悉以上几种数制之间的转换操作和转换方式
。不论指令还是数据,若想存入计算机中,都必须采用二进制编码形式,在二进制系统中只有两个数0和1,即便是多媒体信息(声音、
图形等)也必须转换成二进制的形式,才能存入计算机,为什么计算机不使用我们都非常熟悉的十进制来存储数据呢?因为二进制具有以下优势:
①易于物理实现:因为具有二种稳定状态的物理器件是很多的,如门电路的导通与截止,电压的高与低,而它们恰好对应表示1和0两个符
号。假如采用十进制,要制造具有十种稳定状态的物理电路,那是非常困难的。②二进制数运算简单:数学推导证明,对R进制的算术求
和、求积规则各有R(R+1)/2种。如采用十进制,就有55种求和与求积的运算规则;而二进制仅各有三种,因而简化了运算器等
物理器件的设计。③机器可靠性高:由于电压的高低,电流的有无等都是一种质的变化,两种状态分明,所以基2码的传递抗干扰能力强,
鉴别信息的可靠性高。④通用性强:基2码不仅成功地运用于数值信息编码(二进制),而且适用于各种非数值信息的数字化编码。特别是仅
有的二个符号0和1正好与逻辑命题的两个值“真”与“假”相对应,从而为计算机实现逻辑运算和逻辑判断提供了方便。计
算机的“本能”就是能够识别并执行属于它自己的一组机器指令。因此,我们可以说,程序就是完成既定任务的一组指令序列,计算机按照程
序规定的流程依次执行一条条的指令,最终完成程序所要实现的目标。计算机硬件系统最终只能执行由机器指令组成的程序。程序在执行前必须首先装入内存,程序执行时CPU负责从内存中逐条取出指令,分析识别指令,最后执行指令,从而完成了一条指令的执行周期。CPU就是这样周而复始地工作,直至程序的完成。启动一个程序的执行只需将程序的第一条指令地址置入程序计数器(PC)中即可。信息的单位常采用“位”、“字节”、“字”几种量纲。①位(bit):度量数据的最小单位,表示一位二进制信息。②字节(byte):一个字节由八位二进制数字组成(1byte=8bit)。字节是信息存储中最常用的基本单位。计算机的存储器(包括内存与外存)通常也是以多少字节来表示它的容量。常用的单位有:K字节、M(兆)字节、G(吉)字节(我们通常这些单位来描述计算机的内存或硬盘的大小)③字(word):字是位的组合,并作为一个独立的信息单位处理。字又称为计算机字,它的含意取决于机器的类型、字长以及使用者的要求。常用的固定字长有8位、16位、32位等。④机器字长:在讨论信息单位时,还有一个与机器硬件指标有关的单位,这就是机器字长。机器字长一般是指参加运算的寄存器所含有的二进制数的位数,它代表了机器的精度。机器的功能设计决定了机器的字长,一般大型机用于数值计算,为保证足够的精度,需要较长的字长,如32位、64位等。而小型机、微机一般字长为16位、32位等。
献花(0)
+1
(本文系刘鑫louis首藏)