C语言中的while循环

2025年8月19日 | 9分钟阅读

在C编程语言中,while循环也称为预测试循环。通常,while循环允许根据给定的布尔条件多次执行代码的一部分,因为while循环中传递的条件是布尔类型。我们还可以将while循环视为重复的if语句,主要用于事先不知道迭代次数的情况。

While循环的语法

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

在此语法中,条件是一个布尔表达式,它决定循环是否继续执行。我们可以根据需要指定此条件,然后是包含所需语句的循环体。最后,更新循环变量(递增或递减)以控制循环的进度。

C语言while循环的流程图

这是while循环的流程图,显示了它是如何工作的。

While Loop in C

步骤 1: 启动程序。

步骤2:初始化循环变量。

步骤3:检查while循环中提供的条件。

步骤4:如果条件为真,则

  1. 执行循环内的语句。
  2. 更新循环变量。
  3. 重复执行。

步骤5:如果条件为假,则退出循环。

步骤6:程序结束。

C语言while循环的示例

让我们看一些使用while循环的简单程序。

示例1:使用C语言while循环打印1的乘法表

让我们以一个示例来说明如何使用C语言的while循环打印1的乘法表。

示例

编译并运行

输出

1 
2 
3 
4 
5   
6 
7 
8 
9 
10  

说明

在此示例中,我们初始化了一个整型变量i = 1。之后,我们执行一个while循环,其中执行条件是i <= 10,这意味着循环将一直执行,直到i的值大于10。接下来,它打印n的值。

示例2:使用C语言while循环打印给定数字的乘法表的程序

让我们再举一个例子,使用C语言的while循环打印给定数字的乘法表。

示例

编译并运行

输出

Enter a number: 5
5 
10 
15 
20 
25 
30 
35 
40 
45 
50  

说明

在此示例中,我们初始化了三个整型变量i = 1,number = 0,b = 9。之后,它会提示用户输入要显示乘法表的数字。最后,循环一直运行直到i超过10,每次迭代后i都会递增。

C语言中的嵌套while循环

在C编程语言中,嵌套while循环是指放在另一个while循环内部的循环。对于外层循环的每次迭代,内层循环都会完整运行,然后外层循环才会进行下一次迭代。

语法

它具有以下语法:

C语言中的简单嵌套while循环

让我们以一个示例来说明C语言中的嵌套while循环。

示例

编译并运行

输出

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

说明

在此示例中,我们演示了C语言中的嵌套while循环。这里,外层循环(变量i)从1运行到3,对于i的每个值,内层循环(变量j)从1运行到3,它将显示i和j的所有组合。它以3×3的配对网格形式显示输出。

C语言中的无限while循环

在C编程语言中,如果while循环中的表达式产生任何非零值,则循环将无限次运行。 such a loop executes continuously because its condition always evaluates to true. We can use an infinite loop where we want to run a program until an external condition or event occurs, such as user inputs or a signal to terminate the program. such a loop executes continuously because its condition always evaluates to true. We can use an infinite loop where we want to run a program until an external condition or event occurs, such as user inputs or a signal to terminate the program. 这样的循环会持续执行,因为它的条件始终为真。当我们需要程序运行直到发生外部条件或事件(例如用户输入或终止程序的信号)时,我们可以使用无限循环。

语法

它具有以下语法:

在这里,循环将一直执行,直到条件保持为真,即无限执行。

注意:如果要创建无限循环,请将条件设置为1或true(通过包含<stdbool.h>)

C语言无限while循环示例

让我们看一个示例,说明C语言中无限while循环的用法。

示例

编译并运行

输出

*  
*  *  
*  *  *  
*  *  *  *  
*  *  *  *  *

说明

在此示例中,我们使用嵌套的while循环打印星号的直角三角形图案。之后,外层循环(i)运行直到i超过5,内层循环()在每行打印i颗星(*)。最后,使用break语句停止循环;否则,它将进入无限循环。

while循环的属性

