跳转语句 break;continue; return; goto 区别用法

Posted lc-bk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跳转语句 break;continue; return; goto 区别用法相关的知识,希望对你有一定的参考价值。

C语言是按顺序执行语句的语言——一个接一个。即使它有条件语句或循环语句,程序的流程也是自上而下的。没有顺序流的随机跳转或跳转。但我们的程序是为了满足任何现实世界的需求,一个接一个地执行永远不会很直接。在某些情况下,我们必须偏离代码的正常顺序流,必须跳转到下一个语句集执行。这可以通过使用break、continue和goto语句来实现。

Break语句用于在没有任何条件的情况下停止代码的正常执行,它将跳出当前执行循环。我们可以使用条件来检查是否必须中断,但这些条件不是break语句的一部分。我们可以用if语句。例如:

#include<stdio.h>
int main()

int num=1;
while(1)

printf("%d",num++);
if(16==num)
break;


return 0;

当我们执行循环时,为了输出前15个自然数,我们必须给一个判断 跳出这个死循环,当if num ==16;成立时,break;直接跳出这个while循环

同样的的方法   break也来中断for  或do  while   循环   

这个break语句也用于switch语句。由于switch语句在执行匹配的case语句之后不会中断执行,所以我们必须显式地使它中断。通过break执行。

continue类似于break语句,但是它不会跳出循环,而是停止执行当前迭代的循环体内部的set指令,并跳转到下一个迭代的循环体。

例如

#include<stdio.h>
int main()

for (int num=1;num<5;num++)

if(3==num)
continue;

printf("%d\\n",num);

return 0;

 当执行的if语句为true时,continue执行到for循环的表达式3  num++  跳过了打印3的语句  执行下一次循环

 

技术图片

在例如

#include<stdio.h>
int main()
int i=0;
for(;i<=10; )
if(i%2==0)
printf("%d",i);
else
continue;

i++;

return 0;

 这个只打印一个0;当i=1;执行continue跳转到表达式3 ,此时表达式为true  程序一直执行,但只打印一个0;

同样  continue 用在while ;do  while;中  

Continue语句来中断当前执行并继续下一组迭代

goto  语句

该语句是无条件跳转语句。它可以在程序的任何地方使用,以便从当前执行跳转到代码中的其他行。一旦跳转到其他行,它将继续从那里依次执行代码。它不能返回到以前的执行行。为了表示它必须跳转的那条线,我们给这条线标上标签。goto语句的一般语法为:

goto   标号; 

 

技术图片

跳转标签可以在代码中的任何位置。要么在goto语句之前,要么在goto语句之后。标签存在于何处并不重要。

这种跳跃是无条件的。通常我们使用goto语句来处理错误。但这将降低代码的可读性,并给查看代码的人带来困惑。因此,始终建议在代码中减少goto语句的使用。并且会使程序执行起来相当混乱,cpu 需要不停的进行跳转,效率较低,因此在开发的程序的时候慎用。

return

这个跳转语句通常用于函数的末尾,以结束或终止带有或不带值的语句。它将控制从调用函数返回到主函数(主函数本身也可以有一个返回)。

需要考虑的重要一点是,return只能用于使用返回类型声明的函数,如int、float、double、char等。使用void类型声明的函数不返回任何值。此外,函数返回与声明的数据类型相同的值。下面是一个简单的例子,展示return语句是如何工作的。

#include <stdio.h>
char func(int ascii)

    return ((char)ascii);

int main()

    int ascii;
    char ch;
    printf("Enter any ascii value in decimal: \\n");
    scanf("%d",&ascii);
    ch=func(ascii);
    printf("The character is : %c\\n",ch);
    return 0;

 

 

 

技术图片

在这个程序中,我们有两个具有返回类型的函数,但是只有一个函数返回值[func()],而另一个函数只是用来终止函数[main()]。函数func()返回给定数字的字符值(这里是65)。我们还看到func()的返回类型为char,因为它返回一个字符值。
函数的返回值为零,因为main的返回类型为int,所以这里必须有一个返回值。

 

以上是关于跳转语句 break;continue; return; goto 区别用法的主要内容,如果未能解决你的问题,请参考以下文章

C语言 goto,break和continue跳转语句详解!

continuereak 跳转控制语句

跳转控制语句continue

java标签是啥?continue语句跳转到标签外层怎么回事?break语句跳出标签指定代码块是指啥

Java基础第4天+switch语句for,while,do...while循环语句break,return,continue控制跳转语句

Java循环跳转语句之 continue