退出循环break,continue,return,goto分析
/*
在循环中间设置单个或者多个退出点,可以使用的语句有: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分析的更多相关文章
- 有关于break,continue,return的区别和代码分析
今天,用代码和结果直接解释break,continue,return的区别 1.break代码 public static void breakTest() { //break的讲解 for(int ...
- js中退出语句break,continue和return 比较
js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...
- js中退出语句break,continue和return 比较(转)
原链接:http://blog.163.com/ued_er/blog/static/199703159201210283107315/ js中退出语句break,continue和return 比较 ...
- js中的break ,continue, return (转)
面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢?我们在使用这三关键字的时候需要注意和需要理解的规则是什么呢? ...
- 详解C#break ,continue, return
C#编程语法中break ,continue, return这三个常用的关键字的学习对于我们编程开发是十分有用的,那么本文就向你介绍break ,continue, return具体的语法规范. C# ...
- js中的break,continue,return
js中的break,continue, return (转) 面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢 ...
- break,continue,return的区别
break,continue,return的区别 break 当break语句用于循环语句时,会终止执行循环,并执行循环后代码(如果有的话). function main() { for(var i ...
- JS流程控制语句 退出循环break 在while、for、do...while、while循环中使用break语句退出当前循环,直接执行后面的代码。
退出循环break 在while.for.do...while.while循环中使用break语句退出当前循环,直接执行后面的代码. 格式如下: for(初始条件;判断条件;循环后条件值更新) { i ...
- Java流程控制,for,switch,while.break,continue,return
Java流程控制,for,switch,while.break,continue,return
随机推荐
- .Net ->> iTextSharp工具读取PDF文本内容
分享一个开源的C#DLL,可以读取PDF文本内容. 地址:http://sourceforge.net/projects/itextsharp/ 这里还有相关的链接:http://www.codepr ...
- Python文件夹与文件的操作 ZZ
最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...
- mongodb数据库集合操作
1:更新update update() 方法用于更新已存在的文档.语法格式如下: db.collection.update( <query>, <update>, { upse ...
- SQLSERVER procedure 传入参数为DataTable类型 C#该怎么写
以上为数据库中存储过程传入参数为table类型 table类型在数据库中存在为: 最后在C#实现方式为:
- IE浏览器 div或者其他容器的height属性无效 滚动条问题解决办法
1.height设置定值是功能好使的 但是如果在不同分辨率的电脑上运行程序 会出现样式上的偏差 2.height的百分比是根据父级来的 所以将父级的height设置好(如果当前容器上方有很多父级 ...
- Linux命令 标签: linux 2016-08-01 10:26 508人阅读 评论(0) 收藏
Linux常用命令 文件.目录的基本操作 ls - 查看文件 cp - 拷贝文件 mv - 移动或重命名文件 rm - 删除文件 touch - 创建空文件或更新文件时间 cd - 改变当前路径 pw ...
- 通过渲染器Shader实现图像变换效果
在上一篇文章中,一起学习了通过设定画笔风格来实现图形变换,没读过的朋友可以点击下面链接: http://www.cnblogs.com/fuly550871915/p/4886455.html 是不是 ...
- codeforces 848B Rooter's Song
题目链接 正解:排序+模拟. 我们注意到两个点碰撞的必要条件,$pi+tj=pj+ti$,移项以后发现就是$pi-ti=pj-tj$,那么我们可以把$p-t$相同的点分为同一组. 然后我们还可以发现一 ...
- shiro认证策略,授权
有具体问题的可以参考之前的关于shiro的博文,关于shiro的博文均是一次工程的内容 ! 认证策略: 修改认证策略: applicationContext.xml <!-- 认证器 --> ...
- Kali-linux准备内核头文件
内核头文件是Linux内核的源代码.有时候,用户需要编译内核头文件代码,为以后使用内核头文件做准备,本节将介绍编译内核头文件的详细步骤. 准备内核头文件的具体操作步骤如下所示. (1)更新软件包列表. ...