网站大量收购闲置独家精品文档,联系QQ:2885784924

编译原第三章 控制结构课件.ppt

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

第三章控制结构;第一节语句级控制结构;语言可用的、最简单的控制结构。

语句结束标记“;”

A;B;复合语句;二.选择;1.单选ifthen;if(ab)thenmax:=aelsemax:=b;

可供选择的语句

max:=a和max:=b

只选择其中一个执行;if语句包含if语句

①ALGOL60的选择结构引起二义性

ifx0thenifx6thenx:=0elsex:=9

②PASCAL的“最近匹配原则”

③ALGOL68中if语句的结束符号fi

④ALGOL68对elseif进行缩写;;;①PL/1的select结构

SELECT:

WHEN(A)S1;

WHEN(B)S2;

WHEN(C)S3;

OTHERWISES4;

END;②PASCAL的case语句:

var

operator:char;

operand1,operand2,result:real;

……

;;③C语言的switch语句

charopr;

floatop1,op2,result;

….

;C语言;ifB1→S1

B2→S2

B3→S3

BN→SN

fi;;1.计数器制导

当预先知道重复次数时,在循环计数器值的有限集合上重复。;FORTRAN的DO循环;计数重复的值可在任何有序集上

for...to...

for...downto...;①while:0次或多次重复

②do-while,repeat-until:多次重复

③ALGOL68循环的一般形式:

forifromjbyktomwhilebdo...od;loop

循环体(语句序列)

endloop;

可由exit或

exitwhen条件

终止循环;doB1→S1

B2→S2

...

BN→SN

od;四.语句级控制结构讨论;抽象控制结构;;;ifBthenS;ifBthenS1elseS2;for(i=1;i?N;i++)S;whileBdoS;大多数程序设计语言提供goto语句,这是随意修改程序计数器值的抽象。

Dijkstra于1968年发表了著名论文,论述了goto语句对程序设计的影响。

结论:包含许多goto语句的程序隐含许多出错的机会。;;;控制结构的选择;;;五.用户定义控制结构;;;;第二节单元级控制结构;;四种单元级控制结构;FORTRAN语言的子程序和函数

PASCAL语言的函数和过程

C语言的函数

都属于显式调用。;;子程序B;;参数传递;参数的两种绑定方式;subprogramS(Fl,F2,…,FN);

……

子程序调用方式

callS(Al,A2,…,AN);

位置方法表示实参Ai绑定形参Fi;;;;;C++的缺省参数;;对非局部环境的修改。

①副作用降低了程序的可读性

②副作用限制了数学运算律的使用;;;两个变量共享同一数据对象

①FORTRAN的EQUIVALENCE语句;

②Pascal变参使得形参和实参是别名。

③C++的引用参数;;PASCAL;C++引用参数;swap(a,a);

若i=j

swap(b[i],b[j]);

若p、q指向同一数据对象

swap(*p,*q);;③变参和全局变量表示同一数据对象时,也会引起别名。;;④别名也影响编译器生成优化的代a:=(x-y*z)+w;

b:=(x-y*z)+u;

若a与x、y或z中任一个是别名;;异常:导致程序正常执行中止的事件

要靠发信号来引发

用异常条件来表示。;;(1)异常如何说明,它的作用域是什么?

(2)异常如何发生?(如何捕获异常)

(3)发生异常时,流程如何转移?;;;方法1;;方法2;1.PL/1异常处理

2.CLU的异常处理

3.Ada的异常处理

自学,了解。;4

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档