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: 退出循环 ...
随机推荐
- VC静态调用DLL(lib)
1. #pragma comment(lib, "libxml2.lib")#pragma comment(lib, "iconv.lib")#pragma c ...
- 数据库 Mysql 使用,优化,索引
数据库事务的隔离级别,由低到高 : READ UNCOMMITTED(读未提交数据):允许事务读取未被其他事务提交的变更数据,会出现脏读.不可重复读和幻读问题. READ COMMITTED(读已提交 ...
- 《剑指offer》第四十六题(把数字翻译成字符串)
// 面试题46:把数字翻译成字符串 // 题目:给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成"a",1翻 // 译成"b",……,11翻译成&qu ...
- Linux若干源码编译
Spark源码编译: dev/目录下执行make-distribution.sh./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz Pyarn ...
- 学习笔记5—Python 将多维数据转为一维数组 (总结)
<code class="language-python">import operator from functools import reduce a = [[1,2 ...
- top 命令常用操作
1.显示进程参数 top -c 下面操作为top命令后操作 2.按cpu/mem排序 shift + p/m 3.高亮 排序列 按x键 4.高亮 变化进程行 按b键 5.显示cpu每核的运行状态 按1 ...
- 牛客网NOIP赛前集训营-提高组(第一场)B 数数字
数数字 思路: 数位dp 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include< ...
- Learn Python3 the hard way 第二天总结 命令行(2)
复制文件 命令:cp含义:很简单,就是把一个文件复制成一个新文件而已.使用 cp -r命令可以复制一些包含文件的目录 移动文件 命令:mv含义:对文件进行"rename". 查看文 ...
- 20165303 2017-2017-2《Java程序设计》课程总结
1.我期待的师生关系 20165303我期望的师生关系 2.学习基础和C语言基础调查 20165303学习基础和C语言基础调查 3.linux安装及学习 20165303 预备作业3 Linux安装及 ...
- tomcat ----> 源码关联/编译/....
今天在搞Servlet时想看下tomcat Servlet-API.jar的源码,按照惯性思维用以往关联SSH2框架的源码的方式去做但是结果没有成功,尝试过换不同的文件夹,起初怀疑可能是路径太深关联不 ...