xml里for循环能否控制输出多少次_C++ 循环:重复的事,不重复做

3d8cf86424d27fdf6a390500cfd85997.png

7.C++循环语句

重复做一件事情是令人痛苦的,要不然老师也不会罚抄作业100遍了。

如果让小孩从1数到100就给糖吃,她肯定欣然接受,但如果让她数到1000就一定要反抗了。

生活中很多时候重复做一件事是不可避免的,比如交通信号灯的切换,电梯上下的移动,游戏技能的释放...。

但在编程中重复做同样的事情,却既简单又便捷。

编程语言提供了一种简单的重复控制结构:循环语句。

循环语句允许我们执行一行语句或一个语句块N次。

7.1 for循环

编程中使用最为频繁的循环语句非for循环莫属。

for循环的基本结构如下:

for( ;;){ }

for后面小括号中的 ; 不能少并且必须是两个。for后面的{ }称为循环体或循环代码块,我们可以在{ }里可以放入每次循环要做的事情。

698242c13078c9eb2f5e07f18bc16f63.png

如果你运行上图中的代码,即将看到无数的文字输出在屏幕上,丝毫没有停下来的意思。

for( ; ; ) {

cout << "机会只会留给有准备的人。" << endl;

}

实际上像这样的循环是一个无限循环,会一直不停的运行。

如果我们想精准的控制循环的次数,可以在( ; ; )中做点事情。这里两个;将( )中的空间划分为3部分。在第一个 ; 之前我们可以声明一个局部变量(int i=1; ; ),这个变量i只在for语句所在的12行至14行有效所以叫局部变量。

然后在中间放入一个循环条件( ; i<=10 ; ),这里的 i<=10是一个控制重复次数的关键条件,每次在执行循环体之前,都会先判断。只有 i 变量的值满足这个条件,才会运行for循环的代码块{ },否则结束当前循环。

最后让变量 i 像秒针一样,每重复一次i的值就增长1, 只需要加一个表达式( ; ;i++)。表达式i++能够让变量 i 每次递增1,表达式 i++是表达式 i=i+1的缩写版。

9974b250c6cc05ff0aa7751444ebc19b.png

执行上图中的代码,就会打印10遍这句名言 "机会只会留给有准备的人"。

如果你喜欢逆向思维我们可以倒数打印10遍:

658723ea47d334be3a88beb22f51a144.png

这里变量i的初始值为10,循环条件是i的值大于等于1。每重复一次,i 的值就会减小1。

变量 i 就像是一个"计数器" , 我们可以让 i 的值在循环体中打印出来。

c1d47bfc3c036e165560747f2c6286d2.png

7.1 while循环

while循环结构在很多有趣的算法中被使用到,比如选择排序算法。while身段苗条看起来十分优雅。

150084f21308ae33a8f344c22d3e2a9e.png

对比while循环结构与for循环结构,不难发现其中的奥妙:

fc59af48fdc52f9fd9f2073a99ca746b.png
3e924531db6266a999d475f19b5de4d7.png

同样的3个表达式只是在不同的结构中位置有所不同。while循环结构中变量 i 的有效范围是多大呢? i 从声明的12行开始在整个main函数中都可以被访问。

7.2 do...while循环

前面的for循环 和while循环,每次先判断循环条件,如果条件为真才会进入循环体代码块,否则结束循环。 而do...while这个循环结构有个显著的特点:在条件判断之前,循环体中的代码已经被执行过1次了,然后才做判断,如果循环条件为真,则会重复执行,否则结束循环。

9acb7f642ade3ee12858110bb97d5046.png

这是一个稍微复杂点的例子,你可以多花点时间,最好是敲一遍。记住,练习才是编程最好的学习方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值