循环控制结构

第六章 循环控制结构
通过本章的学习,主要学会了计数控制的循环,条件控制的循环,嵌套循环。这三种循环主要还是通过for,while,do-while语句还有continue,break语句来实现的。除此之外还包含了结构化程序设计的基本思想,程序调试与排错等内容 下面我总结一下这些内容以及本人的理解与感悟。
循环控制结构
c语言中提供了for、while、还do-while三种循环语句来实现循环结构。循环条件为真时,重复执行,而被重复执行的语句序列被称为循环体。
①while语句(当型循环)
while(循环控制表达式)
{
语句序列
}
注:循环控制表达式是在执行循环体之前测试的。且一般是循环次数未知使用。

②do-while语句(直到型循环)
do
{
语句序列
}while(循环控制表达式);
注:1:循环体内的语句将至少被执行一次。
2:行末不能有分号。可能倒置死循环

③for语句(当型循环)
使用频率最高且灵活方便,掌握这一种可以完全只用这一种。
for(初始化表达式;循环控制表达式;增值表达式)
{
语句序列
}
注:1:初始化表达式的作用是赋初值。
2:增值表达式决定了执行次数。
3:该语句表达式之间分隔符是分号,有仅有两个。循环表达式若省略则永真。
4:循环次数已知的时候用的多。
5:仅由分号构成的语句,成为空语句,啥也不做,只表示语句存在。常用来编写延时程序。
以上三种循环结构都可以相互转换,下面我用一个例题来展示这三种循环的转换。
例:编程从键盘输入n,计算并输1+2+3…+n的值。
方法一:用for语句编程实现。
#include
using namespace std;
int main()
{
int i,n,sum;
cin>>n;
sum=0;
for(i=0;i<=n;i++)
{
sum+=i;
}
cout<<sum<<endl;
return 0;
}
方法二:用while语句编程实现。
#include
using namespace std;
int main()
{
int i,n,sum;
cin>>n;
sum=0;i=1;
while(i<=n)
{
sum+=i;i++;
}
cout<<sum<<endl;
return 0;
}
方法三:用do-while来实现。
#include
using namespace std;
int main()
{
int i,n,sum;
cin>>n;
sum=0;i=1;
do
{
sum+=i;
i++;
}while(i<=n)
cout<<sum;
return 0;
}

一种特殊运算符:逗号运算符
该运算符可以把多个表达式连接在一起,构成逗号表达式,作用是实现对各个表达式的顺序求值,因此也被称为顺序求值运算符
形式:表达式1,表达式2,…表达式n
注:该运算符在所有运算符中优先级别最低,且具有左结合性。
循环嵌套
将一个循环语句放在另一个循环语句的循环体中构成的循环,就称为循环嵌套。上面说的while,do-while,for这三种循环均可以相互嵌套。
★执行时,先由外层循环进入内层,并在内层循环终止之后接着执行外层循环,再由外层循环进入内层循环中,当外层循环全部终止时,程序结束。
例:输出水仙花数,水仙花数指一个三位数,其各位数字立方和等于该数本身。
#include
using namespace std;
int main()
{
for(int i=1;i<=9;i++)
{
for(int j=0;j<=9;j++)
{
for(int k=0;k<=9;k++)
{
if(iii+jjj+kkk==i100+j10+k)
cout<<i100+j10+k<<endl;
}
}
}
return 0;
}
流程的转移控制
主要包括goto语句break语句和continue语句。
continue语句:
continue是效果是,在循环中,遇见continue,然后跳过剩余部分,从循环开始处继续循环。

break语句:
break语句的效果是,从break语句开始,跳过剩余循环语句,并结束循环。

goto语句:

goto语句的特点是,直接跳到对应的语句,然后向下执行。

goto语句的格式为:

一个标志(例如abc):(←这里是冒号)

goto 标志(例如goto abc;)

注意:在循环嵌套的情况下,break语句和continue语句只对包含他们的最内层的循环语句起作用,不能用break语句跳出多重循环。若要跳出多重循环,使用break语句只能一层一层跳,而显然goto语句是跳出多重循环的一条捷径。
总结:

虽然goto 很方便,但按照推荐说法是,不推荐使用goto语句。而是应该使用if、while、for、switch、continue等结构化控制语句。
以上就是本人对循环的理解与感想。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大恐龙的小弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值