嵌入式学习第13天——C语言循环结构break和continue

news2025/1/12 5:04:57

break和continue

  • break

功能:

1.用在switch中,用来跳出switch的case语句;如果case没有break,可能会产生case穿透。

2.用在循环中(while、do..while、for..),提前结束循环,也就是跳出整个循环。

说明:

  1. break不能用于循环语句和switch语句之外的任何其它语句之中。

  2. break只能终止并跳出最近一层的结构。

图示:

案例:

/***
  *需求:break案例——参加一阶段考试,如果及格跳出循环,不及格一直考
  */
 #include <stdio.h>
 ​
 int main()
 {
     printf("一阶段分段考试\n");
 ​
     //声明一个变量,用来存放考试成绩
     int score = 0;
     do
     {
         printf("开始一阶段分阶段考试...\n");
 ​
         scanf("%d",&score);
 ​
         //考试合格,结束考试
         if(score >= 60){
             break;
         }
     }
     while(1);
     printf("恭喜你通过考试!\n");
     
     return 0;
 }
 /**********************************************************
 一阶段分段考试
 开始一阶段分阶段考试...
 55
 开始一阶段分阶段考试...
 79
 恭喜你通过考试!
 *************************************************************/

案例:

 /***
  *需求:break案例——1~100内前十个偶数
  **/
 #include <stdio.h>
 ​
 int main()
 {
     for(int i = 1,count = 1;i <= 100;i++)
     {
         if(i % 2 == 0)
         {
             if(count > 10)
             {
                 break;
             }
             count ++;//只记录偶数
             printf("%d\t",i);
         }
     }
     printf("\n");
     return 0;
 }
 /****************************************
 2   4   6   8   10  12  14  16  18  20
 *****************************************/
  • continue

功能:continue语句不会结束整个循环,而是跳过本次循环尚未执行的语句,进入下一次循环。

说明:

1.仅用于循环语句中。

2.在嵌套循环的情况下,continue语句只对包含它的最内层的循环体语句起作用。

图示:

案例:

/**
 * 需求:continue案例-求1~100之内的偶数和
 */
 #include <stdio.h>
 ​
 //不使用continue
 void fun01()
 {
     int sum = 0;
     for(int i = 1;i <= 100;i++)
     {
         //判断偶数
         if(i % 2 == 0)
         {
             sum += i;
         }
     }
     printf("1~100之内的偶数和是:%d\n",sum);
 }
 ​
 //使用continue
 void fun02()
 {
     int sum = 0;
     for(int i = 1; i <= 100; i++)
     {
         // 判断奇数
         if(i % 2 != 0)
         {
             continue;//跳出所有的奇数
         }
         sum += i;
     }
     printf("1~100之内的偶数和是:%d\n",sum);
 }
 int main()
 {
     fun01();
     fun02();
 }
 /**************************************
 1~100之内的偶数和是:2550
 1~100之内的偶数和是:2550
 ****************************************/
  • 跳出多层循环

跳出多层循环是不能使用break和continue的,因为他们只能跳出单层循环,跳出多层循环,需要我们自己定义标志位进行跳出。

案例:

// 定义一个标志位
 int isFlag = 1;// 默认循环成立
 char fu;
 while(isFlag)
 {
     printf("第一层循环执行的内容...\n");
     
     while(isFlag)
     {
          printf("第二层循环执行的内容...\n");
 ​
          printf("是否跳出循环?(y/n)");
          scanf("%c",&fu);
          if(fu == 'Y' || fu == 'y')
          {
              isFlag = 0;
          }
     }
 }

注意:如果是多层循环,进的时候是从外到内,跳出的时候是从内到外。

 以上就是今天C语言的笔记,有什么问题还请指正,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1968862.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring的三级缓存与源码分析--解决循环依赖

三级缓存介绍 Spring 通过三层缓存来处理循环依赖&#xff0c;这些缓存分别是&#xff1a; 一级缓存&#xff08;内存中的 singletonObjects&#xff09; 二级缓存&#xff08;earlySingletonObjects&#xff09; 三级缓存&#xff08;singletonFactories&#xff09; 1. 一…

深入理解C语言结构体

目录 引言 一. 结构体的基本概念 1.结构体的声明 2. 结构体变量的创建和初始化 3. 结构体成员访问操作符 4.结构体的特殊声明 1. 匿名结构体 2. 嵌套结构体 3.结构体自引用 4. typedef 声明 二、结构体内存对⻬ 1.对⻬规则 2.为什么存在内存对⻬? 3.修改默认对齐…

ffmpeg命令-Windows下常用最全

查询命令 参数 说明 -version 显示版本。 -formats 显示可用的格式&#xff08;包括设备&#xff09;。 -demuxers 显示可用的demuxers。 -muxers 显示可用的muxers。 -devices 显示可用的设备。 -codecs 显示libavcodec已知的所有编解码器。 -decoders 显示可用…

基于SpringBoot+Vue的小区物业管理系统(带1w+文档)

基于SpringBootVue的小区物业管理系统(带1w文档) 基于SpringBootVue的小区物业管理系统(带1w文档) 小区物业管理系统采用B/S(Browser/Server)架构和MVC模型进行设计开发。在B/S架构下&#xff0c;用户在浏览器端进行使用&#xff0c;主要工作通过服务器端进行实现&#xff0c;用…

电脑缺少dll文件怎么解决?10款dll修复工具大盘点,赶紧收藏起来!

电脑缺少dll文件怎么解决&#xff1f;DLL&#xff08;动态链接库&#xff09;是一种重要文件&#xff0c;包含了一系列指令&#xff0c;用于运行几乎所有 Win10、Win8和 Win7的程序。如果Windows 操作系统中缺少DLL文件&#xff0c;您可能会无法启动所需的程序或应用。在 Win10…

