携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情
C语言对while循环的读取
while(判断条件){
循环结构;
}
何时终止循环
要明确一点:只有在对测试条件求值时,才决定是终止还是继续循环。
#include <stdio.h>
int main(){
int n=5;
while(n<7){
printf("n=%d\n",n);
n++;
printf("Now n=%d\n",n);
}
printf("The loop has finished.\n");
return 0;
}
运行结果
在第2次循环时,变量n在第10行首次获得值7 。但是,此时程序并未退出,它结束本次循环,并在对第7行的测试条件求值才退出循环。
while:入口条件循环
while循环是使用入口条件的有条件循环。所谓“有条件”指的是语句部分的执行取决于测试表达式描述的条件,例如(index<5).该表达式是一个入口条件,因为必须满足条件才能进入循环体。在下面的情况中,就不会进入循环体,因为条件一开始就为假:
index=10;
while(index++<5)
printf("Have a fair day or better.\n");
把第1行改为:
index=3;
就可以运行这个循环了。
while循环需要注意的地方
使用while时,要牢记一点:只有在测试条件后面的单独语句才是循环部分。例如下面这个例子,就是条件不符合逻辑导致无限循环。
举例
#include <stdio.h>
int main(){
int n=0;
while(n<3)
printf("n is %d\n",n);
n++;
printf("That's all this program does\n");
return 0;
}
运行结果
虽然例子中缩进了 n++;这个语句。但是并未把它和上一条语句括在花括号内。因此,只有直接跟在测试条件后面的一条语句是循环的一部分。变量n的值不会改变,条件n<3一直为真。该循环会一直打印n is 0。除非强制关闭程序。这是一个典型的无限循环(我运行一下电脑都热了),外部不强制干涉无法退出。