循环:可以反复执行某段代码,直到不满足循环条件为止。
一、循环的四要素:初始条件、循环条件、状态改变、循环体。
1.初始条件:循环最开始的状态。
2.循环条件:在什么条件下进行循环,不满足此条件,则循环终止。
3.状态改变:改变循环变量值,最终不满足循环条件,从而停止循环。
4.循环体:要反复执行的部分。
二、语法:for语法. //还有while,do...whilte
for(初始条件;循环条件;状态改变)
{
//循环体
}
注意:
1.for后面的小括号中,用分号隔开了三项。
2.for的小括号后面不要加分号。
3.不要写成死循环。
例:
for(int i=1;i<=10;i++)
{
Console.WriteLine("您好");
}
三、执行过程:
1.执行初始条件
2.执行循环条件
3.循环体
4.状态改变
5继续第2步。
四、举例:
1.找100以内与7相关的数。(能被7整除,个位数是7,十位数是7)
for(int i=1;i<=100;i++)
{
if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7) //重点
{
Console.Write(i + "\t");
}
}
2.显示计算机的ASCII码:
for(int i=0;i<=125;i++)
{
Console.Write(i+"="+(char)i+"\t");
}
for循环变型:
变型一:while循环
int i = 1;//初始条件
for (; i <= 100; )
{
Console.Write(i + "\t");
i++;//状态改变
}
相当于:
int i = 1;//初始条件
while ( i <= 100)
{
Console.Write(i + "\t");
i++;//状态改变
}
变型二:死循环
for (; ; )
{
}
五、循环的嵌套。
for(int i=1;i<=10;i++)
{
for(int j=1;j<=20;j++)
{
Console.Write("★");
}
Console.WriteLine();
}
当外层每循环1次,里层完全循环一遍。
作业:
打印以下图型:
1.
i与j关系 行i 列j
●●●●● 1 5
●●●●● 2 5
●●●●● 3 5
●●●●● 4 5
●●●●● 5 5
2.
●
●●
●●●
●●●●
●●●●●
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
3.
●●●●●
●●●●
●●●
●●
●
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 6 - i; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
4.
i 空 点
□□□□● 1 4 1
□□□●● 2 3 2
□□●●● 3 2 3
□●●●● 4 1 4
●●●●● 5 0 5
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5 - i; j++)
{
Console.Write(" ");
}
for (int m = 1; m <= i; m++)
{
Console.Write("*");
}
Console.WriteLine();
}
5.
□□□□●
□□□●●●
□□●●●●●
□●●●●●●●
●●●●●●●●●
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5 - i; j++)
{
Console.Write(" ");
}
for (int m = 1; m <= 2 * i - 1; m++)
{
Console.Write("*");
}
Console.WriteLine();
}
习题1
与计算机猜拳
Random rand = new Random();
Console.Write("请出拳(0-石头 1-剪刀 2-布):");
int n = rand.Next(3);
int ren = Convert.ToInt32(Console.ReadLine());
if (ren == 0)
{
if (n == 0)
{
Console.WriteLine("平局,计算机:" + n);
}
if (n == 1)
{
Console.WriteLine("恭喜您赢了,计算机:" + n);
}
if (n == 2)
{
Console.WriteLine("计算机赢,计算机:" + n);
}
}
else if (ren == 1)
{
if (n == 1)
{
Console.WriteLine("平局,计算机:" + n);
}
if (n == 2)
{
Console.WriteLine("恭喜您赢了,计算机:" + n);
}
if (n == 0)
{
Console.WriteLine("计算机赢,计算机:" + n);
}
}
else if (ren == 2)
{
if (n == 2)
{
Console.WriteLine("平局,计算机:" + n);
}
if (n == 0)
{
Console.WriteLine("恭喜您赢了,计算机:" + n);
}
if (n == 1)
{
Console.WriteLine("计算机赢,计算机:" + n);
}
}
else
{
Console.WriteLine("请按套路出牌");
}
习题2
算缘分
Console.Write("请输入姓名1:");
string name1 = Console.ReadLine();
Console.Write("请输入姓名2:");
string name2 = Console.ReadLine();
Random rand = new Random();
int n = rand.Next(101);
if (n >= 0 && n <= 59)
{
Console.WriteLine(name1 + name2 + "缘分不深,不宜深入交往");
}
else if (n >= 60 && n <= 80)
{
Console.WriteLine(name1 + name2 + "情深缘浅,在一起需双方努力");
}
else
{
Console.WriteLine(name1 + name2 + "恭喜你们,是天作之合");
}