控制语句中的循环语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四课C#控制语句中的循环语句
教学目的:
1.学会"while"循环的用法。
2.学会"do"循环的用法。
3.学会"for"循环的用法。
4.学会foreach循环的用法。
5.进一步了解"break"语句的用法。
6.如何使用"continue"语句。
教学过程:第一个要介绍的语句是while循环语句
说明:1.清单4-1演示了一个简单的while循环。
以关键字"while"开始,后面是个布尔表达式。
所有的控制语句都使用了布尔表达式。
这就意味着表达式必须计算出true或者false值。
本例中,我们将检查myInt变量,看看它是否小于10。
因为myInt已经初始化为0,第一次计算时,该布尔表达式将返回true值。
一旦布尔表达式的值为true,将执行该布尔表达式后面块中的语句。
2.在while块中,我们把数字和空格输出到控制台中,之后,对myInt进行加1运算。
一旦执行了while块中的语句之后,再次计算布尔表达式的值,这种情况将一直循环下去,直到该布尔表达式的值为false为止。
一旦布尔表达式的值为false, 程序将从while块之后的第一条语句开始执行。
在本例中,我们把数字0到9输出到控制台中,之后退出while块,再输出一个新行到控制台。
"do" 循环语句。
1.清单4-2 演示了"do"循环的例子。
"do" 循环的格式是:do { <语句> } while (<布尔表达式>);其中的语句可以是任何合法的C#语句,布尔表达式同以前的规定一样,其返回值要么为true,要么为false。
2.如果你打算输出清单4-2中的信息或者菜单,之后再读取用户的输入,那么就使用"do" 格式的循环而不要使用"while"格式的循环语句。
因为在本例中,布尔表达式的值是在循环结束处进行计算的, "do" 循环可以保证:循环体中的语句至少执行一次。
与此相对应的是:"while"循环一开始时,计算布尔表达式的值,"while" 循环不能保证循环体中的语句能够至少执行一次。
3.让我们来回顾一下清单4-2中的内容。
在Main()方法中,我们定义了变量"myChoice"为字符串类型。
之后,输出一些信息到控制台,即输出一个可让用户进行选择的菜单。
我们必须要得到用户的输入,即Console.ReadLine()方法所返回的值,该值存放在myChoice变量中。
我们必须先得到用户的输入,之后再处理。
要完成这件事,一个有效的方法是就使用"switch"语句。
我们使用了"default:"case,这是个良好的编程作风。
1.清单4-3 演示了"for"循环的用法。
当你能够精确地知道循环的次数时,For 循环语句就派上了用场。
本程序同清单4-1中"while" 循环程序的运行结果一样。
"for" 循环中,括号中内容由三个由分号隔开的部分:"(<初始化表>;<布尔表达式>;<post-loop 动作表>)"组成
2.初始化表是个由逗号隔开的表达式,在"for"循环的整个周期中,这些表达式仅仅计算一次。
计算是在一开始进行的,并且在循环语句的执行之前进行。
正如在清单4-3所见,通常初始化表是先初始化一个作为计数器的整型变量。
3.一旦进行初始化后,"for" 循环就进入第二部分:布尔表达式的计算。
这里的布尔表达式可以写得很复杂,但是结果只能是true或者false。
布尔表达式通常用来验证计数器变量的状态。
4.一旦布尔表达式的值为true时,就会执行"for"循环大括号中的语句。
通常情况下,这些语句从左大括号开始,不中断地一直执行到右大括号。
但在清单4-3中,有几个例外,几个"if"语句改变了程序的流程。
第一个"if"语句检查"i"是否等于10,这里使用了"break"语句,可在此处跳出循环,转入"for"块后面的第一条语句的执行。
第二条"if"语句使用了求余运算符,看看"i"是否能够被2整除,如果余数等于0,就执行"continue"语句。
控制将跳过循环体中余下的语句,转入下一轮新的循环。
你需要在块中正确地组织好语句,一旦满足有关条件,就执行相应的语句。
5.一旦程序流程遇到continue语句,或者遇到块的结尾处的右括号,就转入"for" 循环括号中的第三项:post-loop 动作表,该表由逗号隔开,在"for"块中的语句都执行完毕之后,就执行该动作表中的动作。
清单4-3中的post-loop动作表中的动作很典型:计数器加1。
一旦动作表执行完毕,流程就转到对布尔表达式值进行判别。
循环将继续进行下去,直到布尔表达式的值为true。
当布尔表达式的值为false,控制流程就转到"for"块之后的第一条语句。
个集合。
(在"System.Collections"也可以由其他的数据类型作集合。
).在Main()方法中,我们所做的第一件事是:定义由四个字符串组成的数组names。
2."foreach"括号中的表达式是由关键字in隔开的两个项组成。
in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。
该循环的运行过程如下:每一次循环时,从集合中取出一个新的元素值,放到只读变量中去,括号中的整个表达式返回值为true,"foreach"块中的语句就能够执行。
一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到"foreach"块后面的第一条可执行语句。
3.在清单4-4的例子中,我们使用了字符串变量person用来存放names数组的每个元素,并且使用Console.WriteLine()方法输出person变量的值。
小结到现在为止,我们掌握"while","do","for"和"foreach"循环语句的用法。
掌握了如何设置有关条件,来改变循环体块中的语句的流程。