📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    for循环(特厉害的MT5/MQL5指标编程教程第十三篇:for循环结构)

    億秒 LV7
    2014-02-18 · 1343 阅读
    程序设计的基本结构就三种:顺序结构、选择结构、循环结构,运用这三种语言结构,可以解决所有问题。而顺序结构就像说话一样一句一句往下运行,无处不在,所以在学习程序设计的初级阶段,就是学选择结构和循环结构,无论多么复杂的算法,拆分到最基础的结构,都是选择和重复。


    循环结构中用得最多的是for循环,while循环与for循环本质是一样的,但是for循环写循环条件的时候格式位置比较统一,易读性较好。表达形式一般为:


    for(表达式1;表达式2;表达式3){
    ...
    }


    它的执行过程如下:


    求解“表达式1”。
    求解“表达式2”,若结果值为“真”,则执行for循环内嵌代码块,然后执行下面第3步;若表达式值为“假”,结束循环,跳到第5步。
    求解“表达式3”。
    回到上面第2步继续执行。
    循环结束。执行for循环后面的语句。
    循环举例:


    int i;
    int sum = 0;
    for(i=0; i<3; i++){
    sum = sum + i;
    }


    注意:在循环使用变量“i”和“sum”之前,声明了它们,这样当循环结束后,“i”和“sum”依然存在。也可以:


    int sum = 0;
    for(int i=0; i<3; i++){
    sum = sum + i;
    }


    这样当循环结束后,“i”就被释放了,节省内存空间,但是“sum”一定要在循环前声明,如果放在循环体内声明,那么相当于每次循环都重新声明变量,应该是会报错的,感兴趣可以自己试试,原理参照变量及其作用域那篇,有点类似函数,但是for循环是一个语言结构,不是函数。


    以第二段为例讲解:


    声明“sum”并初始化其值为“0”。
    进入循环结构,声明“i”并初始化其值为“0”。
    “i<3”为真,执行循环体内语句。
    执行“sum = sum(0) + i(0);”,“sum”的值为“0”。
    循环内嵌语句执行后进行自增运算“i++;”,“i”的值为“1”。
    判断,“i<3”为真,执行循环体内语句。
    “sum = sum(0) + i(1);”,“sum”的值为“1”。
    自增运算“i++;”,“i”的值为“2”。
    判断,“i<3”为真,执行循环体内语句。
    “sum = sum(1) + i(2);”,“sum”的值为“3”。
    自增运算“i++;”,“i”的值为“3”。
    判断,“i<3”为假,跳出循环,“i”被释放,“sum”的值为“3”。
    向下执行循环以后的语句......
    如果给一个比较大的数组赋值,可以:


    int a[50];
    for(int i=0; i<50; i++){
    a = 0;
    }


    这样从“a[0]”到“a[49]”的值都是“0”,一定要记住一个元素个数为“n”(本例中为“50”个)的数组,角标最大值为“n-1”(本例中为“49”)。

    ""
    还没有人打赏,支持一下
    回复

    举报

     
    微信二维码

    有问题联系客服