C#第3章-程序流程控制.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2 选择结构
什么是选择结构 ▲选择结构,又称条件结构(或分支语句),当程序中需要进行两个 或两个以上的选择时,使用选择结构确定要执行的语句(段)。 ▲这种控制机制根据布尔条件表达式的值确定执行路径。
if语句
简单if语句
if-else语句
switch语句
3.2.1 if语句
if语句根据布尔表达式的值来选择两个可能执行路径之一。 简单if语句执行流程图
顺序结构是程序设计的基本结构,按照代码的先后顺 序依次执行,直到程序运行完成或出现问题终止。
选择结构中if语句使用频率高,是最常用的选择分支 结构;当分支条件过多时,可以考虑使用switch语句 来完成。 4种循环结构在本质上是相同的,差别在于编码的难 易程度和执行效率;各种控制结构之间可以互相嵌套, 以便实现复杂的功能。
3.3 循环结构
◆对于程序要处理的一组重复操作,C#提供循环结构使用布尔表达式来进行控制。 ◆循环语句在满足某个逻辑条件后,让程序重复多次执行循环语句块,直到条件不 再满足为止。
3.3.1 while循环
while循环语句执行流程图
布尔表达式 true
循环体
false
·while循环特点是先判断后执行, 如果初始循环条件即为false, 则循环体一次也不会被执行;所 以while循环的循环体最少执行 次数为0;
3.3.4 跳转语句
跳转语句可以使函 数内部的程序无条 件的改变执行方向
跳出某个循环 和选择分支
用在循环体内,结束 本次循环,返回到循 环语句开始部分,进 行下一次循环
跳转到指定 ቤተ መጻሕፍቲ ባይዱ号位置
用在方法内部, 用于提交方法 返回值
3.4 本章总结
本章主要介绍了程序流程控制中的顺序结构、选择结 构、循环结构和跳转语句。它们是目前程序设计中常 用的流程控制语句。
·与C/C++不同,for循环的表达式2必须是逻辑表达式,不允 许使用整数值;
·如果在for循环语句之前已经对循环变量初始化,则for语句 中的表达式1可以省略,但分号要保留;
·如果省略表达式2,语法上没有错误,但程序将进入死循环, 在实际应用中,除极特殊的情况外是不允许的;
·表达式3作为循环变量的控制条件,并非只有++和--操作, 可以根据需要指定不同的循环变量变化规则;
C# Windows程序设计与应用
第3章 程序流程控制
循环语句(while, do…while,for, foreach)
要点 提示
If语句及其嵌套
Switch语句
第3章 程序流程控制
3. 1
顺序结构
3. 2
选择结构
3. 3
循环结构
3. 4
本章总结
3.1 顺序结构
☆ 程序代码的执行通常按照编写时的先后顺序从前向后依次执行, 这个过程称为顺序执行。 ☆ 顺序结构是C#语言中的默认的、也是最基本的流程控制。即在没 有明确指出执行顺序时,计算机将按C#语句的书写顺序依次执行。 ☆ 顺序结构以语句块{}为单位执行。
【提示】 尽管理论上讲if语句可以无限制嵌套,但在实际应用中 尽可能使嵌套层数最少。过多的嵌套会使逻辑关系复杂,降低程 序可读性。
3.2.2 switch语句
☆如果需要从多个选择分支中选择一个分支去执行时,C#提供了 多分支选择语句switch。 ☆switch语句适用于如下情形:根据某个选择值的结果,从多个 (通常多于3个)可能的选择路径中选择一个。 ☆使用switch语句,关键是要构造一个表达式,将各个选择分支条 件转换成对应的case子句后面的常量值。
·循环体中必须有能够修改循环 条件的语句,使得循环能够在一 定条件下结束,否则将形成死循 环;
·while循环不需提前确定循环次 数。
3.3.1 while循环
do...while循环语句执行流程图
循环体
true
布尔表达式 false
·do…while循环特点是先执行后 判断,即使初始循环条件即为 false,循环体也会被执行一次; 因此do…while循环的循环体的 最小执行次数为1;
true
V=c.Current
false
循环体
3.3.3 循环嵌套(多重循环)
☆循环语句可以嵌套使用,即循环 结构的循环体里可以包含其他的循 环语句。
☆尽管在理论上对循环嵌套的层数 没有限制,但在实际应用中,嵌套 层数不宜过多,否则将降低程序的 可读性。
☆通常如果涉及三层以上的嵌套, 可以使用声明为方法的方式来减少 嵌套层次。
·如果fo r 循环3 个表达式都省略, 即fo r(;;)形式 ,相当于 while(true),是一个死循环。
3.3.2 for循环
foreach语句执行流程图
定义循环变量v,并计算集合表达式的值,即集合类型的实例c 隐藏执行的内容 c=e.GetEnumerator()
c.MoveNext()
谢谢聆听
·循环体中必须有能够修改循环 条件的语句,使得循环能够在一 定条件下结束,否则将形成死循 环;
·do…while循环不需提前确定循 环次数。
3.3.2 for循环
for语句执行流程图
循环变量初始化 (表达式1)
循环判断 (表达式2)
true
循环体
false
修改循环变量值 (表达式3)
·在循环次数确定的情况,使用for循环最为简单;
布尔表达式 true
语句块1
语句块可以是单一的简单 语句,也可以是复合语句。
3.2.1 if语句
if-else语句执行流程图
语句块1
布尔表达 式
语句块2
该语句提供两个选择,
当布尔表达式为true 时,执行语句块1;当 布尔表达式为false, 执行语句块2。
3.2.1 if语句
嵌套if语句
☆当需要进行选择的路径并非只有两条时,需要多次使用if-else语 句来完成选择条件的判断(因为每个if-else语句只能判断对一个条 件进行判断)。这时可以在一条if-else中嵌入一条或多条if-else语 句,形成一个嵌套if语句,用于多条件复杂流程判断与控制。