一、while循环
使用格式:
whlie(表达式){ //表达式为循环控制条件
语句块1; //循环体
语句块2; //能够让循环控制条件为假
}
例子:
/*用while语句计算1+2+3+...+100的值*/
#include <stdio.h>
int main()
{
int i = 1,sum = 0;//定义变量
while(i<=100)
{
sum = sum + i;//循环体
i++;
}
printf("结果为:%d\n",sum);
return 0;
}
while循环的陷阱:
死循环:一直执行循环体中的代码,不会退出
while循环使用注意:
1)死循环
2)当一个常量与一个变量进行==或!=的时候,通常把常量写在前面
3)while后如果只有一个语句,可以省略大括号
4)作用域:内部代码中定义的变量不可以在外边代码块中访问
二、do...while循环
使用格式:
do
{
语句1;
语句2;
...
}
while (条件);
//直到型循环:先执行循环体,然后判断条件,知道条件为假才结束
//不管while中的条件是否成立,循环体中语句至少被执行一遍
三、for循环
//一般形式:
for(表达式1;表达式2;表达式3)
{
语句;
}
//循环过程:先求表达式1--->再求表达式2 为真则执行循环语句--->执行表达式3--->执行表达式2继续执行
// 为假则结束循环
//其他形式:
//1)省略表达式1
for(;表达式2;表达式3)
{
语句;
}
//1)省略表达式1,省略表达式3
for(;表达式2;)
{
语句;
}
//1)省略表达式1,省略表达式2,省略表达式3
for(;;)
{
语句;
}
for循环的嵌套:
/*打印出矩形的*号*/
#include <stdio.h>
int main()
{
for(int i=1;i<6;i++)//打印5行
{
for(int i=1;i<6;i++)//打印一行*,有5个
{
printf("* ");
}
printf("\n");
}
return 0;
}
例子:
<pre name="code" class="cpp">/*打印6行由*组成的正三角形*/
#include <stdio.h>
int main()
{
//循环6次,每行打印空格+*号的个数是(6-i)+(2*i-1)
for(int i=1;i<=6;i++)
{
//打印空白
for(int j=0;j<6-i;j++)
{
printf(" ");
}
//打印星号
for(int k=0;k<(2*i-1);k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
四、break与continue
break和continue都可以用在循环中,用来跳出循环;
break语句还可以用在switch语句中,用来跳出switch语句
continue的作用是结束本次循环,进行下次循环
/*break*/
#include <stdio.h>
int main()
{
for(int i=1;i<=10;i++)
{
if(i==5)
{
break;
}
printf("%d ",i);
}
return 0;
}
/*continue*/
#include <stdio.h>
int main()
{
for(int i=1;i<=10;i++)
{
if(i==5)
{
continue;
}
printf("%d ",i);
}
return 0;
}