204-C++循环结构

        前面学习完了顺序和分支结构,我们接下来进入循环结构for、while、do-while的学习吧。

目录

01-循环结构的概念

02-for循环结构

03-while循环结构

04-do-while循环结构

05-循环嵌套的使用

06-结束循环break和结束本次循环continue


01-循环结构的概念


        什么是循环一样的事情重复去做,就是循环。例如:上体育课跑十圈,从第一圈开始跑步,中途都在重复进行跑步运动,跑到第十圈跑完就结束跑步。在这里面从第一圈到第十圈即为循环改变的变量而在每一次循环中,我们进行跑步运动不变,即为我们的循环体重复执行的事情


02-for循环结构


for循环结构,应用于需要循环变量有规律变化的场合

for循环结构:

                for ( 循环变量初值 ; 循环终止条件 ; 每次循环变量增加/减少的值 ) {

                        循环体程序1 ;
                        循环体程序2 ;
                        ...

                }

//例如:实现输出1,2,3,...,8,9,10数值

for(int i=1;i<=10;i++){

    cout << i << endl;

}

循环变量初值:int i=1,表示循环变量i第一次循环为1

循环终止条件:i<=10,表示循环变量i小于等于10均执行循环体程序

每次循环变量增加/减少的值:i++,表示每一次循环体程序执行后,循环变量累加1


03-while循环结构


while循环结构,应用于满足条件即执行循环体程序的场合

while循环结构:

                while ( 执行循环条件 ){

                        循环体程序1 ;

                        循环体程序2 ;

                        ...

                }

//例如:a=5,b=3,当a>=b时a=a-b,b=b-a+1,输出a,b的值

int a=5,b=3;
while(a>=b){
    a = a-b;
    b = b-a+1;
}
cout << a << " " << b << endl;

 执行循环条件:a>=b,表示while循环中,当a大于等于b时,就执行循环体程序


04-do-while循环结构


do-while循环结构:应用于先执行循环体程序在进行循环条件判断do-whilewhile的区别,前者至少执行一场循环体程序后者则有可能一次都不执行

do-while循环结构:

                do{

                        循环体程序1 ;

                        循环体程序2 ;

                        ...

                }while(执行循环条件);

//猜数游戏,输入一个0~9的数,让别人来进行猜数,当数值相同时则结束猜数

#include<iostream>
using namespace std;
int main(){    
    int cs,x;
    cin >> cs;
    do{
        cin >> x;
        if( x!= cs && x > cs){
            cout << "所猜的数值太大了,可以猜小一点。" << endl;
        }
        if( x != cs && x < cs){
            cout << "所猜的数值太小了,可以猜大一点。" << endl;
        }
    }while( x!=cs );
    cout << "恭喜你,获得本次猜数比赛冠军。" << endl;

    return 0;
}

程序先执行一遍循环体程序在进行循环条件判断:x!=cs,当x的值不等于cs时,即执行循环体程序,注意在循环条件后需要加分号


05-循环嵌套的使用


在循环结构中,在多次增加循环结构,三个循环结构for、while、do-while均可互相嵌套。

 如上图,我们在for循环结构中,涵盖了:while循环和do-while循环,在while循环中又有for循环

        循环嵌套:和套娃类似,可以一层一层根据题目意思多次添加,但是添加的越多,时间复杂度越大,推荐可以用函数递归的方式减少时间复杂度的计算。


06-结束循环break和结束本次循环continue


        结束循环 break :在执行循环程序时,当满足题意而循环还没执行完全时,可以用 break 结束循环体程序,执行下方程序,以此来减少时间复杂度,节约资源。

#include<iostream>
using namespace std;
int main(){    
    //我正常吃5个包子,今天肚子有点不舒服只能吃3个
	int bz;
	for(int bz=1;bz<=5;bz++){
	    cout << "今天已经吃了" << bz << "个包子。" <<endl;
	    if ( bz==3 ){
	        break;    //bz等于3时,结束循环
	    }
	}
    return 0;
}

        结束本次循环 continue :在执行循环程序时,若中途满足条件,可以用 continue 结束本次循环体程序,继续下一轮循环

#include<iostream>
using namespace std;
int main(){    
    //我正常吃5个包子,今天肚子有点不舒服只能吃3个,吃的过程中有一个包子掉地上不能吃了
	int bz=1,pd;
	while( bz<=5 ){
		cout << "请输入包子是否掉地上,0为否,1为是:" <<endl; 
	    cin >> pd;
	    if( pd == 1 ){
	        continue;        //判断包子有没有掉地上,若pd为1则掉地上不能吃
	    }
	    cout << "包子没掉地上,可以吃,今天已经吃了" << bz <<"个包子。"<<endl;
	    if( bz==3 ){
	        break;        //吃到三个包子就饱了,不继续吃了。
	    }
	    bz++; 
	}
    return 0;
}

        循环结构我们暂时就学习到这,接下来我们开始做题练习熟悉循环结构的使用吧。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值