第九章:循环控制语句
第九章:循环控制语句
本章目标
- 掌握break关键字的使用
- 掌握continue关键字的使用
- 掌握goto关键字的使用
本章内容
1、为什么要使用循环控制语句?
1 | 在学习循环时,当循环条件为false时,会终止循环,循环结束。 |
2、break关键字
回顾:switch选择结构的语法
1
2
3
4
5
6
7
8
9
10
11
12switch(表达式){
case 常量1:
代码块1;
break;
case 常量2:
代码块2;
break;
....
default:
代码块3;
break;
}在switch中,break关键字是结束选择结构的,它不仅可以用来终止 switch 语句,在循环语句中使用时还可以用来跳出循环,执行循环外的下一条语句。
作用:
终止循环,执行循环外的语句。
流程图:
【案例】使用 for 循环输出 1~9 之间的数字,当输出到 5 时跳出循环:
1
2
3
4
5
6
7
8
9for (int i = 1; i <= 9; i++)
{
if (i == 5)
{
break;
}
Console.Write("{0} ", i);
}
Console.ReadLine();输出结果:
1
1 2 3 4
3、continue关键字
概述:C# 中 continue 语句的工作原理与 break 语句类似,但是 continue 语句并不会跳出整个循环,而是跳过本次循环继续执行下一次的循环。continue 的执行原理如下图所示。
作用:
终止本次循环,进入下一次循环
执行流程图
【案例】使用 for 循环输出 1~9 之间的数字,遇到 5 时跳过:
1
2
3
4
5
6
7
8
9for (int i = 1; i <= 9; i++)
{
if (i == 5)
{
continue;
}
Console.Write("{0} ", i);
}
Console.ReadLine();输出结果:
1
1 2 3 4 6 7 8 9
【案例】使用 for 循环输出 1~9 之间的奇数:
1
2
3
4
5
6
7
8
9for (int i = 1; i <= 9; i++)
{
if (i %2==0)
{
continue;
}
Console.Write("{0} ", i);
}
Console.ReadLine();输出结果:
1
1,3,5,7,9
4、goto关键字
概述:
C# 中的 goto 语句也称为跳转语句,使用它可以控制程序跳转到指定的位置执行。不过并不建议在程序中多次使用 goto 语句,因为它会使程序变得更加复杂。
作用:
实现代码块的跳转
语法:
1
2
3
4goto Labels;
语句块1;
Labels:
语句块2;想要使用 goto 语句来跳转程序,必须先在想要跳转的位置定义好一个标签(Labels),标签名称的定义和变量名类似,然后使用
goto 标签名;
即可使程序跳转到指定位置执行。如上面语法中所示,程序会跳过“语句块1”直接执行“语句块2”。注意事项:
提示:goto 语句并不限于在循环中使用,其它的情况也可以使用。但是,goto 语句不能从循环外跳转到循环语句中,而且不能跳出类的范围。
案例:
【示例】使用 goto 语句将程序跳转到指定位置执行。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25int count = 1;
login:
Console.WriteLine("请输入用户名");
string username = Console.ReadLine();
Console.WriteLine("请输入密码");
string userpwd = Console.ReadLine();
if (username == "c.biancheng.net" && userpwd == "123456")
{
Console.WriteLine("登录成功");
}
else
{
count++;
if (count > 3)
{
Console.WriteLine("用户名或密码错误次数过多!退出!");
}
else
{
Console.WriteLine("用户名或密码错误");
goto login;//返回login标签处重新输入用户名密码
}
}
Console.ReadLine();
本章总结
- break关键字的作用
- continue关键字的作用
- goto关键字的作用
课后作业
1.循环生成30个随机数(1-100),如果某个随机数既能被3整除也能被5整除,则提示并终止程序,
否则打印这些随机数(需用break)。
2.循环生成30个随机数(1-100),如果这些随机数之和大于1000,则提示并终止程序,
否则打印随机数之和(需用break)。
3.循环生成30个随机数(1-100),如果其是偶数就直接打印,否则继续生成下一个随机数(需用continue)
4.循环生成30个随机数(1-100),如果其是偶数就累加求和,否则继续生成下一个随机数(需用continue)
5.编写程序生成一个(1-100)随机数,如果数字是奇数则继续生成,最终打印这个偶数(需用goto)
6.编写程序生成一个(1-100)随机数,实现猜数游戏,给出相应提示:大了,小了,对了(需用goto)