深入解析 C 语言中的 for 循环、break 和 continue

C语言中的 for 循环

当您确切地知道要循环执行代码块的次数时,可以使用 for 循环而不是 while 循环

for (语句 1; 语句 2; 语句 3) {// 要执行的代码块
}
  • 语句 1 在执行代码块之前执行(一次)。
  • 语句 2 定义执行代码块的条件。
  • 语句 3 在执行代码块后执行(每次)。

下面的示例将打印数字 0 到 4:

示例

int i;for (i = 0; i < 5; i++) {printf("%d\n", i);
}

示例解释

  • 语句 1 在循环开始之前设置一个变量(int i = 0)。
  • 语句 2 定义循环运行的条件(i 必须小于 5)。如果条件为真,循环将重新开始,如果为假,循环将结束。
  • 语句 3 每次执行循环中的代码块时都会增加一个值 (i++)。

另一个例子

此示例将只打印 0 到 10 之间的偶数:

示例

for (i = 0; i <= 10; i = i + 2) {printf("%d\n", i);
}

嵌套循环

也可以将一个循环放在另一个循环内。这称为嵌套循环。

“内部循环”将在“外部循环”的每次迭代中执行一次:

示例

int i, j;// 外部循环
for (i = 1; i <= 2; ++i) {printf("Outer: %d\n", i);  // 执行 2 次// 内部循环for (j = 1; j <= 3; ++j) {printf(" Inner: %d\n", j);  // 执行 6 次 (2 * 3)}
}

现实生活中的例子

为了展示 for 循环的实际例子,让我们创建一个程序,为指定数字打印乘法表:

示例

int number = 2;
int i;// 打印数字 2 的乘法表
for (i = 1; i <= 10; i++) {printf("%d x %d = %d\n", number, i, number * i);
}return 0;

C 语言中的 breakcontinue

break

您已经在前面看到过 break 语句的使用。它用于“跳出”switch 语句。

break 语句也可以用于跳出循环。

i 等于 4 时,此示例跳出 for 循环:

int i;for (i = 0; i < 10; i++) {if (i == 4) {break;}printf("%d\n", i);
}

continue

如果出现指定的条件,continue 语句会中断循环中的一次迭代,并继续下一个迭代。

此示例跳过值 4

int i;for (i = 0; i < 10; i++) {if (i == 4) {continue;}printf("%d\n", i);
}

while 循环中的 breakcontinue

您也可以在 while 循环中使用 breakcontinue

break 示例

int i = 0;while (i < 10) {if (i == 4) {break;}printf("%d\n", i);i++;
}

continue 示例

int i = 0;while (i < 10) {if (i == 4) {i++;continue;}printf("%d\n", i);i++;
}

C 数组

数组用于将多个值存储在单个变量中,而不是为每个值声明单独的变量。

创建数组

要创建数组,请定义数据类型(例如 int)并指定数组名称,后面跟着方括号 []

int myNumbers[] = {25, 50, 75, 100};

现在我们已经创建了一个变量,其中包含一个包含四个整数的数组。

访问数组元素

要访问数组元素,请参阅其索引号。

数组索引从 0 开始:[0] 是第一个元素,[1] 是第二个元素,等等。

printf("%d", myNumbers[0]);  // 输出 25

更改数组元素

要更改特定元素的值,请参阅索引号:

myNumbers[0] = 33;

循环遍历数组

您可以使用 for 循环遍历数组元素。

for (int i = 0; i < 4; i++) {printf("%d\n", myNumbers[i]);
}

设置数组大小

另一种常见的方法是创建数组,指定数组的大小,然后添加元素:

int myNumbers[4] = {25, 50, 75, 100};

使用这种方法,您应该事先知道数组元素的数量,以便程序存储足够的内存。

获取数组大小或长度

要获取数组的大小,可以使用 sizeof 运算符:

int myNumbers[] = {10, 25,50, 75, 100};
int arraySize = sizeof(myNumbers) / sizeof(myNumbers[0]);printf("%d", arraySize);  // 输出 5

