北航研究生课程_程序语言设计原理教程_第03章.pptVIP

北航研究生课程_程序语言设计原理教程_第03章.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文档。上传文档
查看更多
第3章 值与类型 3.1.1 值与类型 3.1.2 字面量、变量、常量 续 3.1.3 程序中的求值方式 表达式中求值靠运算符 函数、过程引用改变值 3.1.4 值是头等程序对象(First Class Object) 程序语言中的值 字面量(整、实、布尔、字符、枚举、串) 复合量(记录、数组、元组、结构、表、联合、集合、文件) 指针值 变量引用(左值、右值) 函数和过程抽象,数学对象参与运算的权利是一样的,值是计算对象也要按一致性原则: 可出现在表达式中并求值 可作函数返回值 可单独存储 可以构成复杂的数据结构 可作函数参数 3.2 类型 3.2.1基本类型 基本类型:按操作行为划分的值的集合 集合中元素个数叫基数 #S OP1:T T OP2:T × T T 3.2.2复合类型 笛卡尔积 S × T={(x,y)|x∈S, y∈T} # (S × T) = #S * #T 元组、记录 续 3.2.3 递归类型 表 Integer_list = Unit+{integer×Integer_list } L = Unit + (S×L) # L = ∞ 用户定义递归类型 T = …T… 递归方程最小解 # T = ∞ 串 相等测试, 选字符, 选子串, 排序 定义为基本类型, 长度任意, ML 定义为定长字符数组 Pascal, Ada 不提供操作 可变长字符数组 C 定义为字符表, 表操作用于串 Prolog,LISP 3.2.4 类型系统的初步 静态与动态 静 动 变量 有类型 无类型 动态简洁、灵活 参数 有类型 无类型 静态清晰、死板 值 有类型 有类型 弱/强类型 无类型 LISP , Smalltalk 弱类型 变量有类型。类型兼容性大, 系统不作检查 强制类型 隐式类型强制(转换),自动截尾, 补零。显式 类型强制 PL/1 伪强类型 静态均有类型且作检查,由于不严,导出等价准则 Pascal 强类型 类型有严格定义, 均作检查 Ada 续 3.3 表达式 3.3.2 表达式种类 续 3.3.3 优先级和结合性 3.3.4类型兼容 不同类型值混合运算, 人为定出计算级别,由低 层升格为高层, 结果值是高层的 隐式转换 弱类型 I := R; 显式转换 强类型 I := Integer(R); 强类型按名判定,不同类型名则不兼容只有子类型不同名可以兼容 显式和隐式混合 续 * * 值——直接可用, 计算对象以数据值的形式表示 3.1值 对事物性态的表征和度量,表征和度量必须在某个论域的抽象层次上 数据指称内含的表征和度量, 名 — 值 上层抽象的值是下层的名 成人: {老年, 中年, 青年} 123 123 十进制约定 {001111011} : 83 八进制约定 {001010011} 青年: {15..25} 291 十六进制约定 {100100011} : 名 值 实现 {1111} {11001} 类型是计算机可能实现的结构和约定对客观世界差异的刻划。 同一类型的外延,即同一结构表示所有可能的值构成一个域。 分类原则:同样表示结构,同样语义解释,同样的操作。 同类型值运算结果:同类型。 无符号整数: 二进制解释的值 整数:符号 值 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 浮点数: 符号 阶码 尾数 程序语言中:基元(primitive)类型:整型/实(定,浮)/字符/真值/枚举 结构(structured)类型:元组/数组/记录(结构)/表/串 名字操纵值, 名: 字面量 从名字即知类型 字面值不变 变量 符号名

文档评论(0)

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

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

1亿VIP精品文档

相关文档