循环语句
一.while语句
一般形式:
while(表达式)
循环体语句
特点:先判断表达式,后执行循环体
例:求1~10的平方
#include <iostream.>
using namespace std;
void main()
{ int i=1,j;
while(i<=10)
{ j=i*i;
cout<<j<<" ";
i++;}
}
运行结果:
1 4 9 16 25 36 49 68 81 100
二.do-while语句
一般形式:
do
循环体语句
while(表达式);
特点:先执行循环体,后判断表达式
说明:
(1)至少执行一次循环体
(2)do-while可转化成while结构
例:用do~while循环求1-100的和
#include <iostream.>
using namespace std;
void main()
{ int i,sum=0;
i=1;
do
{sum+=i;
i++;
}while(i<=100);
cout<<sum;
}
例:while和do~while比较
do_while
#include<iostream>
using namespace std;
void main()
{ int i,sum=0;
cin>>i;
do
{sum+=i;i++;
}while(i<=10);
cout<<sum;
}
while
#include <iostream.>
using namespace std;
void main()
{ int i,sum=0;
cin>>i;
while(i<=10)
{sum+=i;
i++;
}
cout<<sum;
}
三.for语句
for([表达式1];[表达式2];[表达式3])
循环体语句
过程:
(1).先求解表达式1;
(2).求解表达式2,若其值为真(非0),则执行循环体的内容,然后执行表达式3。若为假(0),则结束循环,执行for语句下面一条语句。
(3).若表达式为真,执行指定的语句后,求解表达式3。
(4).返回第2步执行。
一般形式:
for(循环变量赋初值;循环条件;循环变量增值)
循环体语句
例:用for循环求1-100和
#include <iostream>
using namespace std;
void main()
{ int i,sum=0;
for(i=1;i<=100;i++)
sum+=i;
cout<<sum;
}
说明:
(1)for语句中表达式1、表达式2、表达式3类型任意,都可省略,但分号;不可省
(2)无限循环:for( ; ; )
(3)for语句可以转换成while结构,
如下:
表达式1;
while(表达式2)
{
循环体语句;
表达式3;
}
四.循环的嵌套
三种循环可互相嵌套,层数不限
嵌套循环的执行流程
(1)
while()
{ ......
while()
{ ......
}
......
}
(2)
do
{ ......
do
{ ......
}while();
.......
}while();
(3)
while()
{ .......
do
{ ......
}while();
......
}
(4)
for(;;)
{ .......
do
{ .......
}while();
......
while()
{ .......
}
......
}
例:循环嵌套,输出九九表
#include <iostream>
using namespace std;
void main()
{ int i,j;
for(i=1;i<10;i++){
for(j=1;j<=i;j++)
cout<<(i*j)<<"";
cout<<endl;}
}
五.几种循环的比较
(1).三种循环均可处理同一问题;
(2).for和while语句为先判断后执行,do_while语句则先执行后判断;
(3).do-while和while语句多用于循环次数不定的情况,for语句用于循环次数确定的情况;
(4).do-while语句更适合第一次肯定执行的情况;
(5).do-while和while语句只有一个表达式,用于控制循环是否进行。for语句有三个表达式,不仅可以控制循环是否进行,而且能为循环变量赋初值及不断修改其值。故for语句功能更强,更灵活。