下载此文档

语句:选择(if).pdf


文档分类:IT计算机 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
: .
语句:选择(if)
早可能很大
为支持 case 的高效实现和方便使用,不同语言的 case 语句设计也不同
• case 标号是否允许子界?
• 有无默认选择(default,others 子句)
• 如果选择表达式算出的值没有对应的标号,如何处理?(默认选择?)
2012年4月 30语句:循环(迭代)
没有循环(也没有递归)的程序是平凡的程序。
• 循环和递归给了计算机生命力
• 计算机的威力就在于它能反反复复地做一些事情
• 反复做之中还可以有变化
语言中的循环结构分为两种:
• 枚举控制的循环:对某个有限集合里的每个元素执行循环体一次
• 逻辑控制的循环:执行到某个逻辑条件变了
一些语言里这两种循环共有同一种形式,如 Algol 60,C 的 for 语句
2012年4月 31
循环:枚举控制
最早的 Fortran 只有枚举控制的循环:
do 10 i = 1, 12, 2
... ...
10 continue
Pascal: 没有步长,只能用步长 1 或 -1(downto)
FOR i := 1 TO 12 DO n := n + i
Modula: 可以有步长
FOR i := 1 TO 12 BY 2 DO n := n + i END
Ada: 没有步长,只能用步长 1 或 -1(reverse)
FOR i in 1..12 loop n := n + i; end loop
允许多种形式的枚举描述,包括针对数组下标的 a'range
2012年4月 32循环:枚举控制
枚举循环的问题:
ƒ 循环变量是否需要另行定义,如不需要,其作用域是否延伸到循环之后?
ƒ 循环变量在循环体里的作用:看作常量?看作普通变量(允许修改)?
ƒ 循环的上下界表达式什么时候求值?
• 循环开始前求值一次,以后作为常量
• 每次迭代之前判断循环是否应该结束时重新求值
ƒ 循环结束后循环变量的值是什么?
ƒ 是否允许以其他方式转入或者转出循环
• 用 goto 转入,循环变量的值是什么?
• 转出后能否访问循环变量?
for (short i = 0; i < 32700; i += 128) ...
设 short 为16位(注意什么时候条件不成立)
2012年4月 33
循环:枚举控制(实现)
• 应注意 0 次循环的情况
• 循环结束时循环变量的值
• 如果考虑值可能超越类型的最大值的问题,实现会更复杂一些
2012年4月 34循环:枚举控制的推广——迭代器
枚举循环的控制结构:
• 是一种能生成一系列离散值的机制
• 第一步总是初始化,建立循环的初始状态(设置循环变量初值)
• 提供一种操作,执行一次将得到一个新的(枚举)值
• 提供一种操作,通过它可以判断还有没有更多的枚举值
任何能提供这些功能的机制都可以称为是一种迭代器,通过“迭代器”机制控
制循环,是程序里的一种很常见的“描述模式”
• 一些语言里提供了定义迭代器的专门机制(Pragmatics 书 )
在其他语言里,可以通过模拟来实现迭代器,例如:
• C 语言标准库的 stdarg 功能(变长度参数表)就是一种迭代器
• C++ 标准库的许多功能依赖于迭代器的概念
2012年4月

语句:选择(if) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人酒酿小樱桃
  • 文件大小204 KB
  • 时间2022-07-18