第六章循环控制结构课程笔记

第六章循环控制结构课程笔记
循环形式
循环控制可分为计数控制和条件控制,计数控制是指重复处理次数已知,而条件控制是指重复处理次数未知但是由给定条件控制的。
循环结构还可分为当型循环结构和直到型循环结构。当型是先判断条件是否成立,条件成立时反复执行循环体,直到条件不成立时结束循环。直到型是先执行一次循环体,再判断条件是否成立,若条件成立则反复执行循环体,直到条件不成立时。

本章主要讲了三种循环语句
while do-while for

while语句属于当型循环,且是条件控制的循环
其形式为
while(循环控制表达式)
{
循环体
}

do-while语句属于直到型循环,为条件控制的循环
其形式为
do
{
循环体
}while(循环控制表达式)
因为是当型循环,所以循环体至少执行一次。

for语句属于当型循环,是计数控制的循环
其形式为
for(初始化表达式;循环控制表达式;增值表达式)
{
循环体
}
注意
for语句的三个表达式之间的分割符号是分号,有且仅有两个分号,既不能多,也不能少
for语句也可用while语句来等价实现,其形式为
初始化表达式;
while(循环控制表达式)
{
语句序列
增值表达式;
}
for语句也还有其他的形式
如 循环控制变量赋值在前时
初始化表达式;
for(;循环控制表达式;增值表达式)
{
语句序列
}
如又当已在循环体中改变循环控制变量时
初始化表达式;
for(;循环控制表达式;)
{
语句序列
增值表达式;
}
但无论for语句形式如何改变表达式之间的两个分号是不可改变的。
在for语句中当遇到多个可并列的表达式时,可用逗号运算符连接,但循环控制表达式只能在一个循环中有一个。
如下面这个程序是OJ中的粘墙三角形问题,其中就用到了逗号运算符连接两个表达式
#include
using namespace std;
int main()
{
int c,d,e,f,g;
char b;
while(cin>>c)
{
for(d=1;d<=c;d++)
{
cout<<‘a’;
for(e=1;e<=c-d;e++)
cout<<" ";
for(f=1,g=1;f<=c-e+1;f++,++g)
{
b=96+g;
cout<<b;
}
cout<<endl;
}
cout<<endl;
}
return 0;
}

循环选择规则
(1)如果循环次数确定,计数控制的循环用for语句。
(2)如果循环次数未知,条件控制的循环用while语句。
(3)如果循环体至少循环一次,用do-while语句。

嵌套循环
嵌套循环即为将一个循环语句放在另一个循环语句的循环体中构成的循环。
while语句、do-while语句、for语句这三种循环都可相互嵌套。

零散知识
break语句
当执行循环体遇到break语句时,循环立即终止,从循环语句后的第一条语句开始继续执行。
continue语句
当循环体中遇到continue语句时,程序将跳过continue语句后面尚未执行的语句,开始下一次循环,即只结束本次循环的执行,并不终止整个循环的执行。
注意
在循环嵌套中,break语句和continue语句只对包含它们的最内层循环语句起作用。
在就是,在循环中设计值的运算是,有些值在循环之前赋值。
例如
下面这个程序是OJ中津津的储蓄计划,其中n与s就要提前赋值。
#include
using namespace std;
int main()
{
int s,x,n,i,sum;
s=0;
n=0;
for(i=1;i<=12;++i)
{
cin>>x;
s=(300+s)-x;
if(s<0)
{
i=-1i;
cout<<i;
break;
}
if(s>=100)
{
n=(s/100)+n;
s=s%100;
}
if(i==12)
{
sum=((n
100)/5)*6+s;
cout<<sum;
}
}
return 0;
}

总之,学习了循环控制结构后,与顺序结构,选择结构相配和可以解决大多数的问题,但还是要灵活的应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值