3、while循环
while(表达式)
循环语句;
例如在屏幕上实现打印1~100;
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 1;
while (i <= 100)
{
printf("%d\t", i);
i++;
}
return 0;
}
误区一: while中的break用于永久终止循环
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 1;
while (i <= 100)
{
if (5 == i)
{
break;
}
printf("%d\t", i);
i++;
}
return 0;
}
此程序只输出1 2 3 4,当i==5时,会执行break,会跳出整个循环
误区二: while中的continue用于终止本次循环,回到条件判断处
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
while (i <= 10)
{
if (5 == i)
{
continue;//此处的continue用于回到判断条件处。所以当i==5以后,永远不会再执行到i++,所以永远满足i<=10,形成一个死循环。
}
printf("%d ", i);
i++;
}
return 0;
}
此程序会在输出1 2 3 4之后一直输出4,形成一个死循环。
do…while
do
{
循环语句;
}while(表达式);
先执行do 中的语句,再进行判断
误区一:do - while至少执行一次
以下程序至少会输出一次
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 10;
do
{
printf("%d ", i);
} while (i <10);
system("pause");
return 0;
}
误区二:do–while中的continue跳到循环判断处。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 1;
do
{
if(i == 5)//与while中的continue作用一致。当i==5时,会不断跳到while处进行条件判断,而不进行i++
continue;//会形成死循环,不断输出4。
printf("%d ", i);
i++;
}
while(i<=10);
system("pause");
return 0;
}