- sstzer 的博客
循环结构
- 2024-1-23 20:01:11 @
我们在写顺序结构和分支结构时通常会写到一些重复度很高的代码
比如说,输入5个数,判断其中是否有数等于5
我们当然可以这么写
int main()
{
int a;
cin>>a;
if(a==5) cout<<"YES"<<endl;
cin>>a;
if(a==5) cout<<"YES"<<endl;
cin>>a;
if(a==5) cout<<"YES"<<endl;
cin>>a;
if(a==5) cout<<"YES"<<endl;
cin>>a;
if(a==5) cout<<"YES"<<endl;
return 0;
}
但是,如果输入的数据达到10个,100个甚至100000个,这样写就显得过于麻烦了
于是,我们引入了循环结构
下面是三个循环结构的语句
for(;;)
{
}
while()
{
}
do
{
}while();
这三个语句我们逐条分析
首先是for
for(变量初始化;循环条件;循环变量更新)
{
循环体
}
如,我们上面在5次输入中查找5的代码即为
int n=5;
for(int i=1;i<=n;i++)
{
int a;
cin>>a;
if(a==5) cout<<"YES"<<endl;
}
循环开始时声明变量i=1,执行循环体,一次循环结束后执行i++,然后判断i是否小于等于n,如果成立则执行下一循环,否则结束循环,执行接下来的语句
只要循环条件为真,循环就会一直执行下去而不执行接下来语句,这种情况就被称为死循环
这样,我们改变n的值即可求得在n次输入内是否有数等于5
接下来是while
while(循环条件)
{
循环体
}
这里while就比for少很多了,循环条件与for是相同的
这是do-while
do
{
循环体
}while(循环条件);
do-while和while的主要区别就在于while先判循环条件再执行循环体,do-while先执行循环体再判断条件
接下来是两个循环控制语句
break;
continue;
break用于直接跳出当前循环,执行接下来语句
continue跳过当前循环剩余内容,进入下一循环
我们要知道一点那就是只要能用while/do-while解决的问题都可以用for实现
完结撒花:)