今天继续和大家探讨C#,今天我们来聊一聊C#中的循环结构。对于循环结构我想在所有语言中都会看到的!因为循环结构是一个又省时又省力的一个好方法!所以大家用的也比较普遍,接下来我们就一起进入循环结构。

在我们登陆QQ时,如果你的密码输入不正确就会一直提示你账号或者密码不正确,这个功能就是使用了循环结构,好的!我们还是来看个控制台程序的例子,我觉得例子是最容易说明问题的方法。

 1 class Program 2     { 3         static void Main(string[] args) 4         { 5             Console.Write("登陆账号"); 6             string name = Console.ReadLine();//接收登陆账号 7             Console.Write("登陆密码"); 8             string password = Console.ReadLine();//接收登陆密码 9        //while循环判断登陆账号和密码是否都正确,有一个不正确就继续输入10             while (name != "admin" || password != "123")11             { 12                 //如果登陆不正确就给出提示13                 Console.WriteLine("登陆账号或者密码不正确,请重新输入");14                 Console.Write("登陆账号");15                 name = Console.ReadLine();//再次接收账号16                 Console.Write("登陆密码");17                 password = Console.ReadLine();//再次接收密码18             }19             Console.WriteLine("登陆成功...");//登陆成功,循环结束20             Console.ReadKey();21         }22     }

运行结果:

while循环结构语法:

while(条件表达式){  代码块;}

流程图:

流程图说明:

while循环执行时,先判断条件表达式,如果条件表达式结果为真(true),执行while循环里的代码(就是登陆的账号和密码),如果条件表达式的结果为假(false),while循环结束(登陆成功)。这里在执行while循环之前,大家一定要给条件表达式里的变量赋值,就是先输入一次账号和密码,再做判断。

下一个do…while循环,对于do…while循环和while差不多,do…while是先执行,后判断,而while是先判断,后执行。do…while说白了就是先斩后奏的意思!呵呵!下面看个控制台程序的例子就会明白了:

 1 class Program 2     { 3         static void Main(string[] args) 4         { 5             6             string answer;//先定义一个变量,用来保存 7             do 8             { 9                 //输出提示并询问10                 Console.WriteLine("青苹果住在博客园");11                 Console.WriteLine("你是否知道青苹果(Y/N)");12                 answer = Console.ReadLine();//接收答案13             } while (answer != "Y" && answer != "y");14             Console.WriteLine("我知道青苹果");15             Console.ReadKey();16         }17     }

运行结果:

我简单的解释一下这个例子,这个例子就相当于你问路,当你问第一个人说不知道后,你就会去问下一个人,直到你问到有人知道路线的为止(也就是回答Y的人)。

我们来看一下do...while循环的语法吧:

do{  代码块;}while(条件表达式);

流程图:

流程图说明:

从程序开始,首先执行一次循环里的代码块,然后执行while里的条件表达式进行判断,如果结果为真(true),继续执行代码块,也就是开始循环,如果为假(false),循环结束。

While和do…while都是不确定循环的次数,while是判断了之后再去执行,而do…while是先执行再去判断,至少执行一次。下面我们来看一个已经确定循环次数的,for循环,

for循环是用在已经知道循环的次数来进行循环的,还是看个控制台程序:

 1 class Program 2     { 3         static void Main(string[] args) 4         { 5             6             //我们就拿西游记九九八十一难比喻吧(本人非常鄙视那些翻拍的东西,比如说:新西游记) 7        //循环输出第几难,如果到81难了就结束循环,num代表第几难。 8             for (int num = 1; num <= 81; num++) 9             {10                 Console.WriteLine("第几难{0}难", num);//输出第几难11             }12             Console.WriteLine("九九八十一难结束");13             Console.ReadKey();14         }15     }

运行结果:

这个例子是已经确定了循环次数,在一般我们知道循环次数的情况下一般用for循环。

来看一下for循环的语法吧!

for(表达式1;表达式2;表达式3){  代码块;}

这个语法中的表达式我简单的说一下吧,可能刚一看有点晕,这里面的表达式1是赋值语句,是给循环中的变量赋值的,比如:int num=1;表达式2是条件表达式,可以说是用来判断的,如果这个判断结果为假(false),那么循环就结束了,如果为真(true),循环就继续,比如:在上面的控制台程序中的num<=81;表达式3也是赋值语句,就是用来进行循环中变量的运算,比如:num++;这三个表达式合起来的写法就是for(int num=1;num<=81;num++)

流程图:

流程图说明:

for在循环时,首先执行表达式1,然后执行表达式2判断条件是否正确,如果为真(true),那么就执行循环里的代码块,再执行表达式3;如果结果为假(false),循环就结束。在这里说一下啊,就是在判断为真(true)的情况下,执行完表达式3后执行表达式2再次进行判断,然后重复以上操作,直到条件表达式判断为false结束为止。

下面我们来看两个特殊的东东。。。break和continue 这两个是在程序中起到中止和继续的操作,这两个比较好理解!我就不说太多了,写两个控制台程序一看就明白了,

break控制台程序:

 1 class Program 2     { 3         static void Main(string[] args) 4         { 5             int count = 0;//先定义变量来保存的登陆次数,初始化为0 6             Console.Write("登录账号"); 7             string name = Console.ReadLine(); 8             Console.Write("登录密码"); 9             string password = Console.ReadLine();10             //下面用while循环来看一下break的作用,我们的目的是当循环输入三次密码之后给出用户提示11             while (name != "admin" || password != "123")12             {13                 count++;//每循环一次就让它加一14                 if (count == 3)//如果登陆的次数是3的时候,就中止它15                 {16                     break;// (^o^)注意啦!break在这里呢 !17                 }18                 //如果输入不正确,让用户重新输入19                 Console.WriteLine("密码或者账号不正确,请重新输入!");20                 Console.Write("登录账号");21                 name = Console.ReadLine();22                 Console.Write("登录密码");23                 password = Console.ReadLine();24             }25             if (count == 3)//上面中止循环之后给出提示26             {27                 Console.WriteLine("对不起!您已经连续输入错误3次!");28             }29             else30             {31                 Console.WriteLine("青苹果登陆博客园成功");//登录成功给出提示,循环结束32             }33             Console.ReadKey();34         }35     }

运行结果:

下面一个,continue控制台程序:

 1 class Program 2     { 3         static void Main(string[] args) 4         { 5             //continue这个我们来用for循环实现,循环7次,代表一个星期, 6             for (int i = 1; i <= 7; i++) 7             { 8                 if (i == 3)//判断为星期六的时候休息 9                 {10                     Console.WriteLine("星期3---请假");11                     continue;//  (^0^)注意啦!continue在这里呢!12                 }13                 //输出判断14                 if ( i == 7)15                 {16                     Console.WriteLine("周日休息");17                 }18                 else19                 {20                     Console.WriteLine("星期{0}---上班。。。", i);//循环输出星期21                 }22             }23             Console.ReadKey();24         }25     }

运行结果:

看明白了吧!好的,我们再来简单的理解一下break和continue。break是中止循环,它会直接影响到循环次数,就是说只要break了这个循环就直接结束,不带犹豫的。而continue是停止本次循环,继续执行下面的循环,不影响循环的次数,就比如说你每天吃三顿饭吧(正常人的饮食习惯),如果你中午那顿饭continue了,没有吃!那么你晚上可以再吃,但是如果break了!就以后不能再吃饭了!只有等着饿死了。。。
最后我们来看一下foreach循环,foreach循环可以说是C#语言里面特有的循环语句,我们来举个例子来看看它多特殊:

 1 class Program 2     { 3         static void Main(string[] args) 4         { 5             Console.WriteLine("请输入数字"); 6             string str = Console.ReadLine(); 7             //foreach循环每次从字符串str里面得到一个单字符 8             foreach (char ch in str) 9             { 10                 //判断这个单字符是否为数字11                 if (Char.IsDigit(ch) == false)//“Char.IsDigit”这个是判断数字的,如果为数字的话返回true,否则返回false,在这里只要知道就可以了!12                 {13                     Console.WriteLine("{0}不是数字", ch);//输出结果14                     break;//break结束循环15                 }16             }17             Console.WriteLine("判断完毕");18             Console.ReadKey();19         }20     }

运行结果:

foreach语法:

foreach(数据类型 变量 in 集合或数组){  代码块;}

这里foreach循环的语法可能不太好理解,下面我就详细的说说,foreach循环的每一次循环都要从集合或者数组中(in)按从左向右的顺序拿到一个值,这个值得数据类型和集合或者数组的数据类型要一致,一般情况下这个值保持在一个变量里。foreach循环和for循环有些相似,但是foreach循环是不固定循环的次数,而且在上面那个foreach控制台的例子中我们看到它的循环次数是自动控制的。

流程图:

流程图说明:

foreach在循环时,首先赋值,然后在表达式1中进行判断,如果为真(true)就执行代码块,再执行表达式2,然后进行循环判断,当表达式1判断结果为假(false)时循环结束。

ok!以上就是本次的所有循环,在循环中我们要注意一个问题,就是死循环,死循环在程序开发中应该尽量避免,当我们一旦发现了死循环,就要仔细检查循环里控制循环退出的代码是否有错误。我们还是来看个典型的事例吧:

 1 class Program 2     { 3         static void Main(string[] args) 4         { 5             int i = 1; 6             while (i < 10) 7             { 8                 Console.WriteLine("这是第{0}次循环", i); 9                 //这里是缺少的代码处10             }11             Console.ReadKey();12         }13     }

运行结果:

错误点修改:

正确的运行结果:

总结:

1.while循环结构;

2.do...while循环结构;

3.for循环结构;

4.关键字break和continue;

5.foreach循环结构;

6.死循环;

Ok!本次分享就到这里,欢迎大家多多留言讨论,这样我们才可以共同进步。今天就到这里吧!已经十二点多了!该睡觉了!最后还是复制内句话:此文是本人的个人观点,如有不完善或者不准确的地方,欢迎高手进行批评,老鸟进行指点。

作者:青苹果
座右铭:不断的反省自己!然后加以改变!
感兴趣的技术:.NET、数据库、JavaScript、C#、ajax、winform、jquery、extjs
本文出处:http://www.cnblogs.com/xinchun/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/xinchun/archive/2012/02/25/2362067.html

C#基础解析之Ⅲ 【循环结构】相关推荐

  1. Python基础------几种循环结构详解

    Python基础------几种循环结构详解 在所有的编程语言中,循环结构是必不可少了,Python也一样.在python主要有一下几种循环结构:for-in-.while.range()三种最为常见 ...

  2. Java基础语法_循环结构【多测师_何sir】

    Java基础语法_循环结构 for 循环 while 循环 do-while 循环 Java 增强 for 循环 break 关键字 continue 关键字 for 循环 语法结构: for(初始化 ...

  3. 【C语言基础05】循环结构程序设计(含经典代码解析)

    目录 5.1 while语句 5.2 do-while语句 5.3 for语句 5.4 三种循环的比较 5.5 循环的嵌套 5.6 break语句和continue语句 5.7 综合案例 循环结构又称 ...

  4. 20130328java基础学习笔记-循环结构for以及for,while循环区别

    1.循环结构:for讲解 class ForDemo {     public static void main(String[] args)     {         /*         for ...

  5. Python编程基础08:循环结构

    文章目录 一.为什么要用循环 (一)老老实实的笨方法 (二)采用循环结构的巧方法 1.采用for循环输出百遍口号 2.采用while循环输出百遍口号 二.条件循环 - while循环 (一)语法格式 ...

  6. java基础起步四-循环结构

    文章目录 循环结构介绍: 一.循环结构 1.while循环 2. do-while循环结构 3. for循环 二: 循环结构练习题 1. 从键盘分别输入年月日,使用for+if实现判断这一天是当年的第 ...

  7. 小白自学笔记——JAVA基础 2.9循环结构

    循环结构 在某些条件满足的情况下,反复执行特定代码的功能. 循环语句分类 for 循环 while 循环 do-while 循环 FOR循环结构 for (①初始化部分;②循环条件部分;④迭代部分){ ...

  8. JavaSE(基础篇)——循环结构(for,while,do while)

    每日一语:放下,是为了更好的前行,曾经的美好留于心底,曾经的悲伤置于脑后,过去终是过去,那人,那事,那情,都是过往云烟而已. ​ ​​​​ 目录 1.while循环 2.do......while循环 ...

  9. java基础知识之循环结构与数组

    1.for循环:for(循环变量的初始化1:循环的条件2:循环变量的变化3){ 循环体4: } 执行顺序为:1,2,4,3,2,4,3,2,4,3,2,4,3.....当2为false时结束循环 2. ...

  10. 循环自增_大学C语言—循环结构及应用

    基础知识常见循环结构及形式for循环 for(设置初始值:循环条件判断:设置循环增减量) { 语句1: 语句2: -- 语句n: } while循环 while(条件判断) { 语句1: 语句2: - ...

最新文章

  1. javaScript 工作必知(三) String .的方法从何而来?
  2. C#控制管理VisualSVN Server
  3. AcWing之二维数组的查找
  4. 16进制、10进制(n进制)转换为二进制
  5. 基于‘BOSS直聘招聘信息’分析企业到底需要什么样的PHPer
  6. 转:apache+python+mod_python+django 编译安装指南
  7. CAD迷你看图V9.5版
  8. 什么是生成式对抗神经网络GAN
  9. 夜神模拟器安装frida-server图文详解
  10. Java的Exception异常机制(一)
  11. 无法连接 树莓派 网线连接电脑_无显示器通过网线连接笔记本电脑玩转树莓派...
  12. Esp8266 Node Mcu 一直乱码的问题详解
  13. C. Garland dp
  14. MySQL高级-04-授课笔记
  15. ocm认证年薪多少_华为“天才少年”张霁:本硕“双非”,凭啥斩获最高年薪201万...
  16. php 应用宝支付,手游渠道应用宝接入总结
  17. PhoneGap介绍
  18. 【软考网络管理员】2023年软考网管初级常见知识考点(2)- 数据通信技术
  19. 五一假期庄河、金石滩迎客16万 近郊游倍儿火
  20. stm32定时器实现 微秒延时

热门文章

  1. 社区奖品之原木双面记事板
  2. Spring事务的传播行为和隔离级别
  3. 常用Git命令清单。
  4. centos 7 mysql图形界面_centos7-vnstat图形界面搭建
  5. Lua语法入门HelloWorld
  6. rdb和aof优势劣势
  7. 实现Callable接口通过FutureTask包装器来创建Thread线程
  8. Spring5的集成测试
  9. SpringMVC快速入门-开发步骤
  10. 缓存-分布式锁-Redisson简介整合