🐼Pixiv ID:44342920
快乐的循环结构
for循环的使用
首先,我们来讲一个故事吧 (偷瞟一眼社长在不在)。
- 话说有一天,一个叫LYT的男人(某快乐社长)他喜欢玩亚索
(托儿所),于是他想计算E
100次小兵会花多少蓝。但是呢,他身边没有电脑,于是他网瘾大发(社长不敢去网吧),这时候你看见社长陷入绝境,于是你 准(jian)备(si)帮(bu)助(jiu) 他。

①现在你知道亚索第一次E会花费1点蓝量,每E一次会增加1点蓝耗。但是你觉得计算从1加到100实在是太麻烦了。怎么办? ~~要不我们放弃他? ~~
于是你来听了这一堂IT社的课程。(并觉得血赚不亏。)
(IT社毕竟是学习如何用最简单的步骤得到想要的东西的地方。)
于是,这堂课的内容开始了。
这里我要向大家隆重介绍for
语句。

#include<iostream>
using namespace std;
int main()
{
int s = 0;
for(int i = 1; i <= 100; i++)
{
s+=i;
}
cout<<s;
return 0;
}
这个程序便是帮助社长的操作,在这个程序中,
for()
中包含了三个语句,
首先第一个语句int i=1
,这个的意思是定义i
是多少,当然这里的int
可以省略,前提是你引用的变量在你的程序中已经定义过了。
第二个语句,i<=100
这个的意思是给定i
的范围,也就是说i
只能在这个范围里进行计算。当然如果不写这句的话,程序将会无限制的运行下去,这样也就会导致程序崩盘。(后面我会给大家介绍几种在程序内终止循环的方法。)
第三个语句,i++
这个的意思是让i
进行自加运算**(也就是说i++
等价于i=i+1
)**,这句如果不写的话,i
的值将不会变化,当然,你可以把这句写到循环里面去。
我们当然可以来对这三句进行一个定义式:
for(int i = n ; i <= m ; i = i +x)
翻译成数学语言就是:
i从n开始,每次增加x,直到i > m
接下来我相信大家会有很多问题。
比如:
①为什么要让i=1
,这其实只是一个习惯,你也可以让i=0
,这也是可以的,但是在后面的程序里,有部分程序是要让i=0
的,但是这要等到数组之后才会出现,也就不在这里讲解。
②这个for()
语句一定要加下面的括号吗?答案是否定的,如果你的语句只有一条,那么完全可以不加那个括号,但是语句一旦大于一条,那么括号必须加,不然程序中,它只会认你for()
语句下面的一条语句,这样就会导致程序发生错误。
③如何在循环内跳出。
第一种方法,在你的循环里面加一个break
,这个的意思就是跳出你当前的程序,在上面的程序中,我就使用了一个判定语句,当i
的值是5的时候,程序结束,这样即便是i
不加到100,程序也会停止。但是这个语句也有一个缺点,就是不能直接让程序停止。

#include<iostream>
using namespace std;
int main()
{
int s = 0;
for(int i = 1; i <= 100; i++)
{
s+=i;
if(i == 5)
break;
}
cout<<s;
return 0;
}
这时候一定有人想问,你的程序不是停下来了吗?因为我这个程序很简单,只有一重循环,当如果有两重循环了,这个程序就不会停下来,而是继续进入下一个循环。
这里我就要介绍另一个更加暴力的方法了,这个方法可以直接让程序完全停止下来。

#include<iostream>
using namespace std;
int main()
{
int s = 0;
for(int i = 1; i <= 100; i++)
{
s+=i;
if(i == 5)
return 0;
}
cout<<s;
return 0;
}
这就是直接加一个return 0;
这样当循环达到你想要的结果的时候你就直接可以结束这个程序,输出你想要的值。
在这里,跑程序时我们也会发现一个问题:没有输出

其实这个程序在retrun 0;
语句过后就已经结束了,后面的语句将不会被执行的。
PS:
return 0;
在程序中就可以看作是结束整个程序的意思。
④这个循环里面是什么语句都可以加吗?理论上来说是这样的,大部分语句都可以写到循环里面去,当然在循环里面写循环也是完全可以的。
最后,谢谢大家的学习。
如果有不懂的可以加本人的QQ:1259249107,所有问题本人会在周末尽全力解答,谢谢大家。
以上内容为IT社ZWT大佬友情提供
大佬QQ:1259249107
有问题直接给我发邮件xiemaths@gmail.com
或者xyh798061533@163.com
QQ:2385708107
ZWT大佬QQ:1259249107
LYT大佬QQ:1622956497
(周末统一回复,原谅高二狗的苦)