第六章 数据类型 程序设计语言原理课件知识介绍.pptVIP

第六章 数据类型 程序设计语言原理课件知识介绍.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 数据类型 程序设计语言原理课件知识介绍.ppt

上节课内容回顾 栈(stack) 堆(heap) 申请方式 系统分配 如函数中的变量声明 程序员申请 如:C中的malloc,C++中的new p1 = (char*)malloc(10); p2 = new char[10]; 申请后系统的响应 如果 栈的剩余空间申请空间, 系统将为程序提供内存, 否则,提示栈溢 出。 遍历系统中记录空闲内存地址的链表,寻找第一个空间所申请空间的堆结点,然后将该结点从空闲结点链表 中删除,并将该结点的空间分配给程序。 申请大小的限制 在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。 堆是向高地址扩展的数据结构,是不连续的内存区域。 注:系统用链表来存储空闲内存 申请效率的比较 系统自动分配,速度较快。 但程序员是无法控制的。 由new分配的内存,速度比较慢,容易产生内存碎片,不过用起来最方便. 餐馆点菜 家里做菜 //main.cpp int a = 0; //全局初始化区 char *p1; //全局未初始化区 main() { int b; 栈 char s[] = “abc”; 栈 char *p2; 栈 char *p3 = 123456; //123456/0在常量区,p3在栈上。 static int c =0; //全局(静态)初始化区 p1 = (char *)malloc(10); //分配得来得10和20 p2 = (char *)malloc(20); //字节的区域就在堆区。 strcpy(p1, “123456”); //123456/0放在常量区, //编译器可能会将它与p3所指 // 向的123456“ 优化成一个地方。 } 第六章 数据类型 苏松志 主要内容 6.1 引言 6.2 基本数据类型 6.3 字符串类型 6.4 用户定义的系数类型 6.5 数组类型 6.6 关联数组 6.9 指针和引用类型 作业 6.1 引言 数据类型 数据类型的重要性:决定了解决问题的难易程度 数据类型的发展过程 数据类型的用途 类型检查、类型等价、类型转换 类型操作符: [],* 数据类型的实现: 描述符 =数据值+操作 ?Fortran 90之前 ALGOL 68 80年代中期? 少量的数据结构 用户自定义类型 抽象数据类型 变量一组属性集合 存储变量属性的一个内存区域 6.2.1 数值类型 6.2.1.1 整数 Java: byte,shot,int,long 大数据 BigInteger byte bMax = Byte.MAX_VALUE; byte bMin = Byte.MIN_VALUE; System.out.println( Rang of Byte=+bMin+,+bMax); BigInteger(String val) 将 BigInteger 的十进制字符串表示形式转换为 BigInteger。 BigInteger(String val, int radix) 将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。 6.2.1 数值类型 6.2.1.1 整数 Python 大多数整数类型是硬件直接支持的; Python中的long integer类型的值没有长度限制,硬件无法直接支持 【思考(作业1)】在C/C++中如何实现大数的相加和相乘? 6.2.1 数值类型 6.2.1.2 浮点数 对于大多数实数值,浮点数表示的只是近似值 — 0.1无法用有限的二进制数位来表示 大多数语言的浮点数包含:float和double两种类型 浮点数表示成小数和指数,可用精度和范围来衡量。 精度:小数部位的准确性; 范围:小数范围和指数范围的组合; IEEE 754标准 指数 小数 8 23 符号位 6.2.1 数值类型 6.2.1.3复数 Fortran和Python都支持复数 【Fortran示例】 【思考】用C/C++写一个支持复数计算的类, 对+ - * /进行运算符重载;其中* /运算符的重载作为作业 6.2.1 数值类型 6.2.1.4 小数 (COBOL/C#) 大多数为支持商业系统应用而设计的大型计算机都支持小数数据类型; 小数数据类型存储固定数目的小数位,小数点位于数值中的一个固定位置上; 小数类型的存储像字符串,用二进制编码十进制数Binay c

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档