P6 C++控制流语句(continue, break, return)

前言

今天我们讲的是控制流语句,本期内容是上期课程的延续。

控制流语句一般与循环语句一起工作,它们让我们可以更好的控制这些循环的实际运行。

我们有三个主要的控制流语句可以使用,continue 、break 和 return,它们有不同的功能。

  1. continue 只能在循环中使用,它表示 进入这个循环的下一个送代(前提是:如果还有下一次迭代,如果没有,循环就会结束)。
  2. break 主要用于循环中,它也会出现在 switch 语句中,break 意思是要跳出循环,也就是终止循环。
  3. return 应该是最有 ''力量'' 的一个语句,因为 return 会完全 ''脱离'' 你的函数,如果你在一个函数中碰到了一个 return 关键字,程序运行会退出这个函数,当然函数可能需要一个返回值,如果只有 return 本身,你只能返回 return 本身,return 本身只适用于 void 函数,如果你的函数需要返回值的话,它需要提供一个返回值。

我们来看一个实际的例子。下面是一段我们之前使用过的程序。

#include <iostream>

 int main(int argc, const char** argv) 
{
    for(int i = 0; i <5; i++)
    {   
        std::cout << i<< ":\tHello, World!\n";
    }
    return 0;
}

我们那代码进行编译执行,毫无疑问,会打印五次hello world

continue

我们的第一个控制流语句,是continue。

continue 将跳到 for 循环的下一个迭代,如果我按照下面的方式修改,它将不会影响 for 循环的行为,因为这个位置已经是 for 循环的结尾了,前面该执行的代码也执行完了。

当程序运行到第八行时,不管怎样,这一行会继续到下一次送代,所以这根本不会改变它的行为。

然而,如果我再这样做,你就会看到明显的不一样了。因为如果 i 对 2 取余等于 0 ,就会执行 continue,所以从第一个开始,每两个迭代会跳过一个。

我们可以记录实际的 i 变量的值来查看当前的索引值是怎么变化的。

当 i 为 0 时,它不会运行,因为 0模2 的结果是 0,结果是 true,程序会执行 continue。当 i 是1 时,我们会输出记录,当等于 2 时,不会输出,当等于 3 时,我们会输出记录,当等于 4 时,不会输出,程序到不了 5,因为如果等于 5,我们就不会执行 for 循环了,因为这个 for 循环的条件就是 i 小于 5。

 

break

如果我们把上面代码中的 continue 替换成 break,你可以看到情况是完全不一样的。

#include <iostream>

 int main(int argc, const char** argv) 
{
    for(int i = 0; i <5; i++)
    {   
        if(i%2 == 0)
            break;;
        std::cout << i<< ":\tHello, World!\n";
    }
    return 0;
}

程序什么都没有输出

我们做一下修改。

第一次迭代的时候,i 为 0, i+1 模 2 的结果是 1,所以 if 评估表达式的结果为 false,程序不会到达 break 语句。

第二次迭代的时候,i 为1, i+1 模 2 的结果是 0,所以 if 评估表达式的结果为 true,程序执行 break 语句,循环结束了。

这就是 break,它可以让程序完全跳出 for 循环,当然这些控制流语句可以用在所有的循环语句中,所以它们在 for 循环、while 循环、do-while 循环中的运作方式是一样的。

好了,最后一个是 return。

return

当前主函数是一个需要返回 int 的函数(第三·行有关键字 int ),所以我们不能只是写 return,我们需要写 return XXX。

我们编译试一下

程序报错,你可以看到程序申明必须返回一个值。

 

关于 return 语句,基本上就是这些了,需要注意的是,它不是必须在循环中使用,这点与 continue 和 break 不同。当然,如果你的函数要一个返回值,记得在 return 后面给它一个对应的值来返回。

后话

整体上说,这些控制语句就是控制你的代码如何 流动 的。控制语句结合循环语句和 if 语句一起完成程序运行,这些就是编程的基本逻辑,你可以使用这些控制语句语句决定下一行要执行什么代码,这些是可以改变你的程序行为的工具。

之后的系列中,我们会一直使用所有这些控制语句,并向你们展示它们在哪里使用以及怎么用。还可能向您展示如果不使用它们如何编写代码。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@ChenPi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值