宏指令语句 1. 在编写宏指令时,会定义变量或数组,这种语句叫作定义语句。 正式的格式如下: 定义一个变量的名称为"名称"且类型为"类型"。 举例: int A //定义了变量A 为双整型格式 定义一个数组变量为"名称",大小为"数组长度"且类型为"类型"时。 举例: int B[10] //定义了一维数组变量B的长度为10,类型为双整型 2. 在对变量进行赋值时,会用上赋值语句。 赋值语句使用赋值运算符号将赋值运算符号右边表达式运算的结果放置到运算符号左边的变量中。一个表达式是由变量、常数和各种运算符号组成,执行后产生一个新的数据。 举例: A =2 //这样变量A就被赋值为2 3. 此外宏指令中还经常使用逻辑运算语句 逻辑运算语句是根据逻辑 (布尔) 表达式的结果来执行相应的动作。它的语句如下所示: 单行格式: If<Condition> then [Statements] else [Statements] end if 举例: if a = =2 then b = 1 else b = 2 end if 区块格式: If<Condition> then [Statements] else if<Condition-n> then [Statements] else [Statements] end if 举例: if a == 2then b = 1 else if a= = 3 then b = 2 else b = 3 end if 语法描述 if 必须用在该语句的开始部分。 <Condition> 必要条件。 这是一个控制语句。当<Condition> 为0时,即为 “FALES”, (条件为假);当<Condition> 为非0 时,即为“True”(条件为真)。 -------------------------------------------------------------------------------------------------------------------------------- then 当 <Condition> 执行为 “TRUE” (真) 时,必须放置在需要执行的语句之前。 -------------------------------------------------------------------------------------------------------------------------------- [Statements] 在区块形式中是可选择的参数,在单行形式中,且没有 else子句时,为必要参数,该语句在 <Condition> 为真时执行。 -------------------------------------------------------------------------------------------------------------------------------- elseif 可选,一条或多条语句,在相对应的<Condition – n> 为true时执行。 -------------------------------------------------------------------------------------------------------------------------------- <Condition-n> 可选,解释同 Condition -------------------------------------------------------------------------------------------------------------------------------- else 可选,在上述 Condition 和 Condition – n 都不为 true 时执行。 -------------------------------------------------------------------------------------------------------------------------------- endif 必须。在一个 if-then 语句中使用这个来结束 if-then 语句。 4. 多重判断语句相对if else语句不为常用。 Select-case类似于C++中switch case,可用来处理多重判断的叙述,其功能类似 if-else 语句。根据所指定变量的值,分别对应到符合该值的 case,并执行 case 下面的叙述,直到遇到 break 叙述时,才跳到结束符号 end select 处。 语法结构如下: 没有预设 case 的形式: SelectCase [variable] Case [value] [Statements] break endSelect 举例: Select Case A Case 1 b=1 break end Select 有预设 case 的形式: SelectCase [variable] Case [value] [Statements] break Case else [Statements] break endSelect 举例: Select Case A Case 1 b=1 break Case else b=0 break end Select 多个不同 case 对应到相同区块: SelectCase [variable] Case [value1] [Statements] Case [value2] [Statements] break endSelect 举例: Select Case A Case 1 Case 2 b=2 Case 3 b=3 break end Select 语法描述: SelectCase 必须用在该语句的开始部分。 -------------------------------------------------------------------------------------------------------------------------------- “variable” 必要条件。此变量将会与每一个 case 做比较。 -------------------------------------------------------------------------------------------------------------------------------- Caseelse 可选。代表预设 case。当 “variable” 的值不符合任何一个 case 时,将会执 行此叙述下面的区块。在没有预设 case 的情况,当 “variable” 的值不符合 任何一个 case 时,将不会做任何动作而直接跳出 select 控制结构。 -------------------------------------------------------------------------------------------------------------------------------- break 可选。跳到某一个 case 下面执行时,将一句一句执行 case 语句下面的叙述 直到遇到 break 命令才结束,并跳到 end select 叙述。当 case 叙述下面 没有任何 break 命令时,流程将不断往下执行,直到遇到 end select叙述, 才结束并跳出 select 控制结构。 -------------------------------------------------------------------------------------------------------------------------------- endSelect select-case 语句的结束标志。 5. 宏指令中还会通过一定条件反复执行一代码段,此时就要用到循环语句。 循环语句有两种表达方式 for next 语句 For-next 语句通常用来执行次数固定的循环任务。一个变量用作为任务执行次数的计数器和结束循环任务,执行的条件。这个变量为固定执行的次数。语法结构如下: for [Conunter] = <StartValue> to<EndValue> [step <StepValue>] [Statements] next [Counter] 或者 for [Conunter] = <StartValue> down<EndValue> [step <StepValue>] [Statements] next [Counter] 举例: for a = 0 to 10 step 2 b = a next a 语法描述 for 必须用在该语句的开始部分。 -------------------------------------------------------------------------------------------------------------------------------- [Counter] 必要,循环计数器的数值变量,该变量的结果用来计数循环的次数。 -------------------------------------------------------------------------------------------------------------------------------- <StartValue> 必要,Counter 的初值。 -------------------------------------------------------------------------------------------------------------------------------- to/down 必要。用来决定步长是递增还是递减。 “to” 以 <StepValue> 为步长递增<Counter> “down” 以 <StepValue> 为步长递减<Counter> -------------------------------------------------------------------------------------------------------------------------------- <EndValue> 必要,Counter 的终值、测试点。当<Connter> 大于该值时,宏指令将结 束这个循环任务。 -------------------------------------------------------------------------------------------------------------------------------- step 可选,指定 <StepValue> 的步长,指定为 1 以外的数值。 -------------------------------------------------------------------------------------------------------------------------------- [StepValue] 可选,Counter 的步长,只能是数值,如果没有指定,则预设为 1。 -------------------------------------------------------------------------------------------------------------------------------- [Statements] 可选,for 和 next 之间的语句区块,该语句区块将执行所指定的次数。 -------------------------------------------------------------------------------------------------------------------------------- next 必须的。 -------------------------------------------------------------------------------------------------------------------------------- [Counter] 可选。 while-wend 语句 While-wend语句是用来执行不确定次数的循环任务。设置一个变量用来判断结束循环的条件。当条件为 “True”时,该语句将一直循环执行直到条件变为 “False”。语法结构如下: while<Condition> [Statements] Wend 举例: while a < 10 a = a + 10 wend 语法描述: while 必须用在该语句的开始部分。 -------------------------------------------------------------------------------------------------------------------------------- continue 必要条件。 这是一个控制语句。当为 “True” 时,开始执行循环命令,当为 “False” 时,结束执行循环命令。 -------------------------------------------------------------------------------------------------------------------------------- return[value] 当判断为 “TRUE” 时,继续执行循环命令 -------------------------------------------------------------------------------------------------------------------------------- wend While-wend 语句的结束标志。 其它控制命令 : break 用在 for-next 和 while-wend 语句中。当遇到此语句时,立即 跳到语句的结束部分。 -------------------------------------------------------------------------------------------------------------------------------- continue 用在 for-next 和 while-wend 语句中。当遇到此语句时,立即结束当前循 环命令而开始执行下一个循环命令。 -------------------------------------------------------------------------------------------------------------------------------- return 可用在自订 function 的回传值叙述。写在主函数里面时,用来强制跳出主函 数。
|