break&&continue
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的更多相关文章
- js中的break ,continue, return (转)
面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢?我们在使用这三关键字的时候需要注意和需要理解的规则是什么呢? ...
- break,continue的使用
break,continue 使用break命令允许跳出所有循环下面的例子中,脚本进入死循环直至用户输入数字大于5.要跳出这个循环,返回到shell提示符下,就要使用break命令. #!/bin/b ...
- 详解C#break ,continue, return
C#编程语法中break ,continue, return这三个常用的关键字的学习对于我们编程开发是十分有用的,那么本文就向你介绍break ,continue, return具体的语法规范. C# ...
- js中退出语句break,continue和return 比较 (转载)
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...
- break , continue , exit
break , continue , exit 例一:#!/bin/bash . /etc/init.d/functions `;do ];then #continue #没有数字3 break #e ...
- 有关于break,continue,return的区别和代码分析
今天,用代码和结果直接解释break,continue,return的区别 1.break代码 public static void breakTest() { //break的讲解 for(int ...
- Java基础(2):Java中的四个跳转语句总结goto,break,continue,return
跳转控制语句 Java中的goto是保留字,目前不能使用.虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情.为了弥补这 ...
- js中退出语句break,continue和return 比较
js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...
- [java学习笔记]java语言基础概述之转义字符&break&continue
1.转义字符 \t:制表符 \n:回车 \b:退格 \r:回车 \":双引号 \\:反斜线(常用于文件路径的书写中) windows系统中回车符其实是由两个符号组成的,\r\n linu ...
- JS中break continue和return的用法?
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 break和continue: 退出循环 ...
随机推荐
- jq ‘’操作‘’伪元素
1. 伪元素非 dom 元素,jq无法操作,但可以间接影响. 2. 操作方式 2.1 修改类 <!DOCTYPE html> <html lang="en"> ...
- 学习笔记17—circos安装集(window环境)
Windows7环境下Circos使用教程 一.下载安装软件包 1.strawberry perl 因为Circos软件是依赖perl语言编译环境的,但是windows环境下默认是没有perl的,所以 ...
- ssh连接docker镜像ubuntu与debian
用密码登录root docker官网给的sshdemo是ubuntu的,https://docs.docker.com/engine/examples/running_ssh_service/ 亲 ...
- Netty实现简易http_server
Netty可以通过一些handler实现简单的http服务器.具体有三个类,分别是HttpServer.java.ServerHandlerInit.java.BusiHandler.java. 具体 ...
- three.js 制作一个简单的圆柱体模型
<!DOCTYPE html> <html lang="en"> <head> <title>three.js webgl - or ...
- 雷林鹏分享:XML 注意事项
XML 注意事项 这里列出了您在使用 XML 时应该尽量避免使用的技术. Internet Explorer - XML 数据岛 它是什么?XML 数据岛是嵌入到 HTML 页面中的 XML 数据. ...
- English trip V1 - B 6.Where Are You From? Teacher:Patrick Key: 一般疑问句和否定句中的be动词
In this lesson you will learn to talk about countries and languages. 本节课你将学习到关于谈论城市和语言 课上内容(Lesson) ...
- android -------- Data Binding的使用(二)
分享一下Data Binding在项目中一些常用的基础,点击事件和输入框的一些操作. DataBinding允许我们在xml中view的一些事件属性(如onClick等)中填写DataBinding表 ...
- vue基础 (三) 自动化工具(Vue CIL)
一.自动化工具(Vue CIL) 安装过程 1. 先安装nvm 参考:https://www.jianshu.com/p/d0e0935b150a https://www.cnblogs.com/tj ...
- lanmp环境中php版本的升级为7.1
查看php版本的信息 vim ./lib/phps.sh 设置权限 chmod 755 ./lib/phps.sh 下载版本 ./lib/phps.sh 7.1.4 查看版本 php -v ...