C#中的主要流程控制语句之循环语句

循环结构可以实现一个程序模块的重复执行,它对于我们简化程序,更好地组织算法有着重要的意义。C#为我们提供了若干种循环语句,分别适用于不同的情形,下面依次介绍。

 


1.While循环

While循环语句可以有条件地将内嵌语句执行0遍或者若干遍,基本语法为:

while(boolean expression)
{
   embeded-statement;
}

While循环语句执行时,先判断while后面括号内的语句的值,当为False时,不执行大括号内的嵌入程序段,若为True 时,进入循环,执行循环内程序段一遍后,再次判断条件是否满足,若满足就一直执行下去,一直到不满足为止,跳出循环,继续后面的语句。

这是根据上面的while循环语法画的控制流程图:




2.Do循环

程序中使用循环时,第一次不检查条件是否满足,直接进入循环,第二次以后才检查条件是否满足,条件为True时,才能进入循环。这时候,我们便需要使用Do循环。

   Do循环的基本语法格式为:

do
{
      embeded-statement;
} 
while(boolean expression);


这是根据上面的DO循环语法画的控制流程图:



3.For循环

在程序的设计过程中,若希望从某个值开始,每执行指定的程序段一次,便将该数值增加(减少)一个单位,如果结果始终比终值小(大),便继续执行该程序段,一直到不满足终值才离开该程序段。这时,我们就可以使用For循环语句。

 For循环语句的基本语法为:


 for(initializer;condition;iterator)
  {
       statement;
  }

其中Initializer,Condition,Iterator这3个项都是可选项。Initializer为循环控制变量作初始化,循环控制变量可以有一个或多个(用逗号隔开);Condition为循环控制条件,也可以有一个或者多个语句;Iterator为按规律改变循环控制变量的值。

这是根据上面的For循环语法画的控制流程图


例:使用For循环语句,写一个冒泡排序法(从小到大排列)。

程序代码 :


using System;
using System.Collections.Generic;
using System.Text;
namespace forExampleMP
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] myArray = new int[] { 10, 8, 3, 5, 6, 7, 4, 6, 9 };
            // 取长度最长的词组 -- 冒泡法
            for (int j = 1; j < myArray.Length; j++)
            {
                for (int i = 0; i < myArray.Length - j; i++)
                {
                    // 如果 myArray[i] > myArray[i+1] ,则 myArray[i] 上浮一位
                    if (myArray[i] > myArray[i + 1])
                    {
                        int temp = myArray[i];
                        myArray[i] = myArray[i + 1];
                        myArray[i + 1] = temp;
                    }
                }
            } 

 Console.WriteLine("冒泡法排序后结果是:");
            for (int k = 0; k < myArray.Length; k++)
            {
                Console.Write(myArray[k].ToString()+",");
            }
            Console.ReadLine();
        }
    }
}

运行结果:



4.Foreach语句

Foreach语句是在C#中新引入的,C和C++中没有这个语句。它表示收集一个集合中的各元素,并针对各个元素执行内嵌语句。

Foreach语句的基本语法格式为:

foreach(type identifier in expression)
{
  statement;
}

关于Foreach语句的几点说明:

首先,变量用来逐一存放数组元素内容,故该变量声明的类型要和数组的类型一致,且必须声明后才能使用;其次,数组内元素的个数决定循环内程序段重复执行的次数;最后,每次进入循环,会依次将数组元素内容指定给变量,当所有元素都读完后,系统就会离开Foreach循环。

Foreach语句的一个例子:

使用Foreach循环语句输出一个数组的所有元素值。 


using System;
using System.Collections.Generic;
using System.Text;
namespace foreachExample
{
    class Program
    {
        static void Main(string[] args)
        {
            int index = 1;
            string[] myArray = new string[6] { "Pirlo", "Ronaldo", "Beckham", "Kaka", "Owen", "Henry" };
            foreach (string arr in myArray)
            {
                Console.WriteLine("第{0}个球员的名字是:{1}",index++,arr);
            }
            Console.ReadLine();
        }
    }
}

运行结果:



5.死循环

可以通过编写错误代码或错误的设计,定义永远不终止的循环,即所谓的无限循环。下面的代码就是一个死循环的例子。

while (true)
{
   //statement;
}

当然,死循环代码也是有用的,比如说,我们可以使用跳转语句(Break等)退出这样的循环。

 

以上是C#中的循环语句,接下来我会写C#中的跳转语句,敬请期待。





评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值