do...while循环与while循环不同,它首先执行一次循环体,然后判断条件,属于直到型循环,即直到条件为假时退出循环体,执行循环后面的语句,其语法结构如下:
do
{
循环体语句;
}while(表达式);
其中:表达式可以是关系表达式、逻辑表达式或其它值为“真”或“假”的表达式,其用于使循环进行下去的条件。
循环体语句可以是简单语句或复合语句。
其执行过程为:
首先执行一次循环体语句;然后测试循环进行的条件,即判断表达式的计算结果,如果结果为“真”(true)则重复执行循环体语句;直到表达式的结果值为“假”(false)时,退出循环,执行do…while循环后面的语句。
注意:
(1)C#中的do...while循环与C语言或C++中的循环稍有不同,其用于判断循环是否继续执行的表达式的值只能为”true“或”false“,而C语言或C++中可用是否为非0值来判断;
(2)do...while循环中的表达式括弧后面必须有一个分号(;)(见语法结构中的红色分号),如丢掉此分号,则会报告语法错误。
该循环的特点:
do…while循环不管条件是否满足,循环体中的语句至少被执行一次。
下面用使用一个例子来说明:
using System;
namespace DoWhile
{
class Program
{
//此例演示求1-100之间的整数和
static void Main(string[] args)
{
//i用来存储当前的整数,sum保存所求之和
int i = 0, sum = 0;
do
{
i++;
sum += i; //每次都将i加入sum中
}
while (i < 100);
Console.WriteLine("1-100之间的整数和为:{0}", sum); //输出和
Console.ReadKey();
}
}
}
输出结果如下:
下面再用一个例子来说明do...while语句的使用:
这个例子演示循环输入并输出字符串的例子,直到用户输入quit后退出循环。
using System;
namespace DoWhileString
{
class Program
{
static void Main(string[] args)
{
string str; //存储用户输入的字符
string tmpStr;
Console.WriteLine("--------输入并输出字符串程序-------");
do
{
Console.Write("/n请输入一个字符串:");
str = Console.ReadLine();
tmpStr = str.ToLower(); //将字符串转换为小写
if (tmpStr != "quit")
Console.WriteLine("/n输出:" + str);
}
while (tmpStr != "quit");
Console.WriteLine("你已经成功退出do...while循环。");
Console.ReadKey();
}
}
}
运行结果为:
新闻热点
疑难解答