C语言中的循环:for、while、do whileping 语句[示例]

⚡ 智能摘要

C 语言中的循环会重复执行一段语句,直到控制条件变为假。该语言提供了三种结构——while 循环、do-while 循环和 for 循环——用于控制进入和退出的重复。

  • 🔁 环状结构: 每个 C 循环都将一组重复语句与一个控制条件配对,该控制条件决定何时停止重复。
  • 🚪 进入与退出: 入口控制的 while 和 for 循环会先测试条件,而出口控制的 do while 循环总是会运行一次其主体。
  • ♻️ while 循环: while 循环在每次循环之前都会检查其条件,这适用于事先不知道迭代次数的情况。
  • 🔂 do-while 循环: do while 循环会在测试之前执行循环体,因此即使条件为假,也能保证只运行一次。
  • 🔢 对于循环: for 循环将初始化、条件和更新合并在一行中,非常适合对固定范围进行计数。
  • 中断并继续: break 语句会立即退出循环,而 continue 语句则会跳到下一次迭代而不离开循环。

C语言中的循环:for、while、do whileping 声明

C 语言中的循环是什么?

厕所ping C 语言中的语句会重复执行一系列语句,直到指定的条件为假为止。C 语言中的循环由两部分组成:循环体和控制语句。控制语句包含一系列条件,用于指示循环体执行,直到指定的条件为假为止。C 语言循环的目的是重复执行相同的代码多次。

C 语言中的循环类型

根据控制语句在程序中的位置,ping C语言中的语句分为两种类型:

  1. 入口控制回路
  2. 出口控制回路

在C语言的入口控制循环中,会在执行循环体之前检查一个条件。它也称为预检查循环。

在出口控制循环中,循环体执行完毕后才会检查某个条件。它也称为后检查循环。

C 语言中的循环类型

取样环

控制条件必须定义明确且具体,否则循环将无限次执行。这种不会停止执行并重复执行语句的循环称为无限循环。无限循环也称为“无尽循环”。以下是无限循环的一些特征:

  1. 未指定终止条件。
  2. 规定的条件永远不会满足。

指定的条件决定是否执行循环体。

“C”编程语言为我们提供了三种类型的循环结构:

  1. while 循环
  2. do-while 循环
  3. for 循环
高级人 循环类型 描述
1. While循环 在 while 循环中,在执行循环主体之前会先评估条件。只有当条件为真时,才会执行循环主体。
2. Do-While 循环 在 do…while 循环中,条件总是在循环体之后执行。它也被称为退出控制循环。
3. 对于循环 在 for 循环中,初始值只执行一次,然后条件判断会在每次迭代后测试并将计数器与一个固定值进行比较,最后停止循环。ping 当 for 循环返回 false 时。

C语言中的while循环

while 循环是最直接的循环方式。ping 结构。C 语言中 while 循环的语法如下:

C 语言中 While 循环的语法

while (condition) {
             statements;
}

这是一个入口控制循环。在 while 循环中,在处理循环主体之前会评估条件。只有当条件为真时才会执行循环主体。执行完循环主体后,控制再次返回开始处,检查条件是否为真,然后执行相同的过程,直到条件变为假。一旦条件变为假,控制就会退出循环。

退出循环后,控制权转到紧接在循环之后的语句。循环主体可以包含多个语句。如果只包含一个语句,则花括号不是必需的。尽管主体中只有一条语句,但使用花括号是一种很好的做法。

在 while 循环中,如果条件不成立,则不会执行循环体,一次也不会执行。这在 do while 循环中有所不同,我们稍后会看到。

以下程序说明了 C 编程示例中的 while 循环:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	while(num<=10)	//while loop with condition
	{
		printf("%d\n",num);
		num++;		//incrementing operation
	}
	return 0;
}

输出:

1
2
3
4
5
6
7
8
9
10

上述程序说明了 while 循环的用法。在上面的程序中,我们使用 while 循环打印了从 1 到 10 的一系列数字。

C语言中的while循环

