- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第三章控制结构第一节语句级控制结构控制结构:程序员用来规定程序各个成分的执行流程的控制部分。语句级控制结构:语言用来构造各种语句执行顺序的机制。传统语言的三种语句级控制结构:顺序、选择、重复。
一.顺序顺序运算符;语句括号begin...end复合语句
if语句选择ALGOL60的选择结构引起二义性ifx0thenifx10thenx:=0elsex:=1000PL/1和Pascal的“最近匹配原则”ALGOL68中if语句的结束符号fiALGOL68和Ada对elseif进行缩写
PL/1的select结构多重选择WHEN(A)S1;WHEN(B)S2;WHEN(C)S3;OTHERWISES4;ENDSELECT:
多种语言的case语句1varoperator:char;2operand1,operand2,result:boolean;3……4caseoperatorof5‘.’:result:=operand1andoperand2;6‘+’:result:=operand1oroperand2;7‘=’:result:=operand1=operand2;8end9
Dijkstra选择结构的非确定性1ifB1→S12?B2→S23?B3→S34…...5?BN→SN6其中,Bi是布尔表达式,称为卫哨。若有多个卫哨为真时执行任一Si。7
重复计数器制导当预先知道重复次数时,在循环计数器值的有限集合上重复。FORTRAN的DO循环中,用标号控制循环体DO7I=1,10A(I)=0B(I)=0CONTINUE
②Pascal的for语句计数重复的值可在任何有序集上for...tofor...downto在循环外循环控制变量的值无定义
while循环:描述0或任意多次的重复repeatuntil循环:至少一次以上的重复ALGOL68循环的一般形式:forifromjbyktomwhilebdo...od010302条件制导
④Ada的循环结构loop/*可以在loop前加重复说明*/循环体(语句序列)endloop;重复说明可以是:while条件或for计数变量in离散范围或for计数变量inreverse离散范围可由exit或exitwhen条件终止循环
Dijkstra的卫哨命令表示法doB1→S1?B2→S2od?BN→SN......010203040506
02语句级控制结构讨论顺序、选择、重复是一定意义的抽象关于goto语句的讨论控制结构的选择用户定义控制结构如:Pascal的计数控制变量可以是枚举类型01
四种单元级控制结构:显式调用,异常处理,协同程序,并发单元单元级控制结构:规定程序单元之间控制流程的机制第二节单元级控制结构
参数的两种绑定方式位置绑定关键字绑定调用方式由调用语句使用被调用单元的名字来进行调用显式调用从属单元
subprogramS(F1,F2,…,FN);……end位置绑定:callS(A1,A2,…,AN)callS(A1,,A3,,,,,A8,,A10)关键字绑定:callS(A1=F1,A3=F3,A8=F8,A10=F10)12345
?对非局部环境的修改副作用降低了程序的可读性副作用限制了数学运算律的使用如:u:=x+z+f(x,y)+f(x,y)+x+zx、y为变参z为全局变量副作用如:w:=x+f(x,y)+z副作用影响目标代码的优化
别名?在单元激活期间,两个变量表示(共享)同一数据对象FORTRAN的EQUIVALENCE语句Pascal的变参使得形参和实参共享同一数据对象
procedureswap(varx,y:integer);beginx:=x+y;y:=x-y;x:=x-y;end;调用swap(a,a);swap(b[i],b[j]);若i=jswap(p?,q?);若p、q指向同一数据对象
变参和全局变量表示同一数据对象时,也会引起别名1procedureswap(varx:integer);/*a是全局变量*/2beginx:=x+a;a:=x-a;x:=x-a;3end;4调用5swap(a);将产生不正确的结果6
别名也影响编译器生成优化的代码=(x-y*z)+w/*若a与x、y或z中任一个=(x-y*z)+u是别名*/别名的消除
您可能关注的文档
最近下载
- 个人信息保护影响评估报告(模板).docx VIP
- 必威体育精装版主题教育新中国史知识竞赛试题精编(100题含答案).pdf VIP
- 丰田第十二代皇冠介绍.pdf
- 2025“才聚齐鲁成就未来”山东黄金集团井下技能工人招聘2000人备考题库及答案解析.docx VIP
- 剑桥少儿英语三级官方公布的真题样题.pdf VIP
- 动火许可证(一级、二级、三级动火许可证).doc VIP
- 2025年辽宁省公务员省考《行测》联考真题(含答案).docx VIP
- 看拼音写词语_人教版二年级下册(新)各单元全册及答案.pdf VIP
- (2025年)国企会计岗位笔试试题及答案解析.docx VIP
- 院感知识培训.pptx VIP
文档评论(0)