C语言 转移语句:goto语句,break语句和continue语句

怼烎@ 2022-06-07 02:25 524阅读 0赞

转移语句:goto语句,break语句和continue 语句

Ⅰ :转移语句介绍

  1. C语言中的转移语句包括goto 语句,break 语句和continue语句,当程序有时出现某种情况,需要提早结束或转移执行其他指定语句时,就需要使用转移语句,转移语句可以使程序的流程按照这三种转移语句的使用方式转移。

Ⅱ:转移语句详细介绍

1)goto 语句

  1. goto语句为无条件转向语句,它可以使程序立即跳转到函数内部的任意一条可执语句。goto 关键字后面带一个标识符,该标识符是同一个函数内某条语句的标号,标号可以出现在任何可执行语句的前面,并以一个“:”作为后缀。一般形式为:
  2. goto 标识符;
  3. goto 后面的标识符就是要跳转的目标,当然,这个标识符要在程序的其他地方给出,同时这个标识符要在程序内部。例如:
  4. goto show;
  5. printf("Hello word\\n");
  6. show:
  7. printf(‘Hello Tom and Jerry\\n“);
  8. 上边的代码段中,goto后的 show 为跳转的标识符,其后的”show :“ 表示goto 语句要跳转的位置。这样在上面的语句执行时,会跳过printf("Hello word\\n");而直接执行
  9. show 后面的语句 printf(‘Hello Tom and Jerry\\n“);
  10. ** goto 语句举例:**

使用goto语句跳出循环:

#include

#include

#include

int main()

{

  1. int select; //定义变量,表示菜单的选项
  2. printf("-------MENU--------\\n");
  3. printf("1-----Sell--------\\n");
  4. printf("2-----Buy----------\\n");
  5. printf("3-----Show product-\\n");
  6. printf("4-----Out----------\\n");
  7. for (;;)
  8. \{
  9. printf("Please input your select :\\n"); //提示用户输入选择
  10. scanf("%d", &select); //输入选择
  11. while (select)
  12. \{
  13. if (select == 1)
  14. \{
  15. printf("You are selling something into store\\n");break;
  16. \}
  17. if (select == 2)
  18. \{
  19. printf("You are buying to consumer\\n");break;
  20. \}
  21. if (select == 3)
  22. \{
  23. printf("Checking the store\\n");break;
  24. \}
  25. if (select == 4)
  26. \{
  27. goto exit; //执行goto跳转语句
  28. \}
  29. exit:
  30. \{
  31. printf("Exit the program\\n"); //跳转语句执行位置
  32. exit(0);
  33. \}
  34. \}
  35. \}
  36. return 0;

}

程序运行时,根据输入的选择,输出对应的信息,当输入4时,执行执行goto跳转语句,退出执行过程。 SouthEast

2)break 语句

  1. 有时会遇到这样的情况,不顾表达式检验的结果而强行终止循环,这时可以使用break 语句,break 语句用于终止并跳出循环。
  2. break 语句的一般形式为: break;
  3. 例如:
  4. while (1)
  5. \{
  6. printf("Break\\n");
  7. break;
  8. \}
  9. 在上面的程序段中,虽然while 语句是一个永远为真的循环,但是再其中使用break 会使程序流程跳出循环。
  10. 注:这个break 语句和 switch()语句中break 语句是不同的。switch() 语句中的break 用的比较多,大家都比较熟悉,这里就不再说明了。
  11. **break 语句举例**:
  12. 使用break 语句跳出循环:

#include

int main(void)

{

  1. int count; //循环控制变量
  2. for (count = 1; count < 100; count++)
  3. \{
  4. if (count % 3 == 0 && count % 5 == 0) //判断条件,如果count=6则终止循环
  5. \{
  6. printf("Break here\\n");
  7. break;
  8. \}
  9. printf("the count is %d\\n", count);
  10. \}
  11. return 0;

}

定义一个count 从1 开始累加,当遇到第一个既可以被3整除,又可以被5整除的数时,执行printf(“Break here\n”); 语句终止循环。

SouthEast 1

3)continue 语句

  1. 在某些情况下,程序需要终止本次循环,执行下一次循环,而不是跳出循环,此时需要用到continuecontinue语句的一般形式为: continue;
  2. 其作用是结束本次循环,即跳过循环体中下面尚未执行的部分,接着执行下一次的循环操作。
  3. ** continue 语句举例:**

#include

int main(void)

{

  1. int count; //循环控制变量
  2. int n=0; //记录次数
  3. printf("100以内不能被3或5整除的数为:\\n");
  4. for (count = 1; count < 100; count++)
  5. \{
  6. if (count % 3 == 0 || count % 5 == 0) //判断条件,如果满足则结束本次循环,进行下一次循环
  7. \{
  8. continue;
  9. \}
  10. printf("%5d", count);
  11. n++;
  12. if (n % 5 == 0) //5个一换行
  13. \{
  14. printf("\\n");
  15. \}
  16. \}
  17. return 0;

}

SouthEast 2

  1. 本程序打印100以内既不能被3整除又不能被5整除的数,使用continue 语句,当遇到可以背3整除或可以被5整除的数时,则跳出本次循环,剔除该数,但并不终止循环,而是进入下一次循环。

Ⅲ:小结

  1. goto 语句为无条件转向语句,当遇到goto 语句后面定义的标识符时,则直接执行标识符后面的语句块。continue语句和break 语句的区别是,continue 语句只结束本次循环,而不是终止整个循环的执行,break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

发表评论

表情:
评论列表 (有 0 条评论,524人围观)

还没有评论,来说两句吧...

相关阅读

    相关 c语言goto(c语言goto语句)

    C语言goto语句的用法 goto的用法前面已经有人回答了,我就不重复了。 原则上是最好不要用,因为程序要讲究结构性、可读性,goto语句会破坏这点。 但万事不是绝对