改进循环

在循环中,最好使用数组的大小来遍历,以适应不同大小的数组:

int myNumbers[] = {25, 50, 75, 100};
int arraySize = sizeof(myNumbers) / sizeof(myNumbers[0]);for (int i = 0; i < arraySize; i++) {printf("%d\n", myNumbers[i]);
}

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

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

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

相关文章

价格成谜,小米汽车到底要卖给谁?

文&#xff5c;刘俊宏 编&#xff5c;王一粟 “不要再讲9.9万了&#xff0c;不可能的&#xff0c;也不要再讲14.9万&#xff0c;小米SU7是有理由的贵”&#xff0c;小米集团创始人、董事长雷军在12月28日的小米汽车技术发布会上&#xff0c;把价格作为最大的悬念留给了市场。…

【Python排序算法系列】—— 选择排序

​ &#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 选择排序 过程演示&#xff1a; 选择排序实现代码&#xff1a; 分析选择排序&#xff1a…

Grafana无法发送告警消息的飞书webhook(机器人)

1.问题描述 Grafana无法向飞书机器人发送报警消息&#xff0c;实测使用Grafana自带的webhook也不好使&#xff0c;对于用飞书办公的程序猿非常不便&#xff0c;后来发现一个报警神器&#xff0c;开源免费&#xff0c;关键是好用 PrometheusAlert 2.PrometheusAlert安装 Prom…

【办公软件】Excel双坐标轴图表

在工作中整理测试数据&#xff0c;往往需要一个图表展示两个差异较大的指标。比如共有三个数据&#xff0c;其中两个是要进行对比的温度值&#xff0c;另一个指标是两个温度的差值&#xff0c;这个差值可能很小。 举个实际的例子&#xff1a;数据如下所示&#xff0c;NTC检测温…

openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码

文章目录 openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码178.1 前提条件178.2 操作步骤 openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码 openGauss可以通过调用SQL函数&#xff0c;…

构建高质量软件的测试策略和质量保障原则

在软件开发过程中&#xff0c;高质量的软件是确保项目成功的关键。为了实现这一目标&#xff0c;团队需要采用有效的测试策略和质量保障原则。本文将介绍一些构建高质量软件的测试策略和质量保障原则。 1. 全面的测试覆盖 确保所有关键功能和模块都经过全面的测试覆盖。采用单元…

go语言设计模式-单例模式

建造型设计模式-单例模式 是用来控制类型实例的数量的&#xff0c;当需要确保一个类型只有一个实例时&#xff0c;就需要使用单例模式。 即把实例的访问进行收口&#xff0c;不能谁都能 new 类&#xff0c;所以单例模式还会提供一个2访问该实例的全局端口&#xff0c;一般都会…

pip 下载太慢的解决办法,pip换国内源,pip换源

用pip安装python包的时候&#xff0c;如果系统没有进行相关设置&#xff0c;则用的源服务器是国外的&#xff0c;在国内访问非常慢&#xff0c;我们需要换成国内的源服务器&#xff0c;pip换源通过如下命令&#xff1a; pip config set global.index-url <源地址> 一、…

医院绩效考核系统源码,java源码,商业级医院绩效核算系统源码

医院绩效定义&#xff1a; “医院工作量绩效方案”是一套以工作量&#xff08;RBRVS&#xff0c;相对价值比率&#xff09;为核算基础&#xff0c;以工作岗位、技术含量、风险程度、服务数量等业绩为主要依据&#xff0c;以工作效率和效益、工作质量、患者满意度等指标为综合考…

WPF 漂亮长方体、正文体简单实现方法 Path实现长方体 正方体方案 WPF快速实现长方体、正方体的方法源代码

这段XAML代码在WPF中实现了一个类似长方体视觉效果的图形 声明式绘制&#xff1a;通过Path、PathGeometry和PathFigure等元素组合&#xff0c;能够以声明方式精确描述长方体每个面的位置和形状&#xff0c;无需编写复杂的绘图逻辑&#xff0c;清晰直观。 层次结构与ZIndex控制…

