/*
在循环中间设置单个或者多个退出点,可以使用的语句有:break语句、continue语句、goto语句. return
*/

(1)break :break语句语句用于循环或 switch 语句中,作用立刻退出包含break的循环(break在哪一层循环,就退出哪一层)或者退出一个switch语句,同时只有当 break 出现在这些语句时,这种形式的 break 语句才是合法的。
         1)break在循环体内,强行结束循环的执行,也就是结束整个循环过程,不在判断执行循环的条件是否成立,直接转向循环语句下面的语句。
         2)当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
         break 可用于C提供的全部三种循环结构,其作用是跳出循环。如果 break 位于循环嵌套中的一个内循环,则仅跳出该内循环。
         如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多
代码示例:

int main()
{
  for(int i=; i<=; i++)
{
if(i == )
break;
printf("%d,", i);
}
}
//输出结果:12345 int main()
{
for(int i=; i<=; i++)//2式
{
if(i == ) break; //可退出2式
for(int j=; j<=; j++)//1式
{
//if(j == 3) break; //可退出1式
printf("%d,", j);
}
printf("\r\n");
}
return ;
}

(2)continue :continue语句用于循环语句中,作用是不执行循环体剩余部分,直接进行下次循环。常见的就是与if连用。
代码示例:

int main()
{
int i;
for(i=; i<; i++)
{
if(i% == )
continue; //如果i为偶数 调用continue; printf("%d,", i); //输出i值
}
} /*
这个程序会循环10次,i值为0到9.
当i为0,2,4,6,8时,满足i%2==0的条件,执行continue语句,直接去for(i=0; i<10; i++)里面的i++,然后进入下次循环,不会执行printf语句。
所以这个程序只会输出奇数值,即 1,3,5,7,9.
*/

(3)goto :被称为无条件转移语句,它通常与条件语句配合使用来改变程序流向,使得程序转去执行语句标号所标识的语句。
代码示例:

#include <stdio.h>

int main()
{
int a=,b=; if(a > b)
{
goto aa;
} printf("hello\n"); aa:
printf("s\n");
printf("world\n"); //如果a>b成立,结果为 "s", "world" //如果a>b不成立,结果为 "hello", "s", "world" return ;
}

(4)return :结束正在运行的函数,并返回函数值。(return的功能为跳出循环并且跳出函数,再返回函数值。以上示例代码都带有return 0)
代码示例:

#include <stdio.h>

int foo (int n)
{
int p = n + ;
return p;
} int main (void)
{
printf ("p = %d\n", foo ());
return ;
} /*
输出结果:
p = 3
*/

退出循环break,continue,return,goto分析的更多相关文章

  1. 有关于break,continue,return的区别和代码分析

    今天,用代码和结果直接解释break,continue,return的区别 1.break代码 public static void breakTest() { //break的讲解 for(int ...

  2. js中退出语句break,continue和return 比较

    js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...

  3. js中退出语句break,continue和return 比较(转)

    原链接:http://blog.163.com/ued_er/blog/static/199703159201210283107315/ js中退出语句break,continue和return 比较 ...

  4. js中的break ,continue, return (转)

    面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢?我们在使用这三关键字的时候需要注意和需要理解的规则是什么呢? ...

  5. 详解C#break ,continue, return

    C#编程语法中break ,continue, return这三个常用的关键字的学习对于我们编程开发是十分有用的,那么本文就向你介绍break ,continue, return具体的语法规范. C# ...

  6. js中的break,continue,return

    js中的break,continue, return (转) 面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢 ...

  7. break,continue,return的区别

    break,continue,return的区别 break 当break语句用于循环语句时,会终止执行循环,并执行循环后代码(如果有的话). function main() { for(var i ...

  8. JS流程控制语句 退出循环break 在while、for、do...while、while循环中使用break语句退出当前循环,直接执行后面的代码。

    退出循环break 在while.for.do...while.while循环中使用break语句退出当前循环,直接执行后面的代码. 格式如下: for(初始条件;判断条件;循环后条件值更新) { i ...

  9. Java流程控制,for,switch,while.break,continue,return

    Java流程控制,for,switch,while.break,continue,return

随机推荐

  1. cc.out

    Server: , win: 20pkt, SRU: 256KB, link_buf: 32pkt, Seed: , Block_trans: 1350200B, RTT: 100us, RTT_ra ...

  2. mongodb数据库集合操作

    1:更新update update() 方法用于更新已存在的文档.语法格式如下: db.collection.update( <query>, <update>, { upse ...

  3. Apache POI使用

    使用apache poi解析 Excel文件: package excellucene; import java.io.File; import java.io.FileInputStream; im ...

  4. QT组件与std性能

    https://blog.csdn.net/zy19940906/article/details/53694909

  5. C++实现线性表的链接存储结构(单链表)

    将线性表的抽象数据类型定义在链接存储结构下用C++的类实现,由于线性表的数据元素类型不确定,所以采用模板机制. 头文件linklist.h #pragma once #include <iost ...

  6. Heka配置讲解

    基于Heka,ElasticSearch和Kibana的分布式后端日志架构 目前主流的后端日志都采用的标准的elk模式(Elasticsearch,Logstash,Kinaba),分别负责日志存储, ...

  7. Linux--sudo权限讲解

    sudo简介:sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户的登录 和管理时间,同 ...

  8. 针对ArcGIS Server 跨域问题的解释

    在博客Hello World文章中提起过,以前在sinaapp中建立过wordpress博客,也写过一篇关于ArcGIS JavaScript API的文章,但是由于sinaapp开始收费以后,我的个 ...

  9. Springmvc 进行数据类型转换

    SpringMVC进行一些常用的数据类型转换,这里以Date 数据类型的转换为例. SpringMVC表单中输入日期,一般都是以字符串的形式输入,如何将字符形式的日期转换为Date 类型的呢?这里只需 ...

  10. spring mvc(4)处理模型数据

    处理模型数据 Spring MVC 提供了以下几种途径输出模型数据: – ModelAndView: 处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加 模型数据 – Map ...