C#中while循环和do-while循环举例详解

 更新时间:2025年07月18日 09:25:48   作者:白雪公主的后妈  
循环结构是计算机程序设计中实现重复操作的核心工具,主要包括for、while和do-while三种形式,这篇文章主要介绍了C#中while循环和do-while循环的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

一般情况下,知道循环几次采用for循环,如果不知道循环要执行几次,那么 while 循环或 do-while 循环就是比较好的处理方式。

一、while循环

while(条件表达式)
{
    条件表达式成立(true)时要执行的语句;
}

进入 while 循环时,必须先检查条件表达式,如果符合,就会执行循环体内的语句:如果不符合,就会跳离循环。因此循环内的某一段语句必须以改变条件表达式的值来结束循环的执行,否则就会形成无限循环。

二、do-while循环

无论是 while 循环还是 do/while 循环都是用来处理未知循环执行次数的程序。while 循环先进行条件运算,再进入循环体执行语句;do/while 循环恰好相反,先执行循环体内的语句,再进行条件运算。对于 do/while 循环来说,循环体内的语句至少会被执行一次;while 循环在条件运算不符合的情况下不会进入循环体来执行语句。

do/while 循环语法如下:

do {
//程序语句;
}while(条件运算);

不要忘记条件运算后要有“:”结束循环。那么什么情况下会使用 do/while 循环呢?通常是询问用户是否要让程序继续执行时。下面还是以“1+2+3+...+10”为例来认识一下 do/while循环,语句如下:

int counter=1,sum=0://counter是计数器
do {
    sum += counter;//sum 存储数值累加的结果
    counter++;//控制运算:让计数器累加
}while(counter<= 10);//条件表达式

表示会进入循环体内,运行程序语句后再进行条件运算,若条件为true 则继续执行,不断重复,直到 while 语句的条件运算为 fàalse 才会离开循环。它的流程控制图如图 4-25 所示。

语句解析:

代码:

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

//User defined
using static System.Console;//导入静态类

namespace while_dowhile
{
    class Program
    {

        static void Main(string[] args)
        {
            //while循环
            int sum = 0;
            int counter = 1;//计数器
            while (counter <= 10)
            {
                sum += 1;
                counter++;//将计数累加
            }
            Console.WriteLine("累加结果:{0}", sum);

            //dowhile循环
            int counter2 = 1,sum2 = 0;//counter是计数器
            do {
                sum2 += 1;//sum存储数值累加的结果
                counter2++;//控制运算:让计数器累加
            } while (counter2 <= 10);//条件表达式
            Console.WriteLine("累加结果:{0}", sum2);

            //while循环 + break中断+continue
            int sum3 = 0;
            int num1 = 0;
            int counter3 = 1;//计数器
            while (counter3 <= 10)
            {
                sum3 += 1;
                counter3++;//将计数累加
                if (counter3 % 2 == 0)//找出奇数
                {
                    num1 += 1;
                    WriteLine("执行continue");
                    continue;//继续循环
                }


                if (sum3>7)
                {
                    WriteLine("sum3>7,中断");
                    break;
                }
            }
            Console.WriteLine("累加结果:{0}", sum3);
            Console.WriteLine("执行continue{0}", num1);

            ReadKey();
        }
    }
}

三、中断语句break和跳出本次执行循环continue

一般来说,break 语句用来中断循环的执行,continue 语句用来暂停当前执行的语句,它会回到当前语句的上一个区块,让程序继续执行下去。因此,可以在for、while、do...while循环中的程序语句中加入 break或 continue 语句,使用一个简单的范例来说明这两者之间的差异。

代码:

            //while循环 + break中断+continue
            int sum3 = 0;
            int num1 = 0;
            int counter3 = 1;//计数器
            while (counter3 <= 10)
            {
                sum3 += 1;
                counter3++;//将计数累加
                if (counter3 % 2 == 0)//找出奇数
                {
                    num1 += 1;
                    WriteLine("执行continue");
                    continue;//继续循环
                }


                if (sum3>7)
                {
                    WriteLine("sum3>7,中断");
                    break;
                }
            }
            Console.WriteLine("累加结果:{0}", sum3);
            Console.WriteLine("执行continue{0}", num1);

总结 

到此这篇关于C#中while循环和do-while循环的文章就介绍到这了,更多相关C# while循环和do-while循环内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#使用round函数四舍五入的方法

    C#使用round函数四舍五入的方法

    这篇文章主要介绍了C#使用round函数四舍五入的方法,实例分析了C#中round函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • C# 显示、隐藏窗口对应的任务栏

    C# 显示、隐藏窗口对应的任务栏

    WPF中全屏窗口,会自动隐藏任务栏,那非全屏窗口如何隐藏任务栏?甚至有没有一种场景,隐藏任务后自定义一套系统任务栏来显示?这篇文章主要介绍了C# 显示、隐藏窗口对应的任务栏,需要的朋友可以参考下
    2021-10-10
  • C#实现QQ聊天窗口

    C#实现QQ聊天窗口

    这篇文章主要为大家详细介绍了C#实现QQ聊天窗口,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 深入多线程之:解析线程的交会(Thread Rendezvous)详解

    深入多线程之:解析线程的交会(Thread Rendezvous)详解

    本篇文章是对线程的交会(Thread Rendezvous)进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#基于NPOI操作Excel

    C#基于NPOI操作Excel

    这篇文章介绍了C#基于NPOI操作Excel的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • 关于C# 4.0新特性“缺省参数”的实现详解

    关于C# 4.0新特性“缺省参数”的实现详解

    这篇文章主要给大家介绍了关于C# 4.0新特性“缺省参数”的实现,文中通过示例代码介绍的非常详细,对大家学习或者使用C# 4.0具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • C#中的Socket编程详解

    C#中的Socket编程详解

    本文详细讲解了C#中的Socket编程,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • 利用C#验证哥德巴赫猜想的示例代码

    利用C#验证哥德巴赫猜想的示例代码

    哥德巴赫猜想(Goldbach’s Conjecture)是数学领域的一个著名猜想,大致内容为任何一个大于2的偶数都可以表示为两个质数之和,下面我们就来看看如何利用C#验证这一猜想呢
    2024-03-03
  • C#读取多条数据记录导出到Word之图片输出改造

    C#读取多条数据记录导出到Word之图片输出改造

    这篇文章主要为大家详细介绍了C#读取多条数据记录并导出到Word标签模板中的图片输出问题,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2024-11-11
  • WINFORM 窗体间的传值实现解析

    WINFORM 窗体间的传值实现解析

    这篇文章主要介绍了WINFORM 窗体间的传值实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论