【0基础学MQL4编程1-5】运算流程控制

叶隐学2024-05-11 17:59:17  74

文章来源 /123财经导航

(第一单元)第5小节:流程控制

在上一节中,我们介绍了3种常见的运算方式:算术运算、条件运算、赋值运算。以及这三种运算方式中出现的运算符号和每种符号的表达方式。

在这些运算方式中,会用到多种运算符的组合来参与运算,用于控制程序的执行流程、实现条件判断和循环功能。本节我们就使用这些运算符来实现基础的运算流程控制。

流程控制 - 控制符:

正确使用运算符控制程序的逻辑和运算流程非常重要。它能帮助我们明确表达条件、控制运算符的优先级和执行步骤,并定义代码块的范围,确保程序按照预期的逻辑执行,具有特定的功能和用途。

常见流程控制运算符号有以下几种:

- 花括号 {}

花括号用于定义代码块:在MQL4语言中,花括号用于定义一个代码块,也称为作用域。通常用于表示条件语句、循环语句和函数的主体。代码块是一组语句的集合,它们作为一个整体对程序的执行起作用。常见的例子是在条件语句(如 if、else)和循环语句(如 for、while)中使用花括号定义代码块。图文案例解析:OnTimer是一个计时事件函数,整个函数用花括号以代码块的开始位置与结束位置做分界,圈定了函数中的代码为一个完整的局部作用域。

- 小括号

小括号被称为圆括号或者函数调用括号。在这个例子中,OnTimer函数使用小括号作为函数标志,在函数内部,小括号用于条件 (num!=0) 的表达式,将表达式括起来,以便进行逻辑判断。在 if 语句中,小括号内的表达式的结果将被解释为布尔值,用于确定是否执行代码块。

因此,大括号 {} 用于定义代码块,而小括号 用于括起条件表达式。同样,在函数内部出现的花括号又圈定一个完整的局部作用域。而这个作用域是否执行则取决于if的条件判断是否成立。

- 分号 ;

在MQL4编程语言中,分号用于结束语句。它指示一条语句的结束,并告诉编译器或解释器可以开始解析下一条语句。分号在语法上分隔不同的语句,使其成为独立的单元。

在某些情况下,分号可用于分隔多个表达式。例如,可以使用逗号操作符在一行上编写多个表达式,然后使用分号将它们分隔开。这样可以在单个语句中执行多个操作。

流程控制 - 关键字:

在编程中,以下是用于控制运算流程的3种常用关键字:

1 、返回运算(return)

返回运算关键字(return)用于结束当前函数的执行,并将结果返回给函数的调用者。它通常用于函数中,可以在任何位置使用。执行return后,函数将立即停止执行,并将控制权和返回值传递给调用者。返回值可以是一个具体的值、一个变量或者一个表达式的结果。

案例解析:

void GetTradeStatsMode(int a)

这是一个返回类型为void的函数,意味着它不返回任何值。函数接受一个整数参数a。

函数体中使用了return关键字来提前结束函数的执行。在第一个条件判断中,如果a等于0,则执行return语句,立即结束函数的执行,不再执行后续的代码。

如果a不等于0,则继续执行后续的条件判断和代码块。

bool CalcSum(int x)

这是一个返回类型为bool的函数,意味着它返回一个布尔值(true或false)作为结果。函数接受一个整数参数x。

在函数体中,根据条件判断,如果x大于0,则执行return true;语句,返回true,表示计算成功(条件成立)。如果x不大于0,则执行return false;语句,返回false,表示计算失败(不成立)。

2 、中断循环(break)

中断循环语句(break)用于终止当前所在的循环结构(如for循环或while循环)。一旦执行到break语句,循环将立即停止执行,并继续执行循环后的代码。通常,break语句与某个条件结合使用,以便在满足条件时提前终止循环。

3 、继续下一次循环(continue)

继续语句(continue)用于跳过当前迭代周期的剩余代码,并开始下一次迭代。当continue语句执行时,循环将立即跳转到下一次迭代的起始点。这通常在某个条件满足时用于跳过循环中的某些操作,而不终止整个循环。

这些关键字和语句对于控制运算流程非常有用。return用于结束函数的执行并返回结果,break用于提前终止循环,而continue用于跳过当前迭代并开始下一次迭代。正确使用这些语句可以使程序按照预期的逻辑进行运算,并具有更好的控制和灵活性。

本节知识点:

花括号用于定义或圈定一个代码块,也称为作用域

小括号作为函数标志或者表达式

分号用于结束语句

返回运算(return):用于结束当前函数的执行,并将结果返回给函数的调用者

继续语句(continue)用于跳过当前迭代周期的剩余代码,并开始下一次迭代

中断循环语句(break)用于终止当前所在的循环结构(如for循环或while循环)

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/480161.html
0
随机主题
后续600元买的70-200翻车了!还变成了200-70?树挪死人挪活! 米兰废柴48场造23球助真蓝黑夺冠 上赛季40场0球王猛: 从没见爱德华兹这么累过 根本突不动 第四节全是跳投终结活动合影站角落, 朱婷被孤立? 张常宁丁霞热聊, 谁注意李盈莹表态我国网络拍卖领域首个规范性文件发布, 明确线上线下监管一致性“离奇预言”缘何频频能够公开发布? 同花顺回应: 针对类似不当言论将更严格审核佟丽娅白色镂空抹胸礼服裙, 佟丽娅大秀身材37岁生日拿下生涯1100胜, 德约科维奇剑指法网冠军奖杯刚在火箭试训中表现突出, 今又不希望加盟火箭。河南发布铁拳行动典型案例, 一燃气公司因充装不合规气瓶被罚乌克兰宣布参加巴黎奥运会。但对代表团提出了一个严苛的条件。印度种姓制度男网红“请假几天”引热议, 网友问何时关闭打赏? 已经影响下一代全程约203公里, 这场骑行活动将进行交通管制Sensor Tower: 《Monopoly GO! 》4月蝉联全球手游畅销榜冠军, 《王者荣耀》位列第2名, 米哈游旗下两款手游表现强劲升级了!博尔特空中回旋踢东德老照片广东26分大胜山东,展现两个优势,同时也暴露出一个缺点据《华尔街日报》报道, 挪威在天然气管道破裂后追随新北极熊四部门: 推动贷款利率稳中有降“摇滚教父”汪峰:音乐学院的高材生,竟被高中毕业的选手给碾压
最新回复(0)