• 跳转
  • break
    • 解析
    • 语法与流程
    • 代码演示
  • continue
    • 解析
    • 语法和流程
    • 代码演示
  • return
  • goto
    • 代码演示
  • 测试 break 能跳出几层循环结构

跳转

前两种跳转是发生在循环内部的,也就是说 break(switch),continue 只能出现在循环中。后两者则没有限制。

break

break 不能单独使用
可以和switch一起使用,用于跳出switch。
也可以和循环一起使用,用于跳出循环。

解析

他存在的意义,就是在提前结束当前循环,即跳出当前循环。有点像生活的中“阀”,水阀,电阀一样,到达某一个条件就会自动放水或停电,所以说,break 通常出现在条件表达式的后面,注意,break 只能跳出一重循环。

语法与流程

代码演示

#include <stdio.h>
#include <windows.h>
int main()
{for (int floodLevel = 10; floodLevel < 100; floodLevel += 5){printf("当前水位是%d\n", floodLevel);if (floodLevel == 95)break;Sleep(1000);}printf("开阀放水\n");return 0;
}

运行结果为:

continue

解析

它存在的意义,在于结束当前本轮循环,进入下一轮循环。有点像生活中的“筛子”只留下满足条件的,也像海边捡贝壳的小姑凉,只捡自己喜欢的。所以说,cotinue 通常出现在条件表达式的后面,特点:只能结束当前循环提前进入下一轮循环。

语法和流程

代码演示

打印[1,100] 以内所有能被 3 整除的数

#include <stdio.h>
#include <windows.h>
int main()
{for (int i = 0; i <= 100; i++){if (i % 3 != 0)continue;printf("%d\n", i);}return 0;
}

运行结果为:

return

跳出当前函数,返回调用。如果当前函数是 main 函数,则该进程结束,等价于 exit()函数,因为操作系统发起的对 main()的调用,main()函数结束,意味着整个进程/程序的退出。

goto

这是一个不太值得探讨的话题,goto 会破坏结构化程序设计流程,它将使程序层次不清,且不易读,所以慎用。
最早提出,使用 goto 有害的是由荷兰著名计算机科学家 E.W.Dijkstra(艾兹格·迪杰斯特拉)于 1968 年提出的。

goto 语句,仅能在本函数内实现跳转,不能实现跨函数跳转(短跳转)。但是他在跳出多重循环的时候效率还是蛮高的,再者就是 集中错误处理。

代码演示

