EXCEL中程序结构类的应用
导读:DO WHILE...LOOP:先判断后执行循环语句; DO...LOOP WHILE:先执行后判断循环语句; FOR...NEXT:限定次数循环语句; GOTO...:无条件转移语句。 所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。 第一类,顺序结构。这类语句是按照程
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
GOTO...:无条件转移语句。
所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。
第一类,顺序结构。这类语句是按照程序代码书写的先后顺序一句一句从前往后顺序执行的,这类语句结构是最简单且容易理解的一类。那么如何才算一个完整的语句结束呢?这在不同的编程语言环境中是不尽相同的,比如C语言中以分号作为每个语句的结束标志,而VBA中,则以换行符作为一个语句的结束标志,换句话说,只要在同一行书写,哪怕再多的代码都被看作一条语句来执行。
第二类是分支判断选择结构。这类结构并不像顺序结构那样按顺序逐条执行代码,而需要按照判断语句的结果对各条分支语句进行选择执行,所以需要通过分支判断选择语句,对本结构代码加以控制执行。例如,“IF...ELSE...END IF”,这条语句以“IF”开始,至“END IF”结束,其中在IF所在行书写判断的条件表达式,“IF”和“ELSE”之间书写条件表达式为“真”时执行的代码,“ELSE”和“END IF”之间书写条件表达式为“假”时执行的代码。实例如下:
IF 条件 THEN
语句1
ELSE
语句2
END IF
在这里实例程序中,就体现了一个典型的分支判断选择结构,程序是这样执行的:当程序执行到IF语句时,系统会计算条件表达式的值,如果该值为“真”(即条件成立),那么就执行语句1,然后结束该IF结构去执行END IF后面的代码;如果该值为“假”(即条件不成立),那么就执行语句2,然后结束该IF结构去执行END IF后面的代码。所以通过这里实例可以看出,在分支判断选择结构中包含的语句不是每一个都被执行到的,其执行与否、何时执行由条件表达式控制。1条IF条件语句可以区分2种情况下的执行代码,那么多于2种情况该怎么办呢?可以通过在IF语句中嵌套IF语句来实现多条件判断执行的效果。实例如下:
IF 条件1 THEN
语句1
ELSE
IF 条件2 THEN
语句2
ELSE
语句3
END IF
END IF
这和EXCEL中的IF函数的嵌套类似。除了IF语句外,该类结构还有一条语句,也可以实现多条件的分支判断选择结构,即:
SELECT CASE 条件
CASE 值1:
语句1
CASE 值2:
语句2
CASE ...
...
ELSE CASE:
语句3
END SELECT
这里通过计算条件表达式的值与各分支语句中的值进行比较来选择具体到哪个分支中执行相应的代码。
第三类是循环结构。和第二类分支结构类似,循环结构也需要通过循环语句来控制程序代码的执行。按照循环条件的位置和计算方法不同,循环语句大致分为如下三种:
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
前2类是不限定次数或者在代码执行前无法确切指定循环次数的循环控制语句。实例程序分别为:
DO WHILE 条件
语句1
语句2
LOOP
这类语句先判断条件表达式的值,然后根据该值决定是否进入或继续执行循环体内部的语句1和2。
DO
语句1
语句2
LOOP WHILE 条件
这类语句先执行循环体内部的语句1和2,然后进一步根据条件表达式的值决定是否再次回到DO语句继续执行循环体内的语句。
第3类是限定循环执行次数的循环语句。实例程序为:
FOR 控制变量=1 TO N STEP 步长
语句
NEXT
这里通过每次循环后控制变量的自动增加步长值,然后与最大值N比较,来决定是否继续执行循环体内的语句。
循环语句也是可以嵌套使用的。无论分支结构还是循环结构的控制语句,都会打乱原先执行的语句顺序,从而给理解和维护代码带来困难,因此要恰当利用这些结构控制语句,并加上相关注释,以防代码出现错误或今后理解困难。
还有一条语句,称为无条件转移控制语句,即GOTO 转移地址名称,这条语句可以方便编程人员在无法确知转移条件和难于控制时将程序执行顺序强制转移到指定的地址。由于是无条件转移,这种情况中存在着编程人员的主管随意性,因此必须加上必要的注释,并尽量少用,以避免今后程序理解和维护的困难。
- 上一篇: 数据透视表对文本字段的分类组合
- 下一篇: 总账建账需遵循什么原则

- 固定资产清理费用计入什么科目 2025-12-20
- 长期股权投资权益法分配股利 2025-12-20
- 建筑工程abs具体付款流程方式 2025-12-18
- 企业借款利息收入的会计分录 2025-12-18
- 价税合计是什么意思 2025-12-19
- 购货方收到红字专用发票账务处理 2025-12-18
- 广告费计入无形资产成本吗 2025-12-22
- 贴现率和到期收益率的关系 2025-12-20
- 个人买车可以走公帐吗 2025-12-18
- 一年以内的待摊费用放在哪个科目 2025-12-19
- 目前最新公司法规定股份有限公司注册资本认缴时间到底是多久呢?首次出资额比例是多少? 2026-02-11
- 购买货物,先收到发票,但是货物未收到,是先做在途物资还是等货物收到之后再直接做库存商品呢? 2026-03-19
- 老师,商贸有限公司,经营范围有蔬菜、水果、坚果的种植,公司去菜市场买菜,然后卖给学校,开增值税发票要选多少税率的? 2026-02-24
- 印花税需要计提吗 2025-12-20
- 某公司应收账款期初借方余额30W元,本期借方发生额10万元,贷方发生额15万元;预收账款期初贷方余额25万元,本期借方发生额45万元,本期贷方无发生额, 假定不考虑其他因素,则该企业应收账款期末实际余额是 多少万元 2025-12-28
- 银行代发工资和自己在公账上发放工资银行对账单能看的出来吗,怎么区分是银行代发还是公司自己公账转账 2026-01-23
- 老师,收到就业局的稳岗补贴的账务处理?确定收益时需要些什么附件? 2026-02-13
- 已认证发票,对方作废。交易撤销,进项税额转出会计分录如何做?不做可以吗? 2026-02-10
- 请问企业给职工发放的毛巾洗衣液之类的劳保费应计入什么科目? 2025-12-18
- 关于收入附有销售退回的,什么时候用合同负债,什么时候用预计负债 2026-03-20