C语言中的while循环有几个属性。其中一些如下:

  • 使用条件表达式检查条件。while循环内的语句将重复执行,直到给定的条件失败。
  • 如果条件返回1,则条件为真。如果条件返回0,则条件为假。
  • 在while循环中,条件表达式是必需的。
  • 可以运行没有主体的while循环。
  • 我们可以在while循环中有多个条件表达式。
  • 如果循环体只包含一个语句,则花括号是可选的。

使用while循环的示例

有几个使用while循环的示例。其中一些如下:

示例1:打印奇数

让我们以一个示例来说明如何使用C语言的while循环打印奇数。

示例

编译并运行

输出

3   5   7   9   11 

说明

在此示例中,我们初始化了整型变量j = 1。之后,我们创建一个while循环,其条件为(j += 2,j <= 10)。首先,j的值增加2,然后检查条件j <= 10。如果条件为真,则打印j的值。循环一直执行直到j超过10。

示例2:C语言中打印消息的无限循环

让我们举一个例子来打印无限循环中的消息。

示例

编译并运行

输出

hello Tpointtech!
hello Tpointtech!
hello Tpointtech!
hello Tpointtech!
…….. 

说明

在此示例中,我们使用<stdbool.h>库中的while(true)创建了一个无限循环。这里,while循环始终求值为true。在循环内部,它不断打印“hello Tpointtech!”消息。最后,我们必须按ctrl+c停止执行。

控制C语言中的while循环执行

控制while循环执行意味着通过各种方式管理其执行。这些方法如下:

1)使用break语句

当满足特定条件时,我们可以使用break语句提前退出循环。它会立即退出循环。

使用break语句的while循环示例

让我们看一个示例,说明break语句在while循环中的用法。

示例

编译并运行

输出

1 
2 
3 
4 

说明

在此示例中,我们使用了一个整型变量i,并为其赋值1。之后,我们使用while循环,该循环运行(i <= 10)。在while循环内部,我们使用if语句检查条件(i == 5)。如果满足此条件,则break语句立即终止循环,并且它仅显示数字。

2)使用continue语句

在C编程语言中,continue语句通常用于中断while循环的执行。它用于跳过当前迭代的剩余代码段,并进入while循环的下一次迭代。

使用continue语句的while循环示例

让我们以一个实例来说明使用continue语句的while循环。

示例

编译并运行

输出

1 
2 
3 
4 
6 
7 
8 
9 
10

说明

在此示例中,我们使用while循环打印1到10之间的数字,并跳过数字5。当满足给定条件(i == 5)时,i的值会增加1。之后,continue语句会跳过该迭代的打印步骤,并进入下一次迭代,因此数字5不会显示。

结论

总之,当迭代次数未知时,while循环是C语言中重复操作的重要方法。使用while、do-while和嵌套循环,我们可以编写高效且灵活的程序。正确理解循环终止、优化技术和最佳实践可以提高编程中的性能和可维护性。

C语言while循环常见问题解答

1)如果一开始条件就是假的,会发生什么?

如果程序开始时条件为假,则“while”循环内的代码将根本不会执行。

2)可以在C语言的“while”循环内部修改其条件吗?

是的,可以在while循环内部修改其条件。但是,我们必须小心并确保循环最终终止;否则,可能会导致无限循环。

3)C语言中的while循环和do-while循环有什么区别?

while循环和do-while循环之间的主要区别在于,do-while循环保证代码块至少执行一次,因为在代码块执行后检查条件。while循环不做任何承诺。

4)我们可以在C语言中使用带有多个条件的“while”循环吗?

是的,我们可以使用逻辑运算符,例如“&&”表示“AND”,“||”表示“OR”,来组合“while”循环中的多个条件。

5)while循环有哪些用例?

在C编程语言中,while循环用于多种情况。其中一些如下:

  1. 读取输入直到满足特定条件。
  2. 迭代数据结构直到满足某个条件。
  3. 实现需要重复执行直到达到结果的算法。