迭代语句:有的时候,可能需要多次执行同一块代码。函数中的第一个语句先执行,接着是第二个语句,依此类推。
迭代语句:while(先检查后执行)
while(条件表达式 bool类型)
{
代码语句
}
For example
int iNum = 1; //iNum从1到100递增 int iSum = 0; //记录每次累加后的结果 while (iNum <= 100) //iNum <= 100 是循环条件 { iSum += iNum; //把每次的iNum的值累加到上次累加的结果中 iNum++; //每次循环iNum的值加1 } Console.WriteLine("1到100的累加结果是:" + iSum); //输出结果 Console.ReadLine();
int N = 1; int iSum = 0; while (true) { iSum += N; if (iSum <= 500) N = N + 2; else break; } Console.WriteLine("1+3+5+…+n>500的最小正整数n的值为:" + N); Console.ReadLine();
Console.WriteLine("——————猜数字游戏——————\n"); int iNum; int iGuess; Random rand = new Random(); iNum = rand.Next(1, 200);//生成1到200之间的随机数 Console.Write("请输入你猜的数字:"); iGuess = Convert.ToInt32(Console.ReadLine());//输入首次猜测的数字 while ((iGuess != -1) && (iGuess != iNum)) { if (iGuess < iNum)//若猜测的数字小于基准数,则提示用户输入的数太小,并让用户重新输入 { Console.Write("太小,请重新输入:"); iGuess = Convert.ToInt32(Console.ReadLine()); } else//若猜测的数字大于基准数,则提示用户输入的数太大,并让用户重新输入 { Console.Write("太大,请重新输入:"); iGuess = Convert.ToInt32(Console.ReadLine()); } } if (iGuess == -1)//若最后一次输入的数字是-1,循环结束的原因是用户选择退出游戏 { Console.WriteLine("退出游戏!"); } else//若最后一次输入的数字不是-1,用户猜对数字,获得成功,游戏结束 { Console.WriteLine("恭喜你,你赢了,猜中的数字是:" + iNum); } Console.WriteLine("\n———————游戏结束———————"); Console.ReadLine();
迭代语句:do....while(先执行后检查至少执行一次)
do
{
代码语句
}while(表达式条件bool)
For example
Console.WriteLine("请输入一个整数:"); int iNum = Convert.ToInt32(Console.ReadLine());//记录输入的数据 int iResult = 1;//记录结果 do { iResult *= iNum;//执行相乘操作 iNum--;//值减一 } while (iNum > 0);//设置判断条件 Console.WriteLine("阶乘结果是:" + iResult);//输出结果 Console.ReadLine();
int iNum = 1; //iNum从1到100递增 int iSum = 0; //记录每次累加后的结果 do { iSum += iNum; //把每次的iNum的值累加到上次累加的结果中 iNum++; //每次循环iNum的值加1 } while (iNum <= 100); //iNum <= 100 是循环条件 Console.WriteLine("1到100的累加结果是:" + iSum);//输出结果 Console.ReadLine();
迭代语句for
for(初始条件;判断条件;循环条件)
{
循环语句;
}
For example
int iSum = 0; int iNum; for (iNum = 1; iNum <= 100; iNum++) { if ((iNum % 2) != 0) //判断是否为奇数 iSum += iNum; //若是奇数,则进行累加 } Console.WriteLine("1到100之间的奇数的和:" + iSum); Console.ReadLine();
int iSum = 0; //记录每次累加后的结果 for (int iNum = 1; iNum <= 100; iNum++) { iSum += iNum; //把每次的iNum的值累加到上次累加的结果中 } Console.WriteLine("1到100的累加结果是:" + iSum); //输出结果 Console.ReadLine();
int iRow, iColumn; //定义行数和列数 for (iRow = 1; iRow < 10; iRow++) //行数循环 { for (iColumn = 1; iColumn <= iRow; iColumn++) //列数循环 { //输出每一行的数据 Console.Write("{0}*{1}={2} ", iColumn, iRow, iRow * iColumn); } Console.WriteLine(); //换行 } Console.ReadLine();
for (int i = 1; i <= 5; i++)//输出5行的金字塔
{ for (int j = 1; j <= 5 - i; j++)//控制每一行的空白位置 { Console.Write(" "); } for (int k = 1; k <= 2 * i - 1; k++)//控制每一行的*个数 { Console.Write("*"); } Console.WriteLine();//换行 } Console.ReadLine();
迭代语句foreach
foreach(类型 变量 in 集合 )
{
代码体
}
For example
Console.WriteLine("请输入一个英文句子"); string str=Console.ReadLine("你输入的句子包含以下单词'); foreach(char word in str) { if (char.IsWhiteSpace(word)) { Console.Write(); } else { Console.Write(word); } } Console.ReadKey();
注:实例有三个部分:
-
通过 foreach 循环输出整型数组中的元素。
-
通过 for 循环输出整型数组中的元素。
-
foreach 循环设置数组元素的计算器。
foreach语句:
每执行一内含的代码时,循环变量就会依次读取集合中的一个元素。
此处的循环变量是一个只读型的局部变量,这个值如果被修改编译器会发生错误。