C++循环教程

循环在普及组中很受重视,基本上任何算法和题目都会涉及到循环。今天给大家来盘点一下C++中的各种循环方法

1.默默付出的for循环

== 普及组推荐 ==
for循环是C++中使用量最多的循环方法

:循环次数直接成个体,用户不用在循环体中过多管理循环元素的变量。
:for语句无法支持不定常输入,否则可能导致数据溢出。

//for 语句用法盘点

for(int i=1;i<=int(n);++i)//1.普通用法
    //more code

for(int i=1;;++i)//2.for独家--无限制用法,在不知道最大限制条件的情况下使用
{
    //more code
    //在完成搜索任务后必须有返回值,否则是死循环
    break;
    //或者goto 定义字典 或直接return+返回值
}

for(int i=1;输入语句;执行语句)//for独家--直接用法,但是不能完成多个语句

for(int i=1,j=2;i<=int n;++i,j+=2)//双变量用法,条件语句首选次数少的,可嵌入用法2,如果循环体中会改变变量,建议双条件用法
    //more code

for(int i=1;i<=int n;++i)
    for(int j=1;j<=int k;++j)//嵌套用法,适用于穷举(呀,我最讨厌了)
        //more code

2.精简的while语句

while语句在Python里较常见,个人不推荐用于循环中。在其他用法中while语句会贡献自己更大的价值。

利:while语句能够更好地支配循环体运行,是更多经典问题的首选(如约瑟夫问题)。
弊:while语句作为循环导体,不能很好地独立存在,需要依赖循环体中的变量控制。

//while语句用法盘点
int i=1,j=2;//一定要记得先定义!!!

while(i<=int n)//1.普通用法
{
    //more code
    ++i;//注意控制变量
}

while(i--)//2.while独家--i次循环用法
    //more code
    相当于--for(int i=n;i>=0;--i)//不要问我为什么,反正i不会趋于负数
    //具体就是编译器构建原因,其他不知道,反正Dev-C++是允许的

while(i<=int n)//3.双循环用法,用法同for
{
    //more code
    i++,j++;
}

while(i<=int n)//3.嵌套用法
{
    while(j<=int k)
    {
        //more code
        ++j;
    }
    //more code
    ++i;//注意控制变量条件的位置
}

while(scanf("%d",&cin)==1)//while独家最大优势--不定常输入,完美避免数据溢出
{
    //more code
    ++i;
}

3.while之子— do-while循环

do-while用法完全与while一样,就不再敲键盘了。简单演示其用法:

do
{
    //执行语句
    //变量执行
}
while(条件语句);//一定记得带上";"!!!

声明:三种用法都可以循环嵌套。
如果有问题,欢迎私信。
如果能优化,就尽量优化。如果看到给定数据最大值达到了100000,而且你的循环达到了三层,那么就可以说对不起了,一定是大大的两个字母:TL!超时了。
希望看到这里的你,可以一帆风顺拿到省一!

发布了4 篇原创文章 · 获赞 9 · 访问量 1462

猜你喜欢

转载自blog.csdn.net/Jeffrey2020/article/details/104422992