#include <stdio.h>
#include <windows.h>
int main()
{for (int i = 0; i < 1; i++){for (int j = 0; j < 1; j++){for (int k = 0; k < 100; k++){printf(" for(int k=0; k<100; k++)\n");if (k == 5)goto Target; //return ;//break;}printf("for(int j=0; j<1; j++) \n");}Target:printf("for(int i=0; i<1; i++)\n");}
}

运行结果为:

测试 break 能跳出几层循环结构

代码演示:

#include <stdio.h>
int main(void)
{while (1){switch (1){case 1: break;}printf(" switch(1)\n");break;}printf(" while(1)\n");return 0;
}

运行结果为:

我们可以得出结论:
break一次只能跳出当前一层循环。
return 跳出当前函数。
goto只能在当前函数跳转。

C语言程序流程设计之跳转【程序流程设计】(14)相关推荐

  1. java跳转控制语句有哪些_Java语言基础学习之流程控制语句和跳转控制语句实例分析...

    本文主要向大家介绍了Java语言基础学习之流程控制语句和跳转控制语句实例分析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.流程控制语句 在一个程序执行的过程中,各条语句的执行顺 ...

  2. c语言循环次数控制,3 C语言 流程控制 循环 跳转

    3 C语言 流程控制 循环 跳转 选择: if switch 循环   while,do while ,for ,嵌套 跳转 break goto continue 第3章流程控制 学习目标 u掌握选 ...

  3. c语言输入123输出112233,C语言程序的设计 第3章 程序语言基础1.pdf

    C语言程序的设计 第3章 程序语言基础1 第3章 程序语言基础 •3.1 C语言概述 3.1 C 33..11 CC 3.2 基本数据类型 3.2 • 33..22 3.3 运算符和表达式 3.3 • ...

  4. 适合开发桌面程序的软件工厂流水线组织结构和流程设计

    开发桌面程序的软件工厂通常需要有一个良好的组织结构和流程设计,以确保项目能够高效地完成并满足质量标准.以下是适合开发桌面程序的软件工厂流水线组织结构和流程设计的建议: 1. 组织结构 软件工厂的组织结 ...

  5. 简易计算机课程设计总结,C语言课程设计报告简单计算器程序

    C语言课程设计报告简单计算器程序 (26页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 24.9 积分 .课程设计名称:C语言课程设计课程设计题目:简单 ...

  6. C语言课程设计之一—闹铃程序

    C语言课程设计之一--闹铃程序 在这里我是第一次开始写博客,算是一个开始吧!我想把学习过程中的每一份收获和状态在这里记录下来,当时间缓缓流动,或许以后的我再次回望这里,能有一种不一样的感动与体验! 好 ...

  7. 单总线和i2c总线结合实现数字温度计的设计c语言程序,1《单片机原理应用》课程设计指导书2010-6-8.doc...

    1<单片机原理应用>课程设计指导书2010-6-8 <单片机原理与应用>课程设计指导书 一.课程设计的基本任务 本课程设计的基本要求是使学生熟悉掌握MCS-51系列单片机的编程 ...

  8. 单片机c 语言0-99,单片机“0~99”加法计数器程序的设计51单片机原理及应用.doc...

    单片机"0~99"加法计数器程序的设计51单片机原理及应用 课 程 设 计 课程名称51单片机原理及应用题目名称单片机"0~99"加法计数器程序设计专业班级学生 ...

  9. c语言程序风光互补系统论文,风光互补控制器设计及实验平台搭建

    摘要: 当今世界,能源枯竭的问题已经成为世界发展的重要问题.如何解决能源危机,是学者研究的重点问题.而新能源的出现,给能源的发展带来了新的希望.新能源的利用,也成为当今研究的热点问题.而在新能源中,风 ...

最新文章

  1. 了解Netflix-zuul网关服务
  2. python使用教程pandas-python学习教程之Numpy和Pandas的使用
  3. python语言可以在哪系统操作-python能检测到它运行的是哪个操作系统?
  4. Oracle中Merge into的用法实例讲解
  5. Parallax Mapping
  6. 调用外部程序处理文件_Python使用内置方法、模块调用外部命令
  7. 【nginx】关于Nginx的一些优化(突破十万并发)
  8. 简明Linux命令行笔记:locate
  9. ZPCategory
  10. Microsoft漏洞补丁包下载地址大全
  11. 关于IDEA的一些常用的快捷键整合,赶紧进来KK......
  12. 一流的企业做标准,二流的企业做品牌,三流的企业做产品怎么理解
  13. ubuntu + gcc-linaro-交叉编译环境搭建
  14. YS13-3荧光管时钟设计
  15. 【深度学习之美】一入侯门“深”似海,深度学习深几许(入门系列之一)
  16. C语言程序课程设计任务书
  17. PE制作-002.UEFI和Legacy双启动之Legacy启动
  18. 水晶报表 发布 部署
  19. 两组三维对应点/坐标系转换公式及简要推导
  20. 《人月神话》纪念典藏版撤下了以前的宣传语

热门文章

  1. Kubernetes CRD开发工具Operator-SDK简介
  2. 【Python小脚本】实现王者农药自动刷金币啦~啦啦啦走跟我一起组队~
  3. 【攻防世界009】流浪者
  4. WIN32获取进程当前目录
  5. 带你刷burpsuite官方网络安全学院靶场(练兵场)之客户端漏洞——跨站请求伪造(CSRF)专题
  6. Windows x64内核学习笔记(五)—— KPTI(未完待续)
  7. 011 smali语法详解
  8. 14、修改字符集步骤详解
  9. 9、 InnoDB行锁
  10. 18、INSERT:插入数据(添加数据)