



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四课 C# 控制语句中的循环语句教学目的:1. 学会 "while" 循环的用法。 2. 学会 "do" 循环的用法。 3. 学会 "for" 循环的用法。 4. 学会foreach循环的用法。5. 进一步了解"break"语句的用法。6. 如何使用"continue"语句。 教学过程: 第一个要介绍的语句是while循环语句1. 清单4-1. While循环: Whileloop.csusing System;class Whileloop public static void Main()
2、 int myInt = 0;while (myInt < 10) Console.Write("0 ", myInt);myInt+;Console.WriteLine();说明: 1. 清单 4-1 演示了一个简单的 while循环。以关键字 "while"开始,后面是个布尔表达式。所有的控制语句都使用了布尔表达式。这就意味着表达式必须计算出true 或者false 值。本例中,我们将检查myInt 变量,看看它是否小于 10 。因为 myInt已经初始化为 0 ,第一次计算时,该布尔表达式将返回true 值。一旦布尔表达式的值为true ,将
3、执行该布尔表达式后面块中的语句。2. 在 while块中,我们把数字和空格输出到控制台中,之后,对 myInt 进行加 1 运算。一旦执行了while 块中的语句之后,再次计算布尔表达式的值,这种情况将一直循环下去,直到该布尔表达式的值为false 为止。一旦布尔表达式的值为 false, 程序将从 while块之后的第一条语句开始执行。在本例中,我们把数字0 到 9输出到控制台中,之后退出while块,再输出一个新行到控制台。"do"循环语句。2. 清单4-2. Do循环:Doloop.csusing System;class Doloop public static v
4、oid Main() string myChoice;do / Print A MenuConsole.WriteLine("My Address Bookn");Console.WriteLine("A - Add New Address");Console.WriteLine("D - Delete Address");Console.WriteLine("M - Modify Address");Console.WriteLine("V - View Addresses");Console
5、.WriteLine("Q - Quitn");Console.WriteLine("Choice (A,D,M,V,or Q): ");/ Retrieve the user's choice myChoice = Console.ReadLine();/ Make a decision based on the user's choice switch(myChoice) case "A":Console.WriteLine("You wish to add an address."); bre
6、ak;case "D":Console.WriteLine("You wish to delete an address.");break;case "M":Console.WriteLine("You wish to modify an address.");break;case "V":Console.WriteLine("You wish to view the address list.");break;case "Q":Console.Write
7、Line("Bye.");break;default:Console.WriteLine("0 is not a valid choice", myChoice);break;/ Pause to allow the user to see the results Console.Write("Press any key to continue."); Console.ReadLine(); Console.WriteLine(); while (myChoice != "Q" && myChoic
8、e != "q"); / Keep going until the user wants to quit说明1. 清单4-2演示了 "do"循环的例子。"do"循环的格式是:do <语句 > while (<布尔表达式>);其中的语句可以是任何合法的C#语句,布尔表达式同以前的规定一样,其返回值要么为true,要么为false。2. 如果你打算输出清单4-2中的信息或者菜单,之后再读取用户的输入,那么就使用"do"格式的循环而不要使用"while"格式的循环语句。因为在本
9、例中,布尔表达式的值是在循环结束处进行计算的, "do"循环可以保证:循环体中的语句至少执行一次。与此相对应的是:"while"循环一开始时,计算布尔表达式的值,"while"循环不能保证循环体中的语句能够至少执行一次。3. 让我们来回顾一下清单4-2中的内容。在Main()方法中,我们定义了变量"myChoice"为字符串类型。之后,输出一些信息到控制台,即输出一个可让用户进行选择的菜单。我们必须要得到用户的输入,即Console.ReadLine()方法所返回的值,该值存放在myChoice变量中。我们必须先得
10、到用户的输入,之后再处理。要完成这件事,一个有效的方法是就使用"switch"语句。我们使用了"default:"case,这是个良好的编程作风。3. 清单4-3. For循环 : For loop.csusing System;class Forloop public static void Main() for (int i=0; i < 20; i+) if (i = 10)break;if (i % 2 = 0)continue;Console.Write("0 ", i);Console.WriteLine();说明1
11、. 清单 4-3 演示了 "for" 循环的用法。当你能够精确地知道循环的次数时,For循环语句就派上了用场。本程序同清单4-1中 "while"循环程序的运行结果一样。"for"循环中,括号中内容由三个由分号隔开的部分:"(< 初始化表 > ; < 布尔表达式 > ; <post-loop动作表 >)" 组成 2.初始化表是个由逗号隔开的表达式,在"for" 循环的整个周期中,这些表达式仅仅计算一次。计算是在一开始进行的,并且在循环语句的执行之前进行。正如在
12、清单4-3所见,通常初始化表是先初始化一个作为计数器的整型变量。3. 一旦进行初始化后,"for"循环就进入第二部分:布尔表达式的计算。这里的布尔表达式可以写得很复杂,但是结果只能是 true或者 false。布尔表达式通常用来验证计数器变量的状态。4. 一旦布尔表达式的值为 true时,就会执行 "for"循环大括号中的语句。通常情况下,这些语句从左大括号开始,不中断地一直执行到右大括号。但在清单4-3 中,有几个例外,几个 "if"语句改变了程序的流程。 第一个 "if" 语句检查 "i"
13、是否等于10 ,这里使用了 "break"语句,可在此处跳出循环, 转入 "for" 块后面的第一条语句的执行。第二条 "if" 语句使用了求余运算符,看看 "i"是否能够被 2 整除,如果余数等于0 ,就执行 "continue" 语句。控制将跳过循环体中余下的语句,转入下一轮新的循环。你需要在块中正确地组织好语句,一旦满足有关条件,就执行相应的语句。 5. 一旦程序流程遇到continue语句,或者遇到块的结尾处的右括号,就转入 "for" 循环括号中的第三项: post
14、-loop动作表,该表由逗号隔开,在"for" 块中的语句都执行完毕之后,就执行该动作表中的动作。清单 4-3中的 post-loop动作表中的动作很典型:计数器加1 。一旦动作表执行完毕,流程就转到对布尔表达式值进行判别。循环将继续进行下去, 直到布尔表达式的值为true 。当布尔表达式的值为false,控制流程就转到"for"块之后的第一条语句。4. 清单4-4. The ForEach循环 : ForEachloop.csusing System;class ForEachloop public static void Main() string
15、names = "Cheryl", "Joe", "Matt", "Robert"foreach (string person in names) Console.WriteLine("0 ", person);说明1."foreach"循环列举出集合中所有的元素。清单4-4所使用的数组类型,就是这样的一个集合。 ( 在"System.Collections"也可以由其他的数据类型作集合。). 在 Main()方法中,我们所做的第一件事是:定义由四个字符串组成的数组names 。 2."foreach"括号中的表达式是由关键字 in 隔开的两个项组成。 in 右边的项是集合名, in 左边的项是变量名,用来存放该集合中的每个元素。 该循环的运行过程如下: 每一次循环时, 从集合中取出一个新的元素值, 放到只读变量中去, 括号中的整个表达式返回值为true ,"foreach"块中的语句就能够执行。一旦集合中的元素都已经被访问到,整个表达式的值为false ,控制流程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新规定:实习生也需签订劳动合同
- 2025【范本】房屋租赁合同协议
- 2025简易个人借款合同书范本下载
- 2025体育赛事组委会责任保险合同样本
- 2025墓地使用权转让合同
- 2025项目环境监测评估验收技术服务合同
- 2025房屋买卖合同模板2
- 2025交通运输合同协议
- 2025解除租赁合同协议书
- 西北狼联盟2025届高三仿真模拟(二)历史试题试卷含解析
- 2024年职业病防治考试题库附答案(版)
- GB/T 4706.53-2024家用和类似用途电器的安全第53部分:坐便器的特殊要求
- 《智能网联汽车用摄像头硬件性能要求及试验方法》编制说明
- 2024年3月ITSMS信息技术服务管理体系基础(真题卷)
- 节能评审和节能评估文件编制费用收费标准
- 2023-2024年《劳务劳动合同样本范本书电子版模板》
- 中国居民口腔健康状况第四次中国口腔健康流行病学调查报告
- MOOC 数据挖掘-国防科技大学 中国大学慕课答案
- 中药注射剂合理使用培训
- 第13课+清前中期的兴盛与危机【中职专用】《中国历史》(高教版2023基础模块)
- 2024年国家粮食和物资储备局直属事业单位招聘笔试参考题库附带答案详解
评论
0/150
提交评论