第3章循环结构ppt课件.ppt
第三章 循环结构,回顾,条件表达式的结果是什么类型的值?switch语句只能判断哪几种类型的值?代码找错:switch(str)case “A”:Console.WriteLine(); default: Console.WriteLine(); break;,switch(str) case “A”:Console.WriteLine(); break; default:Console.WriteLine(); break;,本章内容,while语句do.while语句for语句,本章学习目标,熟练使用while语句熟练使用dowhile语句熟练使用for语句,循环,为什么要用到循环?,上面的代码输出乘法口诀表,是否我们在每次遇到这样的情况就把类似的代码重新编写一遍,反复执行100次就要重复编写100次呢?相信这样的开发对编程人员就是一种折磨。那么怎样解决这个问题呢,这就要靠循环来完成。,while循环,大部分人都使用过QQ,在QQ上登录时,如果没有输入正确的帐号和密码,就会一直给用户提示直到帐号和密码都正确为止,分析,这个例子里面先接收用户的帐号和密码,然后判断是否正确,如果正确,登录成功;如果不正确,就要重复接收用户的帐号和密码并再次判断,直到正确为止。,提问,while循环,示例,Console.Write(我的QQ);Console.Write(登录帐号:);string name = Console.ReadLine(); /接收登录帐号Console.Write(登录密码:);string password = Console.ReadLine(); /接收登录密码/循环判断登录帐号和密码是否都正确,有一个不正确就继续输入while (name != admin | password != 123) Console.WriteLine(登录帐号或密码不正确,请重新输入!); Console.Write(登录帐号:); name = Console.ReadLine(); /再次接收登录帐号 Console.Write(登录密码:); password = Console.ReadLine(); /再次接收登录密码Console.WriteLine(欢迎登录我的QQ。);,while循环,重复执行判断登录帐号和密码的正确,然后在不正确的情况下重新输入,while循环,语法,反复执行的代码,判断是否执行循环的条件,如果条件表达式的结果为true,执行while循环里的代码块;如果为false,循环结束,dowhile循环,猪八戒被牛魔王的手下抓住,先被殴打一顿,然后被逼问唐僧的下落,猪八戒只要回答”不知道”就要被殴打,直到回答”知道”才停止。怎样用循环来完成?,分析,猪八戒被殴打和询问是反复执行的功能,条件是猪八戒是否知道唐僧下落。但是这里要求不管猪八戒怎样回答都要先被打一次,提问,dowhile循环,示例,string answer; /定义变量准备保存回答内容do /输出提示和询问 Console.WriteLine(猪八戒被殴打中。); Console.Write(是否知道唐僧的下落?(Y/N); answer=Console.ReadLine(); /接收回答内容 while(answer!=Y,dowhile循环里的代码必须先执行1次,再进行判断,dowhile循环,语法,反复执行的代码,判断是否继续执行循环的条件,先执行1次代码块,然后判断条件表达式结果,如果条件表达式的结果为true,继续执行while循环里的代码块;如果为false,循环结束,while和dowhile区别,Year,小结,while和dowhile的条件表达式的值是什么类型?以下代码正确与否?如果正确,下面代码循环几次,变量sum的值是多少?int sum=0,i=1;while(i5) sum=sum+i; ,for循环,西游记中唐僧师徒要经历九九八十一难才能取得真经,少一难佛祖也要给他们加上,我们用循环来实现这八十一难。,分析,循环要从第一难开始,每经历(循环)一难就要输出一次提示,一直循环到第81难结束,取得真经。,提问,for循环,示例,/初始化循环的起点,num代表第几难/循环输出第几难,如果到了81难,就结束循环for (int num = 1; num = 81; num+) Console.WriteLine(这是第0难, num); /输出第几难Console.WriteLine(经历完九九八十一难,唐僧师徒终于取到了真经。);,for循环有起点,有明确的循环次数,for循环,语法,条件表达式,判断循环是否继续执行,首先执行表达式1,再执行表达式2,判断是否符合循环条件,判断结果如果为false,结束循环;如果为true,执行代码块,然后执行表达式3,再然后执行表达式2继续判断,重复上面的操作直到判断结果为false结束。,赋值语句,控制循环变量的运算,循环执行的代码,赋值语句,表示循环的起点,break,先接收用户的帐号和密码,然后判断是否正确,如果正确,登录成功;如果不正确,就要重复判断是否是第三次循环,如果是,警告并结束循环,否则接收用户的帐号和密码并再次判断帐号和密码是否正确,直到正确为止。,提问,分析,break,示例,int count = 0; /定义变量保存登录次数,初始化为0while (name != admin | password != 123) count+; /每循环1次,登录次数加1 if (count = 3) /如果登录次数为3次,中止循环 break; ,强制退出循环,continue,每星期7天,循环7次,每次循环输出游戏运行,如果1代表星期一的话,循环到3的时候在循环中输出通知而不输出游戏运行。,提问,某网络游戏运营商每星期的星期三进行服务器的维护,在星期三要发布通知并暂时停止运行游戏,其余时间正常运行。这个例子特殊的地方是,每天循环运行游戏,但是到星期三(条件),循环执行的是通知而停止游戏,星期三之后循环继续运行游戏,并没有停止.,分析,continue,示例,结束本次循环,继续执行for循环的表达式3(i+),break和continue的区别,关键字,不同点,break中止循环,直接影响到循环次数,break,continue停止本次循环,继续循环,不影响循环次数,continue,小结,for循环的三个表达式的作用。下面的代码输出什么?,sum=0,常见错误-死循环,条件表达式永远为true,常见错误-死循环,变量进行递加,总结,while和dowhile的区别是什么?for循环的三个表达式的作用?break和continue的区别是什么?在循环中我们应该尽量避免_。下面代码的输出结果是,for(int i=0;i5;i=i+2) Console.WriteLine(“0”,i);,024,死循环,Thank You!,