计算机科学引论.ppt

计算机科学引论.ppt

ID:56958909

大小:233.00 KB

页数:44页

时间:2020-07-22

计算机科学引论.ppt_第1页
计算机科学引论.ppt_第2页
计算机科学引论.ppt_第3页
计算机科学引论.ppt_第4页
计算机科学引论.ppt_第5页
资源描述:

《计算机科学引论.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机科学引论C/C++语言介绍1C/C++的计算机特性描述功能计算资源的抽象计算机:图灵机计算存储函数内存2内存与变量内存(memory):一大块内存单元每个内存单元有一个地址(address)每个内存单元还可以存储一个值(value)值可以是任何类型(type)(整数、字符…)注意:内存单元的地址和其存储的值0000000100020003‘C’00040005100“地址”是一个常量,与内存单元一一对应内存单元中的“值”随时可能变化3内存与变量变量(variable)地址不好记忆,给个名字有不同类型,可能占据不同数量的内存单元一

2、个变量占据的内存单元总是连续的000000010002000300040005AB4内存与变量变量名(variablename)变量的名字变量的地址(variableaddress)给变量分配的内存单元中最小的地址又叫做“首地址”变量的类型大多数程序语言中变量都是有类型的非兼容类型间不能运算,如float*string不同类型可能占用内存单元数不同变量的大小(size)000000010002000300040005AB5内存与变量变量与内存单元的关系变量的值存储在连续的内存单元中内存单元是无类型的变量对CPU来说也是无类型的变量的类

3、型只对编译器有作用CPU可以把某个单元的数据当作任何类型处理00000001000200036500040005int?char?unsigned?AB6内存与变量类比人:变量房间:内存单元姓名:变量名通讯地址:变量的地址职业:变量类型7内存与变量类比人可以住不同的房间变量也可以被放在不同的内存单元房间由领导分配,内存由编译器/汇编器分配一旦分配好,(人/变量)就有了地址人名一般是父母取的,不大变化变量名由程序员给定,不变程序中可用地址索引变量,但用名更普遍几乎很少用地址来索引人,但并非没有8内存与变量数组(array)如果一大堆同类

4、变量要一起使用?定义一大堆不同名的变量?太麻烦现实中:相连的办公室分配给一个部门的员工把这一片称作“XX单位”数组9内存与变量数组C/C++语法定义intmathOffice[10];名元素个数引用mathOffice[3]=101;DeanOffice=mathOffice[0];一个元素(element)下标(index)10内存与变量数组内存中的分布连续的多个内存单元C/C++中数组的特性下标从0开始数组名是首地址第一个单元的地址下标为0的单元数组也是变量复合变量数组元素也是变量简单或复合00000001000200030004

5、0005000600070008chararray[5];array[0]array[1]array[2]array[3]array[4]11内存与变量复合变量由多个简单变量组合成的变量数组是一类复合变量自定义的复合变量1.定义复合变量的类型classTEmployee{public:intID;charName[64];……};2.定义复合变量TEmployeeseiTeather;类型变量名不要忘了!12内存与变量变量的作用域(lifecycle)变量不一定一直存在类比:雇员只签几年的合同变量存在,可被程序使用的范围叫做作用域vo

6、idAllocateOffice(intemployeeID){……intRoomNo;……RoomNo=getRoom(employeeID);……}这两个变量是同类的!13内存与变量变量的作用域变量定义以后是要占用内存单元的类比:雇员要占办公室雇员辞职以后交回办公室变量不再需要以后?回收分配的内存单元根据作用域分配和释放内存作用域开始的时候分配作用域结束的时候释放内存是宝贵的资源,不能浪费!14voidAllocateOffice(intemployeeID){……intRoomNo;……RoomNo=getRoom(emplo

7、yeeID);……}内存与变量自动(auto)变量编译器在需要的地方自动插入分配和释放相应内存单元的指令,无需程序员管理程序运行到这里才分配内存(理论上)程序运行到这里就释放内存(两个都释放)在调用该函数的一开始分配内存15内存与变量自动变量如果分配很大一块内存?voidShowPhoto(constchar*FileName){charPhoto[16*1024*1024];……}StackOverflow????16内存与变量栈(stack)管理函数调用和返回信息管理自动变量空间比较小32位平台上,一般1MB左右如果函数调用太多,

8、或者自动变量太多?StackOverflow:栈溢出类比:某部门招员工太多,办公室不够解决:抢别的部门的办公室程序中?17内存与变量堆(heap)现代计算机的内存空间是比较大的32位平台:最多4GB栈只占用很小一部分1M

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。