专业编程基础技术教程

网站首页 > 基础教程 正文

流程控制-循环语句(5-5)-C#编程零基础到入门学习

ccvgpt 2024-10-12 14:11:10 基础教程 10 ℃

有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。

循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的一般形式:

流程控制-循环语句(5-5)-C#编程零基础到入门学习

while 循环

只要给定的条件为真,C# 中的 while 循环语句会重复执行一个目标语句。

while 循环的语法:

       while(表达式)
       {
          语句;
       }

当条件为假时,程序流将继续执行紧接着循环的下一条语句。while 循环的关键点是循环可能一次都不会执行。当条件被测试且结果为假时,会跳过循环主体,直接执行紧接着 while 循环的下一条语句。

完整示例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace whileLoop1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            /* 局部变量定义 */
            int a = 10;
            /* while 循环执行 */
            while (a < 20)
            {
                Console.WriteLine("a 的值: {0}", a);
                a++;
            }
        }
    }
}

当小于20的时候会一直输出数字。一直到结果不成立的时候。

模拟场景:

要求使用while循环计算1到100的累加和。

完整示例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace whileLoop2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int sNum = 1;//开始是1
            int sumNum = 0;
            while (sNum <=100) 
            {
                sumNum += sNum;//sumNum = sNum+1
                sNum++;//sNum+1
            }
            Console.WriteLine("1到100的和是:"+sumNum);
        }
    }
}

等效代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace whileLoop3
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int sNum = 0;//开始是0
            int sumNum = 0;
            while (sNum < 100)
            {
                sNum = sNum + 1;//sNum+1
                sumNum = sNum+sumNum;//sumNum = sNum+sumNum
                
            }
            Console.WriteLine("1到100的和是:" + sumNum);
        }
    }
}


无限循环(死循环)完整示例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace deathLoop
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            while (true)//改成1>0试试
            {
                i++;
                Console.WriteLine("我循环了{0}次",i);
            }
        }
    }
}

do...while循环

不像 while 循环是在循环头部测试循环条件。do…while 循环是在循环的尾部检查它的条件。

do…while 循环与 while 循环类似,但是 do…while 循环会确保至少执行一次循环。

do…while 循环的语法:

    do
    {
       语句;
    }
	while( 表达式);

注意,条件表达式出现在循环的尾部,所以循环中的 表达式 会在条件被测试之前至少执行一次。

如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 语句。这个过程会不断重复,直到给定条件变为假为止。

完整示例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace whileLoop4
{
    internal class Program
    {
        static void Main(string[] args)
        {
            /* 局部变量定义 */
            int a = 10;
            /* do 循环执行 */
            do
            {
                Console.WriteLine("a 的值: {0}", a);
                a = a + 1;
            } while (a < 20);
        }
    }
}

模拟场景:

要求使用do...while循环计算1到100的累加和。

完整示例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace whileLoop5
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int sNum = 1;
            int sumNum = 0;
            do
            { 
                sumNum=sumNum+sNum;
                sNum++; 
            } 
            while 
            (sNum <=100);
            Console.WriteLine("1-100的累加和是:{0}",sumNum);
        }
    }
}

while循环和do...while循环的主要区别在于它们的条件检查时机和执行顺序。while循环先检查条件再执行循环体,而do...while循环先执行循环体再检查条件。

在使用while循环时,以下是一些注意事项:

  1. 定义循环条件:在while循环中,您需要定义一个条件,该条件将在每次迭代之前进行检查。如果条件为真,循环将继续执行;否则,循环将终止。确保您定义的条件在循环体内部有修改,否则循环可能会无限循环。
  2. 初始化循环变量:在while循环之前,您需要初始化循环变量,以便在第一次迭代时使用。
  3. 循环体中的语句:确保在循环体中使用正确的语句,以便在每次迭代时执行所需的操作。
  4. 更新循环变量:在循环体中,您需要更新循环变量,以便在下次迭代时满足循环条件。
  5. 避免无限循环(死循环):确保您定义的循环条件在循环体内部有修改,以避免无限循环。如果循环条件始终为真,则循环将无限执行,这可能会导致程序崩溃或冻结。
  6. 使用break和continue语句:在while循环中,您可以使用break语句退出循环,使用continue语句跳过当前迭代并继续下一个迭代。
  7. 嵌套循环:在使用嵌套循环时,确保您正确地定义了每个循环的条件和变量,并使用适当的缩进和命名约定来使代码易于阅读和理解。
  8. 错误处理:在while循环中,您需要考虑到可能出现的错误情况,并使用try-catch块来捕获异常并进行适当的处理。

Tags:

最近发表
标签列表