循环用于重复执行语句块,直到给定条件返回false。在上一个教程中,我们学习了for循环。在本指南中,我们将学习while循环。
C - while循环
while循环的语法:
while (condition test){//Statements to be executed repeatedly// Increment (++) or Decrement (--) Operation}
while循环流程图

while循环的示例
#include <stdio.h>int main(){int count=1;while (count <= 4){printf("%d ", count);count++;}return 0;}
输出:
1 2 3 4
步骤 1:变量计数初始化为值 1,然后测试该条件。
步骤 2:如果条件返回true,则执行while循环体内的语句,否则控制退出循环。
步骤 3:使用++运算符递增计数值,然后再次测试循环条件。
猜测这个while循环的输出
#include <stdio.h>int main(){int var=1;while (var <=2){printf("%d ", var);}}
该程序是无限循环的一个例子。由于变量var的值相同(此变量上没有使用++或 --运算符,因此在循环体内)条件var <= 2将永远为真,循环永远不会终止。
无限while循环的例子
例 1:
#include <stdio.h>int main(){int var = 6;while (var >=5){printf("%d", var);var++;}return 0;}
无限循环: var将始终具有值>= 5,因此循环永远不会结束。
例 2:
#include <stdio.h>int main(){int var =5;while (var <=10){printf("%d", var);var--;}return 0;}
无限循环:由于--运算符,var值将继续减小,因此它总是<= 10。
在while循环中使用逻辑运算符
就像关系运算符(< > <= >= == !=)一样,我们也可以在while循环中使用逻辑运算符。以下方案有效:
while(num1<=10 && num2<=10)
使用与(&&)运算符,这意味着两个条件都应该为真。
while(num1<=10||num2<=10)
或(||)运算符,此循环将运行,直到两个条件都返回false。
while(num1!=num2 &&num1 <=num2)
这里我们使用两个逻辑运算符 NOT(!)和 AND(&&)。
while(num1!=10 ||num2>=num1)
使用逻辑运算符的while循环示例
在这个例子中,我们在while循环中使用逻辑运算符测试多个条件。
#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;}
输出:
1 12 23 34 4
