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. 清除div重叠浮动的方法

    在最后加入这样一个div. 并且为div加入以下属性: .clear { clear:both;}

  2. sort-桶排序

    void list_insert(list<int> &t,int num) { auto iter=t.begin(); for(;iter!=t.end();++iter) { ...

  3. vue2总结

    1.ref可跨页面取.vue文件的所有内容: <!--echart图自定义公用模板--> <echar-tem ref="echar"> </echa ...

  4. C#读取Excel表格的数据

    1.创建工程后,需要下载 EPPlus.dll 添加到工程中,这里有一个下载地址:https://download.csdn.net/download/myunity/10784634 2.下面仅实现 ...

  5. 录音 voice record

    参考 : http://air.ghost.io/recording-to-an-audio-file-using-html5-and-js/ (html5 基础) https://github.co ...

  6. Java访问ActiveMQ

    1.下载安装ActiveMQ 下载可以去官网下载:http://activemq.apache.org/download.html.我们这里使用windows测试,所以下载windows版本即可. 2 ...

  7. 雷林鹏分享:C# 变量

    C# 变量 一个变量只不过是一个供程序操作的存储区的名字.在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局.范围内的值可以存储在内存中,可以对变量进行一系列操作. 我们已经讨论 ...

  8. caffe 动态库 Release X64

    Release X64平台 createdll.h#ifndef CREARDLL_H_#define CREARDLL_H_ extern "C" _declspec(dllex ...

  9. BASE64图片转字符串

    Java代码图片字符串互转 /** * 将base64字符串转成图片 * TODO * @param imgStr base64图片字符串 * @param path 目标输出路径 * @return ...

  10. mybatis的update使用选择

    更新后台设置时,会分多个页面更新同一个表中的数据,愿想是尽量减少sql请求数据量并且减少重复代码. 比如博客园的: 假如只有一个用户信息表,这样的话每个页面只更新部分字段. 这种情况下的更新推荐在xm ...