浅谈break 、continue、return,goto四种语句的区别。
2015-07-19 22:11
489 查看
浅谈break 、continue、return三种语句的区别:
break,continue,return这三个具有跳转功能的语句在c语言中经常被用到,近期身边有些小伙伴总是把它们的用法搞乱,在这里笔者给大家整理了一下自己对三个语句的理解,也算是自己加深一下印象吧。
1.break :
通常break语句总是与if语句联在一起,即满足条件时便跳出循环。当程序执行到该语句时在循环中表示结束整个循环,在while语句和switch-case语句中也经常使用。值得注意的是:break对if-else语句不起作用,而且在多层嵌套中,一个break只能跳出一层循环。如下图:
2.continue:
用于在循环体中进行跳转,当程序执行到continue时,表示忽略其后面的代码(或者说结束本次循环),继续执行下一次循环。如下图,当程序进入continue所在的if语句,将跳过for语句中下方所剩余的代码,直接执行下一次循环。:
3.return:
表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。如下图:
当return出现在main函数中时,通常以return 0的形式出现。主调函数可以通过返回值判断被调函数的执行情况。
4:goto语句:用几个字来描述就是简单粗暴,也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号,
放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。很容易造成bug。在这里就不详细说明啦(不过很多c语言的大牛都用的很6哦~)。
备注:本博客内容均为个人原创,版权归作者所有,若您需要引用、转载,只需要注明来源及原文链接即可,如涉及大面积转载,请来信告知,获取授权。谢谢,邮箱:wanghyonly@gmail.com。
break,continue,return这三个具有跳转功能的语句在c语言中经常被用到,近期身边有些小伙伴总是把它们的用法搞乱,在这里笔者给大家整理了一下自己对三个语句的理解,也算是自己加深一下印象吧。
1.break :
通常break语句总是与if语句联在一起,即满足条件时便跳出循环。当程序执行到该语句时在循环中表示结束整个循环,在while语句和switch-case语句中也经常使用。值得注意的是:break对if-else语句不起作用,而且在多层嵌套中,一个break只能跳出一层循环。如下图:
2.continue:
用于在循环体中进行跳转,当程序执行到continue时,表示忽略其后面的代码(或者说结束本次循环),继续执行下一次循环。如下图,当程序进入continue所在的if语句,将跳过for语句中下方所剩余的代码,直接执行下一次循环。:
3.return:
表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。如下图:
当return出现在main函数中时,通常以return 0的形式出现。主调函数可以通过返回值判断被调函数的执行情况。
4:goto语句:用几个字来描述就是简单粗暴,也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号,
放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。很容易造成bug。在这里就不详细说明啦(不过很多c语言的大牛都用的很6哦~)。
备注:本博客内容均为个人原创,版权归作者所有,若您需要引用、转载,只需要注明来源及原文链接即可,如涉及大面积转载,请来信告知,获取授权。谢谢,邮箱:wanghyonly@gmail.com。
相关文章推荐
- 每天一个小知识点7( 4000 jQuer总结一)
- Ueditor实现自定义conttoller请求或跨域请求
- liunx命令3 attr、lsattr;特殊权限suid、sgid、sticky
- 12100 Printer Queue(优先队列)
- HDU 3998 Sequence
- mui 搜索框图标左对齐
- Arduino初探:让 Arduino 闪起来
- Printer Queue
- UI界面 view的常用属性
- Android UI界面适配
- 观察者模式的具体应用——通知(notification)机制和KVO(Key-Value-Observing)机制
- .NET C#: NameValueCollection
- 我的Android进阶之旅------>Android <requestFocus />标签的用法
- Splay树(插入、删除、区间最大字段和)—— SPOJ - GSS6 Can you answer these queries VI
- leetCode(44):Implement Stack using Queues
- leetCode(44):Implement Stack using Queues 分类: leetCode 2015-07-19 19:29 50人阅读 评论(0) 收藏
- 【分块】 HDOJ 5286 wyh2000 and sequence
- java设计模式-Builder
- StringBuilder 以及 StringBuffer默认大小与扩容
- UVALive - 3263 That Nice Euler Circuit (几何)