C语言 转移语句:goto语句,break语句和continue语句
转移语句:goto语句,break语句和continue 语句
Ⅰ :转移语句介绍
C语言中的转移语句包括goto 语句,break 语句和continue语句,当程序有时出现某种情况,需要提早结束或转移执行其他指定语句时,就需要使用转移语句,转移语句可以使程序的流程按照这三种转移语句的使用方式转移。
Ⅱ:转移语句详细介绍
1)goto 语句
goto语句为无条件转向语句,它可以使程序立即跳转到函数内部的任意一条可执语句。goto 关键字后面带一个标识符,该标识符是同一个函数内某条语句的标号,标号可以出现在任何可执行语句的前面,并以一个“:”作为后缀。一般形式为:
goto 标识符;
goto 后面的标识符就是要跳转的目标,当然,这个标识符要在程序的其他地方给出,同时这个标识符要在程序内部。例如:
goto show;
printf("Hello word\\n");
show:
printf(‘Hello Tom and Jerry\\n“);
上边的代码段中,goto后的 show 为跳转的标识符,其后的”show :“ 表示goto 语句要跳转的位置。这样在上面的语句执行时,会跳过printf("Hello word\\n");而直接执行
show: 后面的语句 printf(‘Hello Tom and Jerry\\n“);
** goto 语句举例:**
使用goto语句跳出循环:
#include
#include
#include
int main()
{
int select; //定义变量,表示菜单的选项
printf("-------MENU--------\\n");
printf("1-----Sell--------\\n");
printf("2-----Buy----------\\n");
printf("3-----Show product-\\n");
printf("4-----Out----------\\n");
for (;;)
\{
printf("Please input your select :\\n"); //提示用户输入选择
scanf("%d", &select); //输入选择
while (select)
\{
if (select == 1)
\{
printf("You are selling something into store\\n");break;
\}
if (select == 2)
\{
printf("You are buying to consumer\\n");break;
\}
if (select == 3)
\{
printf("Checking the store\\n");break;
\}
if (select == 4)
\{
goto exit; //执行goto跳转语句
\}
exit:
\{
printf("Exit the program\\n"); //跳转语句执行位置
exit(0);
\}
\}
\}
return 0;
}
程序运行时,根据输入的选择,输出对应的信息,当输入4时,执行执行goto跳转语句,退出执行过程。
2)break 语句
有时会遇到这样的情况,不顾表达式检验的结果而强行终止循环,这时可以使用break 语句,break 语句用于终止并跳出循环。
break 语句的一般形式为: break;
例如:
while (1)
\{
printf("Break\\n");
break;
\}
在上面的程序段中,虽然while 语句是一个永远为真的循环,但是再其中使用break 会使程序流程跳出循环。
注:这个break 语句和 switch()语句中break 语句是不同的。switch() 语句中的break 用的比较多,大家都比较熟悉,这里就不再说明了。
**break 语句举例**:
使用break 语句跳出循环:
#include
int main(void)
{
int count; //循环控制变量
for (count = 1; count < 100; count++)
\{
if (count % 3 == 0 && count % 5 == 0) //判断条件,如果count=6则终止循环
\{
printf("Break here\\n");
break;
\}
printf("the count is %d\\n", count);
\}
return 0;
}
定义一个count 从1 开始累加,当遇到第一个既可以被3整除,又可以被5整除的数时,执行printf(“Break here\n”); 语句终止循环。
3)continue 语句
在某些情况下,程序需要终止本次循环,执行下一次循环,而不是跳出循环,此时需要用到continue。continue语句的一般形式为: continue;
其作用是结束本次循环,即跳过循环体中下面尚未执行的部分,接着执行下一次的循环操作。
** continue 语句举例:**
#include
int main(void)
{
int count; //循环控制变量
int n=0; //记录次数
printf("100以内不能被3或5整除的数为:\\n");
for (count = 1; count < 100; count++)
\{
if (count % 3 == 0 || count % 5 == 0) //判断条件,如果满足则结束本次循环,进行下一次循环
\{
continue;
\}
printf("%5d", count);
n++;
if (n % 5 == 0) //5个一换行
\{
printf("\\n");
\}
\}
return 0;
}
本程序打印100以内既不能被3整除又不能被5整除的数,使用continue 语句,当遇到可以背3整除或可以被5整除的数时,则跳出本次循环,剔除该数,但并不终止循环,而是进入下一次循环。
Ⅲ:小结
goto 语句为无条件转向语句,当遇到goto 语句后面定义的标识符时,则直接执行标识符后面的语句块。continue语句和break 语句的区别是,continue 语句只结束本次循环,而不是终止整个循环的执行,break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
还没有评论,来说两句吧...