# 循环语句
程序中,除条件判断外,多用于循环。 为什么? 做同样的动作一万次,不累吗? 使用循环加入变量,让计算机自己计算。 计算机不能说爱这个循环操作。 那是他的老本行啊。 【了解CPU执行周期下】在MQL5中提供了3中循环方式、while、do - while、for。
## while语句
这是MQL中最简单的循环语句。 判断条件成立,一直继续执行。 因为不知道在说什么,请看例子:布尔c=真;
int计数=1;
wile(c==true )//当然成立
{
打印(计数;
if (计数==5) c=假; //注意,通过该代入操作,while循环结束
出局;
}它在while内部使用了判断,然后修改了循环标志位c,从而结束了while循环。 也可以使用以下方法:
int计数=1;
wile (计数=5) ) )。
{
打印(计数;
出局;
)因为count自加,到了6的时候,while内的判断条件编程为6=5,不成立,退出了while。 成功摆脱了循环。
优化后的程序减少了一个变量,减少了一个条件判断和赋值,减少了两行代码量。 一点效率也不低,代码更容易读了。 所以下面的代码比较好。
## do-while语句
while语句的判断条件为假,直接结束,不执行。 我们来谈谈do - while吧。 这和while有点不同。 就是直接执行,先执行再判断。 查看示例:int计数=1;
o
{
打印(计数; //输出:1,2,3,4,5
出局;
}
看到while(count5)了吗,如果要输出与while相同的语句,这里的判断为count 5,不判断=。 因为先执行了do语句块。 输出count=5后,执行count时,count=6。 接着while执行count 5的判断,不成立,结束。 如果将条件写入count=5,则多输出一个6。
你还记得清楚这个区别吗?
要我说的话,while句直接来了,有符合直觉的倾向,写起来也比do-while简洁。
## for语句
这个在最后介绍,其实是程序中最受欢迎的词。 任何编程语言都毫无例外地提供了for循环的实现,并且与c最初发明的用法几乎没有不同。for (整数=1; 计数=5; count ) {
打印(计数;
{1}第一个表达式在循环开始前无条件地评估(并执行)一次;
每次循环开始时,都会计算第二个表达式。 如果值为TRUE,则循环继续,并执行嵌套循环语句。 如果值为FALSE,则循环结束。
第三个表达式在每个循环中进行评估和执行。
这个for循环疯狂到什么程度,这是什么公式,一个也不用写。 单纯写分号就行了。
for (; {}这个游戏能做什么? 等效于while {真},等效于do while (真)。 无限循环!
把书放回正题。
for循环是一部使用方便,良心的作品。 根据其定义,可以写万花筒式的操作文。
for(inta=1,b=2; a=5; a,b =2)
{
打印(' a=',a,' b=',b ); //输出: 'a=1 b=2',' a=2 b=4',
第一个表达式初始化a=1,b=2
第二个表达式在满足时结束for循环。
第三个式子设为每次a=a 1,b=b 2。
因此,基于上述分析,也可以正确期待输出结果。
## break语句
手动退出循环或提前退出循环就是break。 和名字的意思一样。for (整数=1; 计数=5; 计数)
{
if (计数==3)中断;
打印(计数; //输出:1,2
循环进行到count=3时,break,从整个循环中退出。
## continue语句
上面的break退出循环弹出,这个循环是说我不用执行几个语句,让for接着执行下一个循环吗? 是的,continue正在做这个。int计数=1;
wile (计数=5) ) )。
{
if (计数==3)连续;
打印(计数; //输出:1,2,4,5
计数
}还是这个例子。=3时,这个回合可以不执行。 那么,请直接继续,告诉for以下内容。 这个轮到这里就行了。
上述语句使用灵活,共同控制程序的执行。