break和continue的区别:

1. 当它们用在循环语句的循环体时,break用于立即退出本层循环,而continue仅仅结束本次循环(本次循环体内不执行continue语句后的其它语句,但下一次循环还会继续执行。
2. 如果有多层循环时,break只会跳出本层循环,不会跳出其他层的循环。
3. break可用于switch语句,表示跳出整个switch语句块,而continue则不能单独的用于switch语句。但是continue可以用于循环内部的switch语句。
4. break和continue语句在循环内的switch语句中使用时,是有区别的。在这种情况下的break是指跳出switch语句块(switch语句块的代码仍然执行)。而这种情况下的continue是指结束本次循环(不在执行switch后面的代码),进行下一次循环。

例1:

#include <stdio.h>
int main(void)
{
int i;
for (i=; i<; i++)
{
if (i == )
{
break;
printf("没有执行这里!\n");
}
printf("i=%d\n", i);
}
printf("已经跳出循环\n");
return ;
}

编译执行:

kevin@kevin-virtual-machine:~/Documents/Test/C/break_continue$ ./break 
i=
i=
已经跳出循环

因为break语句直接结束了本层的循环, 直接执行循环后边的语句。

例2:

#include <stdio.h>
int main(void)
{
int i;
for (i=; i<; i++)
{
if (i == )
{
continue;
printf("没有执行这里!\n");
}
printf("i=%d\n", i);
}
printf("循环结束!\n");
return ;
}

编译执行:

kevin@kevin-virtual-machine:~/Documents/Test/C/break_continue$ ./continue
i=
i=
i=
i=
循环结束!

continue 只是结束了当前一次循环,之后继续了下一次循环。

例3:

#include <stdio.h>
int main(void)
{
int a, b;
for (a=; a<; a++)
{
for (b=; b<; b++)
{
if(b == )
{
break;
printf("没有执行这里!\n");
}
printf("b=%d\n", b);
}
printf("a=%d\n", a);
}
printf("循环结束!\n");
return ;
}

编译输出:

kevin@kevin-virtual-machine:~/Documents/Test/C/break_continue$ ./break2
b=
b=
a=
b=
b=
a=
b=
b=
a=
b=
b=
a=
b=
b=
a=
循环结束!

例3是一个两层for循环,break语句只会跳出最近的一层循环,第二层for循环继续执行

例4:

#include <stdio.h>
int main(void)
{
int i;
for (i=; i<; i++)
{
int j = ;
switch(j)
{
case :
printf("你好 %d !!!\n", );
break;
case :
printf("你好 %d !!!\n", );
break;
case :
printf("你好 %d !!!\n", );
break;
}
printf("Hello World!\n");
}
printf("结束循环!\n");
}

编译输出:

kevin@kevin-virtual-machine:~/Documents/Test/C/break_continue$ ./switch_break
你好 !!!
Hello World!
你好 !!!
Hello World!
结束循环!

例4中break的作用只会跳出 switch() 语句块,执行swith语句块后面的程序printf("Hello World!\n");而不是跳出循环。

例5:

#include <stdio.h>
int main(void)
{
int i;
for (i=; i<; i++)
{
int j = ;
switch(j)
{
case :
printf("你好 %d !!!\n", );
continue;
case :
printf("你好 %d !!!\n", );
continue;
case :
printf("你好 %d !!!\n", );
continue;
}
printf("Hello World!\n");
}
printf("结束循环!\n");
}

编译输出:

kevin@kevin-virtual-machine:~/Documents/Test/C/break_continue$ ./switch_continue 
你好 !!!
你好 !!!
结束循环!

例5中循环内部的switch语句中的continue是直接结束本次循环,switch语句块后面的printf("Hello World!\n");将不会被执行。

break&&continue的更多相关文章

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

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

  2. break,continue的使用

    break,continue 使用break命令允许跳出所有循环下面的例子中,脚本进入死循环直至用户输入数字大于5.要跳出这个循环,返回到shell提示符下,就要使用break命令. #!/bin/b ...

  3. 详解C#break ,continue, return

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

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

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...

  5. break , continue , exit

    break , continue , exit 例一:#!/bin/bash . /etc/init.d/functions `;do ];then #continue #没有数字3 break #e ...

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

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

  7. Java基础(2):Java中的四个跳转语句总结goto,break,continue,return

    跳转控制语句 Java中的goto是保留字,目前不能使用.虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情.为了弥补这 ...

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

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

  9. [java学习笔记]java语言基础概述之转义字符&break&continue

    1.转义字符 \t:制表符 \n:回车 \b:退格 \r:回车 \":双引号 \\:反斜线(常用于文件路径的书写中)   windows系统中回车符其实是由两个符号组成的,\r\n linu ...

  10. JS中break continue和return的用法?

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 break和continue: 退出循环 ...

随机推荐

  1. EditText取消焦点

    EditText取消焦点: 在父容器添加: android:focusable="true" android:focusableInTouchMode="true&quo ...

  2. Lua面向对象之一:简单例子

    1.Lua面向对象实现步骤 ①创建一个全局表(称之为元表) ②设置这个元表的__index值(值通常为元表自己,这样就能通过__index查找到对应的属性和方法) __index 赋值其实是一个fun ...

  3. 使用“rz -be”命令上传文件至服务器;使用“sz 文件名”从服务器下载文件到本地

    注意:需要事先安装lrzsz服务 yum install -y lrzsz 因为服务器没有安装sftp服务,无法使用FileZilla.Xftp等连接服务器上传文件,这种情况可以利用rz命令上传文件. ...

  4. Tomcat ----> 学习笔记

    源码之几个常见类和接口的关系 在学习Servlet的时候经常见到以下几个合成单词和非合成单词:Servlet.GenericServlet.HttpServlet.它们之间有联系的.接下来我把它们的联 ...

  5. OPSF - 2,状态机

    1,报文更新地址     点到点:所有报文发送224.0.0.5     虚链路:单播地址     广播网络上:DR OTHER至DR/BDR 224.0.0.6,DR/BDR至DR OTEHER 2 ...

  6. PHP 练习项目------歆语微博项目

    一个简单微博项目,php+mysql+apache开发,个人购买资料的项目练习,适合新手练习. 测试账号:zhangqie  密码:123456 功能列表: 数据库增删改查, 图片上传 表情,@好友 ...

  7. dedecms自定义表单时间时间戳值类型的转换方法

    找网站找的别人的方法,记录一下 修改/dede/templets/diy_list.htm,在第42行else前面加上以下代码: else if($fielddata[1]=='datetime') ...

  8. Date类型与String类型的相关问题

    今天完成boss交代的任务时,遇到Date类型与String类型的相关问题,参考了网上的一些例子,并且自己写了demo,现在记录下了总结一下: (一)判断一个字符串是不是合法的日期格式 public ...

  9. 浅谈cookie、session

    揭秘Cookie: cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是可 ...

  10. 可以进行SHA-1,SHA-224,SHA-256,SHA-384,SHA-512五种算法签名的工具类,以及简单说明

    import java.security.MessageDigest; public class SignatureSHA { public static String signSHA(String ...