EyouCMSv1.5.1漏洞复现

赞赞网络科技 EyouCMS&#xff08;易优CMS&#xff09;是中国赞赞网络科技公司的一套基于ThinkPHP的开源内容管理系统&#xff08;CMS&#xff09;。 Eyoucms v1.5.1 及以前版本存在任意用户后台登陆与文件包含漏洞&#xff0c;该漏洞使攻击者可以通过调用api&#xff0c;在前台…

MAC运行Windows专用软件 CrossOver v23.7.1中文版 macOS

CrossOver v23.7.1中文版是一款系统兼容软件&#xff0c;让您可以在 Mac 和 Linux 系统上运行 Windows 应用&#xff0c;不必购买 Windows 授权&#xff0c;不必重启系统&#xff0c;不必使用虚拟机。通过 CrossOver&#xff0c; 您可以从 dock 直接启动 Windows 应用&#xff…

D1671 75Ω视频放大驱动芯片 ,2.8~5.5V 应用于手持设备中 内 置 SAG端 子 6dB放 大 器 电 路

D1671 是 一 块 带 4 级 低 通 滤 波 的 单 通 道 视 频 放 大 电 路 &#xff0c; 可 在 3V 或 5V的 低 电 压 下 工 作 。 该 电 路 用 在 有 TV 影 象 输 出 功 能 的 产 品 上 面 &#xff0c; 比 如 机 顶 盒 &#xff0c;监 控 摄 象 头 &#xff0c;DVD &#xff1b;此 …

D9741 PWM控制器电路,定时闩锁、短路保护电路,输出基准电压(2.5V) 采用SOP16封装

D9741是一块脉宽调制方三用于也收路像机和笔记本电的等设备上的直流转换器。在便携式的仪器设备上。 主要特点&#xff1a;● 高精度基准电路 ● 定时闩锁、短路保护电路 ● 低电压输入时误操作保护电路 ● 输出基准电…

【Linux开篇介绍】

Linux学习笔记---001 Linux开篇1、Liunx历史背景1.1、什么是Linux?1.2、开源 VS 闭源 2、Linux应用场景3、Linux版本问题4、操作系统是什么&#xff1f;为什么要有操作系统&#xff1f; Linux开篇 前言&#xff1a; 这篇开始进行了解学习Linux的基础知识&#xff0c;首先从介…

计量经济学|学习笔记以及学习感悟

初级计量经济学着重于介绍基本的统计工具和经济模型&#xff0c;以帮助理解经济数据和经济现象之间的关系。它包括回归分析、假设检验和预测方法等内容。中级计量经济学则深入研究这些方法的理论基础和实际应用&#xff0c;包括更复杂的模型和技术&#xff0c;如面板数据分析、…

web三层架构

目录 1.什么是三层架构 2.运用三层架构的目的 2.1规范代码 2.2解耦 2.3代码的复用和劳动成本的减少 3.各个层次的任务 3.1web层&#xff08;表现层) 3.2service 层(业务逻辑层) 3.3dao 持久层(数据访问层) 4.结合mybatis简单实例演示 1.什么是三层架构 三层架构就是把…

在VMware安装CentOS 7:详细教程

安装准备工作 本地虚拟机&#xff1a;我这里使用的是VMware Workstation 17 Pro centos7系统ISO镜像&#xff1a;我这里使用的是CentOS-7-x86_64-DVD-2009.iso&#xff0c;具体的下载地址是在阿里云官方镜像站&#xff1a;centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿…

java设计模式学习之【模板方法模式】

文章目录 引言模板方法模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用游戏设计示例代码地址 引言 设想你正在准备一顿晚餐&#xff0c;无论你想做意大利面、披萨还是沙拉&#xff0c;制作过程中都有一些共同的步骤&#xff1a;准备原料、加工食物、摆盘。…

力扣题目学习笔记(OC + Swift)25. K 个一组翻转链表

K 个一组翻转链表 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改…