C 编程中的 While 循环

  1. 我们已经初始化了一个 变量 变量 num 的初始值为 1。我们将打印从 1 到 10 的数字,因此变量初始化为 1。如果要从 0 开始打印,则在初始化时赋值为 0。
  2. 在 while 循环中,我们提供了一个条件 (num<=10),这意味着循环将执行主体,直到 num 的值变为 10。之后,循环将终止,并且控制权将落在循环之外。
  3. 在循环主体中,我们有一个打印函数来打印数字,还有一个增量操作来在每次执行循环时增加值。num 的初始值为 1,执行后将变为 2,在下一次执行期间将变为 3。此过程将持续到值变为 10,然后它将在控制台上打印该系列并终止循环。

'\n' 用于格式化,表示该值将在新行上打印。

C中的Do-While循环

C 语言中的 do…while 循环与 while 循环类似,不同之处在于条件总是在循环体之后执行。它也被称为退出控制循环。

C 编程语言中 do while 循环的语法如下:

C 语言中 Do-While 循环的语法

 do {
  statements
} while (expression);

正如我们在 while 循环中看到的,只有当条件为真时,才会执行循环主体。在某些情况下,即使条件为假,我们也必须至少执行一次循环主体。这种类型的操作可以通过使用 do-while 循环来实现。

在 do-while 循环中,循环主体总是至少执行一次。执行主体后,它会检查条件。如果条件为真,则它将再次执行循环主体,否则控制权将转移出循环。

与 while 循环类似,一旦控制退出循环,就会执行循环之后紧接着的语句。

while 循环和 do-while 循环之间的关键区别在于,在 while 循环中,while 写在开头。在 do-while 循环中,while 条件写在结尾,并以分号 (;) 结束

以下 C 语言循环程序说明了 do-while 循环的工作原理:

下面是 C 语言中的 do-while 循环示例,用于打印数字 2 的表格:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	do	//do-while loop 
	{
		printf("%d\n",2*num);
		num++;		//incrementing operation
	}while(num<=10);
	return 0;
}

输出:

2
4
6
8
10
12
14
16
18
20

在上面的例子中,我们使用 do-while 循环打印了 2 的乘法表。让我们看看程序如何打印该系列。

C中的Do-While循环

C 语言编程中的 Do-While 循环

  1. 首先,我们用值 1 初始化变量“num”。然后我们编写了一个 do-while 循环。
  2. 在循环中,我们有一个打印函数,它将通过将 num 的值乘以 2 来打印该系列。
  3. 每次递增后,num的值都会加1,并且打印在屏幕上。
  4. 最初,num 的值为 1。在循环体中,print 函数将按以下方式执行:2*num,其中 num=1,然后 2*1=2,因此将打印值 10。此过程将一直持续,直到 num 的值变为 0。此后,循环将终止,并执行紧接着循环的语句。在本例中,返回 XNUMX。

C 语言中的 For 循环

for 循环是 C 语言编程中一种更高效的循环结构。C 语言中 for 循环语法的一般结构如下:

C 语言中 For 循环的语法

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  1. for循环的初始值只执行一次。
  2. 该条件是一个布尔表达式,用于在每次迭代后测试并将计数器与固定值进行比较,如果满足条件则停止。ping 当 for 循环返回 false 时。
  3. 递增/递减会使计数器增加(或减少)一个设定的值。

以下程序说明了 C 编程示例中的 for 循环:

#include<stdio.h>
int main()
{
	int number;
	for(number=1;number<=10;number++)	//for loop to print 1-10 numbers
	{
		printf("%d\n",number);		//to print the number
	}
	return 0;
}

输出:

1
2
3
4
5
6
7
8
9
10

上述程序使用 for 循环打印从 1 到 10 的数字系列。

C 语言中的 For 循环