【AndroidStudio】修改app名称、版本号、图标

文章目录 1. 修改app名称(AndroidManifest.xml-app_name字段)2. 修改app版本号和版本名称3. 修改app图标4. 修改app启动过渡图片 1. 修改app名称(AndroidManifest.xml-app_name字段) 2. 修改app版本号和版本名称 通常是app目录下的build.gradle文件找到“versionCode”和“ver…

基于域名+基于ip+基于端口的虚拟主机+上线商务系统

一、回顾 1.jdk环境 tomcat服务器需要jdk环境 版本对应 ​ tomcat9>jdk1.8 配置系统变量JAVA_HOME sed -i $aexport JAVA_HOME/usr/local/jdk22/ /etc/profile sed -i $aexport PATH$JAVA_HOME/bin:$PATH /etc/profile ​ source /etc/profile ​ java -version java…

LeetCode | 441 | 排列硬币 | 二分查找

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 今天分享的是LeetCode中一道标签为简单的算法题&#xff0c;本质是一道数学题 文章目录 1.题目描述2.题解2.1 公式解法2.2 暴力解法2.3 二分查找 LeetCode链接&#…

【 问题 】 AT32 F413CB 设置SRAM大小为64KB 导致Flash后64KB代码执行变慢 解决办法

背景 AT32的SRAM可以设置为16KB/32KB/64KB的不同大小&#xff0c;设置SRAM大小将导致Flash的部分空间的读写速度减缓&#xff0c;如下图&#xff1a; 这个问题看似不是很大&#xff0c;但是当运行一些很保证实时性&#xff0c;速度性的代码时&#xff0c;就会产生一些问题。 …

react-日期选择器封装

文件 import { useMemo, useState, useEffect } from "react" import dayjs, { Dayjs } from "dayjs" import "dayjs/locale/zh-cn" import "./App.css" dayjs.locale("zh-cn")function SimpleCalendar() {// 当前时间对象…

【数值计算方法】数值积分微分-python实现-p2

原文链接&#xff1a;https://www.cnblogs.com/aksoam/p/18279394 更多精彩&#xff0c;关注博客园主页&#xff0c;不断学习&#xff01;不断进步&#xff01; 我的主页 csdn很少看私信&#xff0c;有事请b站私信 博客园主页-发文字笔记-常用 有限元鹰的主页 内容&#xf…

基于ThinkPHP开发的校园跑腿社区小程序系统源码,包含前后端代码

基于ThinkPHP开发的校园跑腿社区小程序系统源码&#xff0c;包含前后端代码 最新独立版校园跑腿校园社区小程序系统源码 | 附教程 测试环境&#xff1a;NginxPHP7.2MySQL5.6 多校版本&#xff0c;多模块&#xff0c;适合跑腿&#xff0c;外卖&#xff0c;表白&#xff0c;二…

【Android】Kotlin 实现底部弹框日历组件

需求 如下图所示, 底部弹出日历组件 原生插件使用的有一个好处是可以根据你的系统语言切换插件内的语言, 刚好我们这个app面向的国外用户, 而产品对日历组件的日期显示有特别要求, 因此这无疑减少了我们切换语言的开发工作量 代码 1. custom_bottom_datepicker.xml <R…

Java小白入门到实战应用教程-权限修饰符

Java小白入门到实战应用教程-权限修饰符 前言 在前面的内容中我们其实已经接触到了权限修饰符&#xff1a;public 在java中权限修饰符除了public外&#xff0c;还有private、protected、默认权限。 权限修饰符可用来修饰类、成员变量、方法(函数)。 其中修饰类只能用publi…

springboot的表现层/控制层controller开发

第一步&#xff1a;新建文件和注入业务层对象 需要使用的注解&#xff1a; 第一个声明是restful风格开发 第二个是需要设置网页访问路径 RestController RequestMapping("/fuels")//http://localhost/fuels注入服务层对象&#xff1a; Autowiredprivate FuelServ…

晶振输出频率偏差过大的影响

晶体振荡器作为电子系统中的关键部件之一&#xff0c;其输出频率的准确性直接影响着整个系统的性能。无论是实时响应系统还是通信设备&#xff0c;都需要高度精确的频率源来维持其正常运作。本文将探讨晶振输出频率偏差过大会带来的影响&#xff0c;并简要介绍频率稳定性的概念…

【docker】下载docker 容器

1.下载地址&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/rhel/9/x86_64/stable/ 2.配置仓库拉取容器镜像 docker镜像 通过软件仓库下载但不安装 挂载并放入一个东西里面&#xff08;存放rpm软件包&#xff0c;并不是软件仓库&#xff09; 采集rpm数据的…

VSCode安装和配置

一、VScode下载和安装 下载 Visual Studio Code - Mac、Linux、Windows 下载完成之后傻瓜式安装即可 二、 左侧活动栏介绍 三、安装中文插件 先下载&#xff0c;在重启即可 四、配置C语言运行环境 1、Code Runner 记得勾选图中的两个选项 2、安装C/C插件 3、安装编译器MinGW…

cpp学习记录05:类和对象02

继承 面向对象的语法思想都差不多继承的好处就是方便 语法&#xff1a; class 子类 : 继承方式 父类 继承方式 公共继承&#xff1a;继承的内容权限不变 保护继承&#xff1a;继承的内容权限变为protected 私有继承&#xff1a;继承的内容权限变为private 这三类继承都不…

1000W长连接,如何建立和维护?千万用户IM 架构设计

1000W长连接&#xff0c;如何建立和维护&#xff1f;千万用户IM 架构设计 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格&#xff0c;遇到很多很重要的架构类/设计类…