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

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 当您确切地知道要循环执行代码块的次数时,可以使用 for 循环而不是 while 循环

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,关注后即可获取最新文章推送

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

相关文章
|
4天前
|
存储 监控 算法
探秘员工泄密行为防线:基于Go语言的布隆过滤器算法解析
在信息爆炸时代,员工泄密行为对企业构成重大威胁。本文聚焦布隆过滤器(Bloom Filter)这一高效数据结构,结合Go语言实现算法,帮助企业识别和预防泄密风险。通过构建正常操作“指纹库”,实时监测员工操作,快速筛查可疑行为。示例代码展示了如何利用布隆过滤器检测异常操作,并提出优化建议,如调整参数、结合日志分析系统等,全方位筑牢企业信息安全防线,守护核心竞争力。
|
2月前
|
存储 网络协议 编译器
【C语言】深入解析C语言结构体:定义、声明与高级应用实践
通过根据需求合理选择结构体定义和声明的放置位置,并灵活结合动态内存分配、内存优化和数据结构设计,可以显著提高代码的可维护性和运行效率。在实际开发中,建议遵循以下原则: - **模块化设计**:尽可能封装实现细节,减少模块间的耦合。 - **内存管理**:明确动态分配与释放的责任,防止资源泄漏。 - **优化顺序**:合理排列结构体成员以减少内存占用。
196 14
|
2月前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
94 5
|
2月前
|
存储 算法 C语言
【C语言】深入浅出:C语言链表的全面解析
链表是一种重要的基础数据结构,适用于频繁的插入和删除操作。通过本篇详细讲解了单链表、双向链表和循环链表的概念和实现,以及各类常用操作的示例代码。掌握链表的使用对于理解更复杂的数据结构和算法具有重要意义。
776 6
|
2月前
|
C语言 开发者
【C语言】断言函数 -《深入解析C语言调试利器 !》
断言(assert)是一种调试工具,用于在程序运行时检查某些条件是否成立。如果条件不成立,断言会触发错误,并通常会终止程序的执行。断言有助于在开发和测试阶段捕捉逻辑错误。
63 5
|
2月前
|
存储 编译器 C语言
【C语言】数据类型全解析:编程效率提升的秘诀
在C语言中,合理选择和使用数据类型是编程的关键。通过深入理解基本数据类型和派生数据类型,掌握类型限定符和扩展技巧,可以编写出高效、稳定、可维护的代码。无论是在普通应用还是嵌入式系统中,数据类型的合理使用都能显著提升程序的性能和可靠性。
78 8
|
2月前
|
安全 搜索推荐 Unix
【C语言】《回调函数》详细解析
回调函数是指一个通过函数指针调用的函数。它允许将一个函数作为参数传递给另一个函数,并在特定事件发生时执行。这种技术使得编程更加灵活,可以动态决定在何时调用哪个函数。
88 1
|
2月前
|
C语言
【C语言】continue 关键字详解
`continue` 关键字在 C 语言中用于跳过当前循环中的剩余代码,并立即开始下一次迭代。它主要用于控制循环中的流程,使程序在满足特定条件时跳过某些代码。
169 1
【C语言】continue 关键字详解
|
2月前
|
C语言
【C语言】break 关键字详解
- `break` 关键字用于提前退出循环体或 `switch` 语句的执行。 - 在 `for`、`while` 和 `do-while` 循环中,`break` 可以帮助程序在满足特定条件时退出循环。 - 在 `switch` 语句中,`break` 用于终止 `case` 代码块的执行,避免代码“穿透”到下一个 `case`。 - 注意 `break` 只会退出最内层的循环或 `switch` 语句,确保在嵌套结构中正确使用 `break` 以避免意外的控制流行为。
152 2
|
3月前
|
存储 C语言 C++
【c语言】运算符汇总(万字解析)
今天博主跟大家分享了c语言中各种操作符的功能、使用方法以及优先级和结合性,并且与大家深入探讨了表达式求值的两个重要规则--算数转换和整形提升。学习这些知识对我们的C语言和C++学习都有着极大的帮助。
186 2

推荐镜像

更多