C 编程中的 For 循环

  1. 我们声明了一个 int 数据类型的变量来存储值。
  2. 在 for 循环中,在初始化部分,我们为变量 number 赋值 1。在条件部分,我们指定了条件,然后是增量部分。
  3. 在循环主体中,我们有一个打印函数,用于在控制台的新行上打印数字。我们将值 2 存储在 number 中,第一次迭代后,该值将递增,变为 2。现在变量 number 的值为 10。将重新检查条件,由于条件为真,将执行循环,并在屏幕上打印 1。此循环将继续执行,直到变量的值变为 10。此后,循环将终止,并在屏幕上打印一系列 XNUMX-XNUMX。

在 C 语言中,for 循环可以有多个表达式,各部分用逗号分隔。

例如:

for (x = 0, y = num; x < y; i++, y--) { 
  statements; 
}

另外,我们可以通过添加分号来跳过初始值表达式、条件和/或增量。

例如:

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

请注意,循环也可以嵌套,即有一个外循环和一个内循环。对于外循环的每次迭代,内循环都会重复其整个循环。

考虑以下 for 循环中有多个条件的示例,该示例使用 C 编程中的嵌套 for 循环来输出乘法表:

#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) { // outer loop
  for (j = 0; j <= max; j++) { // inner loop
    printf("%d x %d = %d\n", i, j, i*j);
  }
  printf("\n"); /* blank line between tables */
}}

输出:

1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

for 循环可以嵌套任意层级。嵌套循环应适当缩进,以提高代码的可读性。在某些 C 语言版本中,嵌套层数限制为最多 15 层,但有些版本允许更多层数。

嵌套循环主要用于数组应用程序,我们将在后续的教程中看到。

除了三种循环类型之外,C 还提供了两个语句,可以从内部改变循环的运行方式。

C 中的 Break 语句

break 语句主要用于 开关语句它还可以立即停止。ping 一个循环。

我们考虑以下程序,它引入 break 来退出 while 循环:

#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
  if (num == 3)
    break;
  printf("%d\n", num);
  num--;
}}

输出:

5
4

C 中的 Continue 语句

当您想跳到下一次迭代但仍保持在循环中时,您应该使用 continue 语句。

例如:

#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
  nb--;
  if (nb == 5)
    continue;
 printf("%d\n", nb);
}}

输出:

6
4
3
2
1

因此,值 5 被跳过。

选择哪个循环?

对于程序员来说,选择循环始终是一项艰巨的任务,要选择循环请执行以下步骤:

  1. 分析问题并检查是否需要预测试或后测试循环。
  2. 如果需要进行预测试,请使用 while 或 for 循环。
  3. 如果需要后测试,请使用 do-while 循环。

常见问题

当循环条件始终为假时,循环就会一直运行下去。要避免这种情况,可以在循环体内更新循环变量,确保循环条件最终能够满足,或者添加一个 break 语句作为安全措施。

break 语句会完全停止循环,并将控制权转移到它之后的第一条语句。continue 语句只会跳过当前迭代中剩余的语句,直接跳转到循环的下一个周期。

标准 C 没有像其他语言那样内置的 for-each 循环或基于范围的循环。 C++ or Python你可以使用 for 或 while 循环手动遍历数组,通过索引或指针遍历每个元素。

不。goto 语句会无条件跳转到指定行,并且可以模拟 loo 语句。ping但这并非结构化的循环。使用 for、while 或 do-while 循环能使代码更易读。

逗号运算符允许一个 for 循环同时管理多个变量。在 for (x = 0, y = n; x < y; x++, y–) 中,初始化部分和更新部分在每次循环中都会运行两个表达式。

是的。可以使用括号内的逻辑与 (&&) 和逻辑或 (||) 运算符组合条件。例如,while (a < 10 && b > 0) 会一直循环。ping 只有当这两个条件都成立时才有效。

是的。AI 编码助手可以根据简单的描述编写 while、do-while 和 for 循环,发现差一错误,并标记可能永远运行的条件。 Rev查看输出结果仍然至关重要,因为生成的逻辑并不总是正确的。

GitHub 副驾驶 它能在您输入时建议完整的循环体,自动补全计数器和条件,并能根据简短注释提出嵌套循环模式。它兼容主流编辑器,可显著提升重复性 C 代码编写的速度。

总结一下这篇文章: