程序设计A—循环控制结构


在这里插入图片描述
在这里插入图片描述
循环结构知识点

一、循环语句

1、while语句
形式为:

while(循环控制表达式)
{
       语句序列   //循环体
}

其属于当型循环,为当条件成立时执行循环语句,常用于不知具体循环次数时使用
2、do-while语句
形式为:

do
{
      语句序列    //循环体
}while(循环控制表达式)

其属于直到型循环,执行语句直到条件成立,一般不用
3、for语句
for语句为较常用语句,属于当型循环,多适用于已知循环次数的情况,其形式为:

for(初始化表达式;循环控制表达式;增值表达式) 
{
   语句序列    //循环体
}

特别注意:初始化表达式、循环控制表达式、增值表达式之间用==;==隔开

二、嵌套循环

1、运用情况
如:描述一个矩阵

#include<iostream>
using namespace std;
int main()
{
    int h,w,c;
    int i,j;
    char s;
    cin>>h>>w>>s>>c;
    for(i=1;i<=h;i++)
    {
        for(j=1;j<=w;j++)             //用于控制行
        {
            if(c==1||i==1||j==1||i==h||j==w)  //用于控制列
            cout<<s;
            else
            cout<<" ";
        }
        cout<<endl;
    }
    return 0;
}

此程序中,用两个for语句嵌套循环分别控制矩形的行数列数
又如:粘墙三角

#include <iostream>
#include<iomanip>
using namespace std;
int main() 
{ 	int n,i,j;
          char c; 
	while(cin>>n)
	{
               for(i=1;i<=n;i++) 
	          {
	               if(i!=n) 	
	               cout<<"a"<<setw(n-i)<<" "; 	
	               else cout<<"a"; 	
	               for(j=1;j<=i;j++) 	
                         {c =j+96; 	 cout<<c;} 	
	                cout<<endl; 	
                     } 
                 cout<<endl; 
	   }
          return 0; 
 }

其中,用while循环语句控制条件,嵌套for语句循环
==while(cin>>m)==可用于一次程序多次输入执行的情况
2、嵌套循环可以是三种循环嵌套,嵌套次数尽量少
当嵌套时,注意循环的次数
计算方式为,n次嵌套中的循环次数相乘

三、流程控制语句

1、goto语句
2、break语句
用于结束当前语句跳回循环,这个语句较常用
但需注意,使用时应明确break所属的语句
3、continue语句
continue语句用于循环内部的跳转,跳过后续语句跳回循环
语句并不会结束循环,而break语句会结束当前循环
例如:

#include<iostream>
using namespace std;
int main()
{
  int n,m,i;
  cin>>n>>m;
  for(i=n;i<=n*m;++i)
  {
      if(i%n==0&&i%m==0)
      {cout<<i;break;}
  }
  return 0;
}

该程序中break语句属于if条件语句中,所以,应用{ }以明确语句归属
该break语句用于在if条件满足时结束该循环
若更改为continue语句,则只是跳过后续语句,结束当次循环

四、总结

循环控制结构为三大基本结构之一,常用,常与条件循环嵌套使用
使用时应特别注意循环的逻辑、每一步、特别是每一条语句的作用、含义
循环结构使用时也应注意循环的次数,避免多重循环嵌套,以免程序运行时间过长,同时也应注意循环的有穷性,避免死循环的出现
另外,循环结构使用情况较为复杂,应避免直接写程序
注意
读完题目一定要先做出分析以明确程序功能,而后选择程序实现的方法
运用循环控制语句、条件控制语句是一定注意其逻辑关系
程序的调试十分重要,常用的断点找bug的方法应常使用,以达到熟练运用其寻找程序bug的目的
程序出现问题是应先理清其逻辑关系,而后通过设计测试数据或程序断点输出的方式来寻找问题,当遇到新知识或新bug时应先查阅资料以明确程序问题及解决方法

2018.12.07 Ki

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值