语法 [Syntax]代码格式空格建、Tab键、换行键和换页符都可以形成代码排版的分隔符,你能运用各种符号来增长代码的可读性。注释多行注释运用 /* 作为开始到 */ 终结,在这之间不能够嵌套。单行注释运用 // 作为开始到新的一行终结,可以被嵌套到多行注释当中。示例:// 单行注释/* 多行注释// 嵌套的单行注释注释终结 */标识符标识符用来给变量、函数和报告类型执行命名,长度不能胜过31个字节你可以运用数字0-9、拉丁字母大写A-Z和小写a-z(大小写有区分的)仍有下划线(_)。另外首字母不可以是数字,标识符不能和保留字矛盾.示例:// NAME1 namel Total_5 Paper保留字下面列出的是固定的保留字。不能运用下方任何保留字执行命名。报告类型 存储类型 操作符 其它bool extern break falsecolor static case truedatetime continue double default int else string for void if return switch while 报告类型 [Data types]报告类型简述首要报告类型有:• Integer (int)• Boolean (bool)• ëèòåðàëû (char)• String (string)• Floating-point number (double)• Color (color)• Datetime (datetime)我们用Integer类型报告来作为DateTime和Color报告的存储。运用下方方式可以执行类型站换:int (bool,color,datetime);double;string;Integer 类型十进制: 数字0-9;0不能作为第一个字母示例:12, 111, -956 1007十六进制: 数字0-9;拉丁字母a-f或A-F用来表明10-15;运用0x或者0X作为开始。示例:0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7Integer 变量的取值规模为-2147483648到2147483647。Literal 类型任意在单引号中的字符或十六进制的任意ASCII码比如'x10'均为被看作为一个字符,一部分字符比如单引号('),双引号("),问号(?),反斜杠()和一部分控制符都需要在以前加一个反斜杠()执行转意后表明出来:line feed NL (LF) nhorizontal tab HT tcarriage return CR rreverse slash \single quote ' 'double quote " "hexadecimal ASCII-code hh xhh以上字符假使不经历反斜杠执行转意将不能被运用示例:int a = 'A';int b = '$';int c = '©'; // code 0xA9int d = 'xAE'; // symbol code ®Boolean 类型Boolean 用来表明 是 和 否, 还可以用数字 1 和 0 执行表明。True和Flase可以忽视大小写。示例:bool a = true;bool b = false;bool c = 1;Floating-point number 类型浮点型变量在整数型后面加一个点(.)用来更精确的表明十进制数字。示例:double a = 12.111;double b = -956.1007;double c = 0.0001;double d = 16;浮点型的取值规模从 2.2e-308 到 1.8e308.String 类型字符串型是用来表明接连的ASCII码字符的运用接连的两个双引号来包含需要表明的内容如:"Character constant".示例:"This is a character string""Copyright symbol txA9""this line with LF symbol n""A" "1234567890" "0" "$"Color 类型颜色类型可以运用下方示例里的几种方式执行定义。示例:// symbol constantsC'128,128,128' // grayC'0x00,0x00,0xFF' // blue// named colorRedYellowBlack// integer-valued representation0xFFFFFF // white16777215 // white0x008000 // green32768 // greenDatetime 类型时间类型运用年、月、日、时、分、秒来执行定义,你可以运用下方示例中的方式来定义变量。示例:D'2004.01.01 00:00' // New YearD'1980.07.19 12:30:27'D'19.07.1980 12:30:27'D'19.07.1980 12' //equal to D'1980.07.19 12:00:00'D'01.01.2004' //equal to D'01.01.2004 00:00:00'D'12:30:27' //equal to D'[compilation date] 12:30:27'D'' //equal to D'[compilation date] 00:00:00'运算符和表达式 [Operations & Expressions]表达式一个表达式可以拥有多个字符和操作符,一个表达式可以写在几行里面。示例:a++; b = 10; x = (y*z)/w;注:分号(;)是表达式的终结符。算术运算符Sum of values i = j + 2;Difference of values i = j - 3;Changing the operation sign x = - x;Product of values z = 3 * x;Division quotient i = j / 5;Division remainder minutes = time % 60;Adding 1 to the variable value i++;Subtracting 1 from the variable value k--;加减1的运算符不能被嵌套在表达式中int a=3;a++; // 可行的表达式int b=(a++)*3; // 不可行的表达式赋值运算符注:将右侧的结果赋值给左侧的变量将x的值赋值给y y = x;将x的值加到y上面 y += x;在y上面减去x的值 y -= x;得到y的x倍的值 y *= x;得到y除以x的值 y /= x;取y除以x后的余数 y %= x;y向右位移x位 y >>= x;y向左位移x位 y <<= x;得到逻辑AND的值 y &= x;得到逻辑OR的值 y |= x;得到逻辑非OR的值 y ^= x;注:一个表达式只能有一个赋值运算符.关系运算符用返回0(False)或1(True)来表明两个量之间的关系。a能否等于b a == b;a能否不等于b a != b;a能否差于b a < b;a能否大于b a > b;a能否差于等于b a <= b;a能否大于等于b a >= b;真假运算符否定运算符(!),用来表明真假的反面的结果。// 假使a不是真的if(!a)Print("not 'a'");逻辑运算符或(||)用来表明两个表达式只要有一个成立刻可。示例:if(xl)Print("out of range");逻辑运算符和(&&)用来表明两个表达式要同期成立才行。示例:if(p!=x && p>y)Print("true");n++;位逻辑运算符~ 运算符对操作数实施按位求补操作。b = ~n;>> 运算符对操作数实施向右位移操作。x = x >> y;<< 运算符对操作数实施向左位移操作。x = x << y;一元 & 运算符返回操作数的地址为整型和 bool 类型预定义了二进制 & 运算符。对于整型,& 计算操作数的按位“与”。对于 bool 操作数,& 计算操作数的逻辑“与”;也就是说,当且仅当两个操作数都是 true 时,其结果才为 true。b = ((x & y) != 0);二进制 | 运算符是为整型和 bool 类型预定义的。对于整型,| 对操作数执行按位“或”运算。对于 bool 操作数,| 对操作数执行逻辑“或”计算,也就是说,当且仅当两个操作数都是 false 时,其结果才为 false。b = x | y;为整型和 bool 类型预定义了 ^ 二进制操作数。对于整型,^ 计算操作数的按位“异或”。对于 bool 操作数,^ 计算操作数的逻辑“异或”;也就是说,当且仅当只有一个操作数为 true 时,其结果才为 true。b = x ^ y;注:位逻辑运算符只作用于Integers类型其它运算符索引。定位在数组中i位置的值。array = 3;//将3负数到array数组第i位置上运用 x1,x2,...,xn 如此的方法将各种值传送到function中执行运算。示例:double SL=Ask-25*Point;double TP=Ask+25*Point;int ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,TP,"My comment",123,0,Red);优先级规则下面是从上到下的运算优先规则,优先级高的将先被运算。() Function call From left to right[] Array element selection! Negation From left to right~ Bitwise negation- Sign changing operation* Multiplication From left to right/ Division% Module division+ Addition From left to right- Subtraction<< Left shift From left to right>> Right shift< Less than From left to right<= Less than or equals> Greater than>= Greater than or equals== Equals From left to right!= Not equal& Bitwise AND operation From left to right^ Bitwise exclusive OR From left to right| Bitwise OR operation From left to right&& Logical AND From left to right|| Logical OR From left to right= Assignment From right to left+= Assignment addition-= Assignment subtraction*= Assignment multiplication/= Assignment division%= Assignment module>>= Assignment right shift<<= Assignment left shift&= Assignment bitwise AND|= Assignment bitwise OR^= Assignment exclusive OR, Comma From left to right操作符 [Operators]格式和嵌套格式.一个操作符可以占用一行或者多行,两个或多个操作符可以占用许多的行。嵌套.实施控制符(if, if-else, switch, while and for)可以执行任意嵌套.复合操作符一个复合操作符有一个(一个区段)和由一个或多个任何类型的操作符构成的的附件{}. 每个表达式运用分号作为终结(;)示例:if(x==0){x=1; y=2; z=3;}表达式操作符任何以分号(;)终结的表达式都被看为是一个操作符。Assignment operator.Identifier=expression;标识符=表达式;示例:x=3;y=x=3; // 这是错误的一个操作符中只能有一个表达式。调用函数操作符Function_name(argument1,..., argumentN);函数名称(参数1,...,参数N);示例:fclose(file);空操作符只有一个分号构成(;).我们用它来表明没有任何表达式的空操作符.停止操作符一个break; , 我们将其放在嵌套内的指定位置,用来在指定情形下跳出循环操作.示例:// 从0开始搜索数组for(i=0;iMT4 MQL4编程基础语法学习
外汇网2021-06-17 09:41:16
158
语法 [Syntax]代码格式空格建、Tab键、换行键和换页符都可以形成代码排版的分隔符,你能运用各种符号来增长代码的可读性。注释多行注释运用 /* 作为开始到 */ 终结,在这之间不能够嵌套。单行注释运用 // 作为开始到新的一行终结,可以被嵌套到多行注释当中。示例:// 单行注释/* 多行注释// 嵌套的单行注释注释终结 */标识符标识符用来给变量、函数和报告类型执行命名,长度不能胜过31个字节你可以运用数字0-9、拉丁字母大写A-Z和小写a-z(大小写有区分的)仍有下划线(_)。另外首字母不可以是数字,标识符不能和保留字矛盾.示例:// NAME1 namel Total_5 Paper保留字下面列出的是固定的保留字。不能运用下方任何保留字执行命名。报告类型 存储类型 操作符 其它bool extern break falsecolor static case truedatetime continue double default int else string for void if return switch while 报告类型 [Data types]报告类型简述首要报告类型有:• Integer (int)• Boolean (bool)• ëèòåðàëû (char)• String (string)• Floating-point number (double)• Color (color)• Datetime (datetime)我们用Integer类型报告来作为DateTime和Color报告的存储。运用下方方式可以执行类型站换:int (bool,color,datetime);double;string;Integer 类型十进制: 数字0-9;0不能作为第一个字母示例:12, 111, -956 1007十六进制: 数字0-9;拉丁字母a-f或A-F用来表明10-15;运用0x或者0X作为开始。示例:0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7Integer 变量的取值规模为-2147483648到2147483647。Literal 类型任意在单引号中的字符或十六进制的任意ASCII码比如'x10'均为被看作为一个字符,一部分字符比如单引号('),双引号("),问号(?),反斜杠()和一部分控制符都需要在以前加一个反斜杠()执行转意后表明出来:line feed NL (LF) nhorizontal tab HT tcarriage return CR rreverse slash \single quote ' 'double quote " "hexadecimal ASCII-code hh xhh以上字符假使不经历反斜杠执行转意将不能被运用示例:int a = 'A';int b = '$';int c = '©'; // code 0xA9int d = 'xAE'; // symbol code ®Boolean 类型Boolean 用来表明 是 和 否, 还可以用数字 1 和 0 执行表明。True和Flase可以忽视大小写。示例:bool a = true;bool b = false;bool c = 1;Floating-point number 类型浮点型变量在整数型后面加一个点(.)用来更精确的表明十进制数字。示例:double a = 12.111;double b = -956.1007;double c = 0.0001;double d = 16;浮点型的取值规模从 2.2e-308 到 1.8e308.String 类型字符串型是用来表明接连的ASCII码字符的运用接连的两个双引号来包含需要表明的内容如:"Character constant".示例:"This is a character string""Copyright symbol txA9""this line with LF symbol n""A" "1234567890" "0" "$"Color 类型颜色类型可以运用下方示例里的几种方式执行定义。示例:// symbol constantsC'128,128,128' // grayC'0x00,0x00,0xFF' // blue// named colorRedYellowBlack// integer-valued representation0xFFFFFF // white16777215 // white0x008000 // green32768 // greenDatetime 类型时间类型运用年、月、日、时、分、秒来执行定义,你可以运用下方示例中的方式来定义变量。示例:D'2004.01.01 00:00' // New YearD'1980.07.19 12:30:27'D'19.07.1980 12:30:27'D'19.07.1980 12' //equal to D'1980.07.19 12:00:00'D'01.01.2004' //equal to D'01.01.2004 00:00:00'D'12:30:27' //equal to D'[compilation date] 12:30:27'D'' //equal to D'[compilation date] 00:00:00'运算符和表达式 [Operations & Expressions]表达式一个表达式可以拥有多个字符和操作符,一个表达式可以写在几行里面。示例:a++; b = 10; x = (y*z)/w;注:分号(;)是表达式的终结符。算术运算符Sum of values i = j + 2;Difference of values i = j - 3;Changing the operation sign x = - x;Product of values z = 3 * x;Division quotient i = j / 5;Division remainder minutes = time % 60;Adding 1 to the variable value i++;Subtracting 1 from the variable value k--;加减1的运算符不能被嵌套在表达式中int a=3;a++; // 可行的表达式int b=(a++)*3; // 不可行的表达式赋值运算符注:将右侧的结果赋值给左侧的变量将x的值赋值给y y = x;将x的值加到y上面 y += x;在y上面减去x的值 y -= x;得到y的x倍的值 y *= x;得到y除以x的值 y /= x;取y除以x后的余数 y %= x;y向右位移x位 y >>= x;y向左位移x位 y <<= x;得到逻辑AND的值 y &= x;得到逻辑OR的值 y |= x;得到逻辑非OR的值 y ^= x;注:一个表达式只能有一个赋值运算符.关系运算符用返回0(False)或1(True)来表明两个量之间的关系。a能否等于b a == b;a能否不等于b a != b;a能否差于b a < b;a能否大于b a > b;a能否差于等于b a <= b;a能否大于等于b a >= b;真假运算符否定运算符(!),用来表明真假的反面的结果。// 假使a不是真的if(!a)Print("not 'a'");逻辑运算符或(||)用来表明两个表达式只要有一个成立刻可。示例:if(xl)Print("out of range");逻辑运算符和(&&)用来表明两个表达式要同期成立才行。示例:if(p!=x && p>y)Print("true");n++;位逻辑运算符~ 运算符对操作数实施按位求补操作。b = ~n;>> 运算符对操作数实施向右位移操作。x = x >> y;<< 运算符对操作数实施向左位移操作。x = x << y;一元 & 运算符返回操作数的地址为整型和 bool 类型预定义了二进制 & 运算符。对于整型,& 计算操作数的按位“与”。对于 bool 操作数,& 计算操作数的逻辑“与”;也就是说,当且仅当两个操作数都是 true 时,其结果才为 true。b = ((x & y) != 0);二进制 | 运算符是为整型和 bool 类型预定义的。对于整型,| 对操作数执行按位“或”运算。对于 bool 操作数,| 对操作数执行逻辑“或”计算,也就是说,当且仅当两个操作数都是 false 时,其结果才为 false。b = x | y;为整型和 bool 类型预定义了 ^ 二进制操作数。对于整型,^ 计算操作数的按位“异或”。对于 bool 操作数,^ 计算操作数的逻辑“异或”;也就是说,当且仅当只有一个操作数为 true 时,其结果才为 true。b = x ^ y;注:位逻辑运算符只作用于Integers类型其它运算符索引。定位在数组中i位置的值。array = 3;//将3负数到array数组第i位置上运用 x1,x2,...,xn 如此的方法将各种值传送到function中执行运算。示例:double SL=Ask-25*Point;double TP=Ask+25*Point;int ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,TP,"My comment",123,0,Red);优先级规则下面是从上到下的运算优先规则,优先级高的将先被运算。() Function call From left to right[] Array element selection! Negation From left to right~ Bitwise negation- Sign changing operation* Multiplication From left to right/ Division% Module division+ Addition From left to right- Subtraction<< Left shift From left to right>> Right shift< Less than From left to right<= Less than or equals> Greater than>= Greater than or equals== Equals From left to right!= Not equal& Bitwise AND operation From left to right^ Bitwise exclusive OR From left to right| Bitwise OR operation From left to right&& Logical AND From left to right|| Logical OR From left to right= Assignment From right to left+= Assignment addition-= Assignment subtraction*= Assignment multiplication/= Assignment division%= Assignment module>>= Assignment right shift<<= Assignment left shift&= Assignment bitwise AND|= Assignment bitwise OR^= Assignment exclusive OR, Comma From left to right操作符 [Operators]格式和嵌套格式.一个操作符可以占用一行或者多行,两个或多个操作符可以占用许多的行。嵌套.实施控制符(if, if-else, switch, while and for)可以执行任意嵌套.复合操作符一个复合操作符有一个(一个区段)和由一个或多个任何类型的操作符构成的的附件{}. 每个表达式运用分号作为终结(;)示例:if(x==0){x=1; y=2; z=3;}表达式操作符任何以分号(;)终结的表达式都被看为是一个操作符。Assignment operator.Identifier=expression;标识符=表达式;示例:x=3;y=x=3; // 这是错误的一个操作符中只能有一个表达式。调用函数操作符Function_name(argument1,..., argumentN);函数名称(参数1,...,参数N);示例:fclose(file);空操作符只有一个分号构成(;).我们用它来表明没有任何表达式的空操作符.停止操作符一个break; , 我们将其放在嵌套内的指定位置,用来在指定情形下跳出循环操作.示例:// 从0开始搜索数组for(i=0;i
标签:
随机快审展示
加入快审,优先展示
推荐文章
- 黑马在线:均线实战利器 9368 阅读
- 短线交易技术:外汇短线博弈精讲 4588 阅读
- MACD震荡指标入门与技巧 4744 阅读
- 黄金操盘高手实战交易技巧 5161 阅读
- 做精一张图 3852 阅读
热门文章
- 港币符号与美元符号的区别是什么啊? 27555 阅读
- 我国各大银行汇率为什么不一样啊? 17566 阅读
- 越南盾对人民币怎么算的?越南盾对人民币汇率换算方法是什么 12479 阅读
- 百利好环球欺诈,不给出金,无法联系。 11487 阅读
- 港元符号是什么啊 港元符号跟美元符号是一样吗 10647 阅读