do while 有例句体会循环的真正原理

do while

 语法:

do

{

 循环体;

}

While (条件); //记住有分号

{

}

执行过程:

1)执行循环体 执行完循环休息转向2

2)判断条件是否成立,如果 条件为true.刚转向1 如果条件为False 则转向3

3)跳出循环体 结束

假如循环体一开始就不成立,对天while循环一次都不执行,对于do-while循环体会执行一次,所以do-while的循环体一般至少会执行一次,

while 先判断后执行

do while 先执行后判断


例1:

string answer;

do
{
Console.WriteLine("小兰表演一遍舞蹈!");
Console.WriteLine("老师你满意吗 (y / n)");  //循环体
answer=Console.ReadLine();

}while (answer!="y"); //循环条件

Console.WriteLine("跳得不错。回家吧");

Console.ReadKey();


例2  嵌入了一个 while循环  (来限定只能输入y n)

string answer;

do
{
Console.WriteLine("小兰表演一遍舞蹈!");
Console.WriteLine("老师你满意吗 (y / n)");
answer=Console.ReadLine();
while (answer!="y"&&answer!="n") //嵌入了一个while循环
{
Console.WriteLine("只能输入y或者n!");
answer = Console.ReadLine();
}

}while (answer!="y");

Console.WriteLine("跳得不错。回家吧");

Console.ReadKey();


int sum = 0;
int i = 1;
while (i<=100)
{
sum += i;
i++;


}
Console.WriteLine(sum);
Console.ReadKey();


int a = 1, b = 100;
int sum = 0;
int i =1 ;
while (i<=50)
{
sum =sum+(a+b); //如果此处改为sum=a+b  可以体会循环的真正用法  因为这样永远是a+b 而没有把每次相加后的结果累加起来.
a++;
b--;

i++;


}

Console.WriteLine("{0}", sum);
Console.ReadKey();


2种写法

string userName;
string passWord;
do
{
Console.WriteLine("请输入用户名");
userName = Console.ReadLine();
Console.WriteLine("请输入密码");
passWord = Console.ReadLine();
if (userName != "admin" || passWord != "888888")
{
Console.WriteLine("错误请重新输入");
}


} while (userName != "admin" || passWord != "888888");
Console.WriteLine("输入正确");
Console.ReadKey();

string userName;
string passWord;
bool flag = false;
do
{
flag = false;
Console.WriteLine("请输入用户名");
userName = Console.ReadLine();
Console.WriteLine("请输入密码");
passWord = Console.ReadLine();
if (userName != "admin" || passWord != "888888")
{
Console.WriteLine("错误请重新输入");
flag = true;
}


} while (flag);
Console.WriteLine("输入正确");
Console.ReadKey();



string stuName;

do
{
Console.WriteLine("请输入学生姓名");
stuName = Console.ReadLine();

} while (stuName != "q");
{
Console.WriteLine("程序结束");
}


Console.ReadKey();


int number;
bool flag = false;
do
{
try
{
Console.WriteLine("请输入一个数字");
number = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("{0}的2倍是:{1}", number, number *2);
flag = true;
}
catch
{
flag = false;

}

}while (flag);
{

Console.WriteLine("程序结束");
}

Console.ReadKey();


int number;
string input;
Console.WriteLine("请输入一个数字。(q)结束");
input = Console.ReadLine();
while (input != "q")
{
number = Convert.ToInt32(input);
Console.WriteLine("{0}的双倍是:{1}",number,number*2);
Console.WriteLine("请输入一个数字。(q)结束");
input = Console.ReadLine();


}

Console.WriteLine("程序结束");
Console.ReadKey();


int max = 0;
string input = "";
int number = 0;

do
{
try
{
Console.WriteLine("请输入一个数");
input = Console.ReadLine();
number = Convert.ToInt32(input);
if (number > max)
{
max = number;
}
}
catch
{
if (input != "end")
{
Console.WriteLine("输入非法数字!程序结束");
input = "end";

}

}

} while (input != "end");
{

}

Console.WriteLine("最大值:{0}",max);

Console.ReadKey();



do
{
try
{
Console.WriteLine("请输入一个数");
input = Console.ReadLine();
number = Convert.ToInt32(input);
if (number > max)
{
max = number;
}
}
catch
{
if (input != "end")
{
Console.WriteLine("输入非法数字!程序结束");
input = "end";

}

}

} while (input != "end");
{

}

Console.WriteLine("最大值:{0}", max);

Console.ReadKey();

原文地址:https://www.cnblogs.com/swlq/p/5367501.html