Chapter 3控制程序流.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter 3控制程序流

第三章 控制程序流 Mr Gong 2010 前面所学例子有一个共同点,那就是所有的语句都是从上向下执行的,并且只执行一次。 如何来告诉Perl,让它“执行该任务n次”,或者“重复执行该任务,直到任务完成为止”? 如何通过Perl让计算机迅速做出决策? 在本学时中,我们将要介绍下列基本概念: ? 语句块 ? 运算符 ? 循环 ? 标号 ? 程序执行后退出Perl 一、 语句块 Perl中简单的语句组合称为块。 要将语句组合在一个块中,只需要用一组匹配的花括号({ })将语句括起来即可,如下所示: 在语句块中,语句从上向下执行。 在语句块中,可以拥有另一些语句块,请看下面的例子: 语句块的格式是自由随意的格式。 语句与花括号可以放在同一行上,也可以不同行上; 且可以根据需要,采用任何一种对齐方式,只要使用匹配的一组花括号即可, eg. 二、if 控制结构 若要根据Perl程序中的某个条件来控制语句是否执行,通常可以使用if语句。 i f语句的句法: 请注意,该代码块包含了花括号。例如: 2. if - else语句 如果一个条件是真,那么i f语句也能运行代码,否则,如果该条件不是真,则运行另一个代码。 这时使用if - else语句,它的句法类似下面的样子: 例子3.1 3. If…elsif…else 建立i f语句的另一种方法是使用多个表达式,然后根据哪个表达式是真,来运行代码,其句法如下: 例子3.2 4. “真”对于Perl意味着什么 Perl 关于什么是真,什么不是真的几个简短的规则: ? 数字0为假,所有其他数字为真 ? 空的字符串(“”)和字符串“0”为假 ? 未定义值undef为假 ? 其他东西均为真 真还是假的例子 5.逻辑运算符 如果需要让Perl考虑两种或多种情况进行决策,所用的if条件语句就可以用逻辑运算符。 逻辑运算符是将真和假的语句组合到一起求真假的运算符 ?逻辑或:$a || $b 或 $a or $b ?逻辑与:$a $b 或 $a and $b ?逻辑非:! $a 或 not $a ?逻辑异或:$a xor $b 用逻辑运算符连接起来的表达式将自左向右进行计算,直到能够为整个表达式确定一个真或假的值。例如: 三、循环 许多情况下,仅仅根据条件来进行决策和运行代码是不够的。需要一次又一次重复运行一段代码,这就要用到循环。 Perl中有多种控制语句可用于循环。 1.用while进行循环 while循环是最简单的一种循环,句法如下: 只要表达式是真的, 就会重复执行该代码段。 在while语句循环,先计算该条件。结果是真,运行代码块。当运行到代码块的结尾时,表达式被重新计算,如果结果仍然是真,代码块重复执行。 例如: 2.使用for循环 for语句是Perl循环结构中最复杂和最有用的语句。它的句法类似下面的形式: 当Perl遇到一个for循环时,便出现下面这个操作顺序: ? 初始化表达式被计算 ? 测试表达式被计算。结果是真,代码块就运行。 ? 当该代码块执行结束后,便执行递增操作,并再 次计算测试表达式。如果计算结果仍然是真,那么代码块再次运行。这个进程将继续下去,直到测试表达式的计算结果变为假为止。 例子3.3: 3.Until 控制语句 如果想要颠倒wihle循环的条件,那么这时可以用until: 当perl遇到until时,如果被测表达式为假这个循环会一直执行,知道条件为真! 四、其他流控制工具 有些情况,需要Perl提前退出w h i l e循环,或跳过for循环的某些部分,或在代码块结束之前退出i f语句,或者甚至在不到结束的时候就退出程序。 这时便需要其他的流控制语句,以便提高程序的可读性。 1.奇特的执行顺序 如果在if语句块中只有一个表达式,那么该表达式实际上可以放在if语句的前面,如: 2.明细控制 last语句 last语句能够使当前正在运行的最里面的循环块退出,是循环的紧急出口。例如: 当你拥有多个嵌套的循环语句时, last将退出当前正在运行的循环。 例如下面找出其乘积等于140的所有小于100的两个数的程序3-5: next语句 next语句使得控制权被重新传递给循环的顶部,同时下一个循环的重复运行则开始进行,如果该循环尚未结束的话。 例如下面输出从0到98之间的所有偶数的循环程序: 3.标号 Perl允许你给语句块和某些循环语句(for、while)加上标号。即,可以在语句块或语句的前面放置一个标识符,如: last、redo和next语句都可以带有一个标号,作为参数。这样就可以退出一个特殊的语句块。 例如程序3-5如果想在找到一个因子后立即退出该循环可改为: 4.退出Perl

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档