2.4.4 程序控制结构(1) 如果程序只能顺序执行,那么程序的功能和效率将会受到极大地影响。实际上,程序在执行过程中,可以根据需要改变程序的执行顺序。程序有3种基本结构类型,即顺序结构、条件分支结构和循环结构。下面主要介绍GOTO语句、条件分支语句和循环语句的特点。除了这里介绍的程序控制结构之外,还有其他一些程序控制结构,例如异常处理等。 1. GOTO语句 GOTO语句是高级程序设计语言使用的控制程序执行顺序的基本语句。使用GOTO语句可以将程序转移到相应的语句位置。语句位置使用标号表示,标号是位于指定位置的标明语句的数字或标识符。 例如,在下面的BASIC语言示例中,通过使用GOTO 10语句,使得语句在执行到标号为30的语句时转到执行标号为10的语句:
通过灵活地使用GOTO语句,可以在程序中实现条件分支结构和循环结构。但是,GOTO语句也存在许多问题:GOTO语句使得整个程序形成一个整体结构,程序转移方向随意导致执行过程不易阅读,程序关联性强导致程序修改困难。因此,在许多语言中已经不建议使用GOTO语句。 2. 条件分支结构 条件分支结构是指根据条件表达式的结果来判断和选择执行语句的程序结构。if-then-else结构是大多数的程序设计语言所使用的条件分支结构。这种结构的基本语法格式如下,其流程图如图2-2所示。
在一些指令式程序设计语言中,例如C、C++、Java、C#、Pascal语言中,使用switch语句来控制程序结构。switch语句使用变量或表达式的值来控制程序的执行过程。 在switch语句中,有3个常用的关键字,case、default和break。switch语句的case关键字用于指定其中的一个条件;default关键字可以用来执行不满足所有case关键字指定的值时需要执行的语句;break关键字用于表示条件块的结束,当执行到break语句时则退出switch语句的执行。 在C、C++、Java语言中,使用switch语句的示例如下。在这个示例中,如果输入数字0,则显示"你输入的数字是0",然后退出switch语句的执行。无论是输入1还是2,都显示"你输入的数字是1或2"。如果输入的数字是3,则比较复杂,首先会显示"你输入的数字是3",然后显示"你输入的数字是4或5",这是因为case 3的puts语句后面没有break语句。如果输入的数字不是0-5,则显示"你输入的数字不符合要求"。
在不同的语言中,switch语句的用法也不完全相同。Pascal语言称其为case语句,Visual Basic语言称其为Select Case语句。在Pascal语言中,使用case关键字来代替了switch关键字,使用else代替default关键字,如图2-3(a)所示。而在Visual Basic语言中,没有switch关键字,代替default关键字的是Case Else关键字,如图2-3(b)所示。Ruby语言中则使用when关键字作为情景判断,如图2-3(c)所示。
【责任编辑:云霞 TEL:(010)68476606】
|
|