多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# C 编程中的`while`循环 > 原文: [https://beginnersbook.com/2014/01/c-while-loop/](https://beginnersbook.com/2014/01/c-while-loop/) 循环用于重复执行语句块,直到给定条件返回`false`。在上一个教程中,我们学习了[`for`循环](https://beginnersbook.com/2014/01/c-for-loop/)。在本指南中,我们将学习`while`循环。 ## C - `while`循环 `while`循环的语法: ```c while (condition test) { //Statements to be executed repeatedly // Increment (++) or Decrement (--) Operation } ``` ### `while`循环流程图 ![C while loop](https://img.kancloud.cn/a7/8a/a78a67b0e3982e46a8fa26139d139a2f_400x400.jpg) ### `while`循环的示例 ```c #include <stdio.h> int main() { int count=1; while (count <= 4) { printf("%d ", count); count++; } return 0; } ``` 输出: ```c 1 2 3 4 ``` **步骤 1:**变量计数初始化为值 1,然后测试该条件。 **步骤 2:**如果条件返回`true`,则执行`while`循环体内的语句,否则控制退出循环。 **步骤 3:**使用`++`运算符递增计数值,然后再次测试循环条件。 **猜测这个`while`循环的输出** ```c #include <stdio.h> int main() { int var=1; while (var <=2) { printf("%d ", var); } } ``` 该程序是**无限循环**的一个例子。由于变量`var`的值相同(此变量上没有使用`++`或 `--`运算符,因此在循环体内)条件`var <= 2`将永远为真,循环永远不会终止。 ### 无限`while`循环的例子 **例 1:** ```c #include <stdio.h> int main() { int var = 6; while (var >=5) { printf("%d", var); var++; } return 0; } ``` **无限循环:** `var`将始终具有值`>= 5`,因此循环永远不会结束。 **例 2:** ```c #include <stdio.h> int main() { int var =5; while (var <=10) { printf("%d", var); var--; } return 0; } ``` **无限循环**:由于`--`运算符,`var`值将继续减小,因此它总是`<= 10`。 ## 在`while`循环中使用逻辑运算符 就像关系运算符(`< > <= >= == !=`)一样,我们也可以在`while`循环中使用逻辑运算符。以下方案有效: ```c while(num1<=10 && num2<=10) ``` 使用与(`&&`)运算符,这意味着两个条件都应该为真。 ```c while(num1<=10||num2<=10) ``` 或(`||`)运算符,此循环将运行,直到两个条件都返回`false`。 ```c while(num1!=num2 &&num1 <=num2) ``` 这里我们使用两个逻辑运算符 NOT(`!`)和 AND(`&&`)。 ```c while(num1!=10 ||num2>=num1) ``` ### 使用逻辑运算符的`while`循环示例 在这个例子中,我们在`while`循环中使用逻辑运算符测试多个条件。 ```c #include <stdio.h> int main() { int i=1, j=1; while (i <= 4 || j <= 3) { printf("%d %d\n",i, j); i++; j++; } return 0; } ``` 输出: ```c 1 1 2 2 3 3 4 4 ```