CH05_循环结构


本章目标

  • 掌握while循环的使用
  • 掌握do-while循环的使用
  • 掌握for循环的使用
  • 掌握foreach循环的使用
  • 掌握break、continue语句的使用

while循环

语法

1
2
3
4
while(布尔表达式)
{
语句块;
}

while 语句执行的过程是,当 while 中布尔表达式的结果为 True 时,执行语句块中的内容,否则不执行。通常使用 for 循环可以操作的语句都可以使用 while 循环完成。

案例1: 使用 while 循环输出 110 的数并输出 110 的和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Program
{
static void Main(string[] args)
{
int i = 1;
int sum = 0;//存放1~10的和
while (i <= 10)
{
sum = sum + i;
Console.WriteLine(i);
i++;
}
Console.WriteLine("1~10的和为:" + sum);
}
}

do-whle循环

语法

1
2
3
4
do
{
语句块;
}while(布尔表达式);

do while 语句执行的过程是,先执行 do{} 中语句块的内容,再判断 while() 中布尔表达式的值是否为 True,如果为 True,则继续执行语句块中的内容,否则不执行,因此 do while 语句中的语句块至少会执行一次。

案例2:如果考试不及格,就一直考试,直到合格为止。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Program
{
static void Main(string[] args)
{
int score = -1;

do
{
Console.WriteLine("请输入考试成绩:");
score = int.Parse(Console.ReadLine());

} while (score<60);

Console.WriteLine("恭喜你,考试通过!");

Console.ReadLine();
}
}

for循环

语法

1
2
3
4
for(表达式 1; 表达式 2; 表达式3)
{
表达式 4;
}

C# for 循环是最常用的循环语句,语法形式非常简单,多用于固定次数的循环。

其中:

  • 表达式 1:为循环变量赋初值。
  • 表达式 2:为循环设置循环条件,通常是布尔表达式。
  • 表达式 3:用于改变循环变量的大小。
  • 表达式 4:当满足循环条件时执行该表达式 4。

for 循环语句执行的过程是,先执行 for 循环中的表达式 1,然后执行表达式 2,如果表达式 2 的结果为 True,则执行表达式 4,再执行表达式 3 来改变循环变量,接着执行表达式 2 看是否为 True,如果为 True,则执行表达式 4,直到表达式 2 的结果为 False,循环结束。

提示:

在 for 循环中表达式 1、表达式 2、表达式 3 以及表达式 4 都是可以省略的,但表达式 1、表达式 2、表达式 3 省略时它们之间的分号是不能省略的。

案例3: 使用循环输出 1~10 的数,并输出这 10 个数的和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Program
{
static void Main(string[] args)
{
//设置存放和的变量
int sum = 0;
for(int i = 1; i <= 10; i++)
{
Console.WriteLine(i);
sum += i;
}
Console.WriteLine("1~10的和为:" + sum);
}
}

案例4:打印乘法表。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Program
{
static void Main(string[] args)
{
for(int i = 1; i < 10; i++)
{
for(int j = 1; j <= i; j++)
{
Console.Write(i + "x" + j + "=" + i*j + "\t");
}
Console.WriteLine();
}
}
}

foreach循环

语法

1
2
3
4
foreach (var item in collection)
{
//语句块
}

案例5:打印字符串“hello”中的每个字母。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Program
{
static void Main(string[] args)
{
string s = "hello";

foreach (var item in s)
{
Console.WriteLine(item);
}

Console.ReadLine();
}
}

break语句

C# break 语句用于中断循环,使循环不再执行。如果是多个循环语句嵌套使用,则 break 语句跳出的则是最内层循环。

案例6: 使用 for 循环输出 1~10 的数,当输出到 4 时结束循环。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Program
{
static void Main(string[] args)
{
for(int i = 1; i <= 10; i++)
{
if (i == 4)
{
break;
}
Console.WriteLine(i);
}
}
}

continue语句

C# 中的 continue 语句有点像 break 语句。但它不是强制终止,continue 会跳过当前循环中的代码,强制开始下一次循环。

对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。对于 while 和 do while 循环,continue 语句会导致程序控制回到条件测试上。

提示:C# continue 语句必须在循环语句中使用。

案例7: 使用 for 循环输出1~10的数,但是不输出 4。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Program
{
static void Main(string[] args)
{
for(int i = 1; i <= 10; i++)
{
if (i == 4)
{
continue;
}
Console.WriteLine(i);
}
}
}

课后作业

1.使用while循环实现:

2.使用do-while循环实现以上案例。

3.输出1-100之内所有的偶数

4.使用for循环打印以下图形: