QB程序设计入门-程序设计(分支语句)

来自:http://basicfan.yeah.net/ 作者:赵洋 youngbug@yeah.net

  在前面的介绍基本语句的文章中,讲了IF THEN和IF THEN … ELSE … END IF语句这种单分支和双分支语句.但如果在程序设计中如果遇到了多分支怎么办呢?比如求解分段函数时需要进行的分两种以上情况讨论就需要使用多分支语句.下面介绍几种多分支语句.

1.ELSE延拓结构

格式:

IF <条件1>  THEN

 <语句串1>

ELSEIF <条件2> THEN

 <语句串2>

……

ELSEIF<条件N> THEN

 <语句串N>

END IF

  语句的是这样执行的如果条件1成立,则执行语句串1,否则如果条件2成立,则执行语句串2,…否则如果条件N成立,则执行语句串N.

  注意整个语句只有一个END IF结尾.如果条件中有不止一个条件为真,只有最前面为真的条件对应的语句才能被执行,然后该分支语句结束,其他的语句串不被执行.

  下面设计一个程序,要求输入一个数字,如果数字是1,就显示ONE,如果数字是2就显示TWO,如果数字不是1或2就显示这个数字.

[例子]在QB中输入以下程序:

CLS
INPUT "Input a number:", A
IF A = 1 THEN
PRINT "ONE"
ELSEIF A = 2 THEN
PRINT "TWO"
ELSEIF A <> 1 AND A <> 2 THEN
PRINT A
END IF

2.IF嵌套结构

格式:

IF <条件1> THEN

IF <条件2> THEN

<语句串1>

ELSE

<语句串2>

END IF

ELSE

IF <条件3> THEN

<语句串3>

ELSE

<语句串4>

END IF

EDN IF

  语句中若条件1为真:若条件2为真执行语句串1,否则执行语句串2.若条件3为真:条件3为真,执行语句串3,否则执行语句串4.注意每个IF…THEN…ELSE必须和一个END IF对应,否则会出现语法错误.如果上面说的不好理解,可以自己在QB中写段程序试一试,就知道是什么回事了.

3.SELECT CASE语句

格式:

SELECT CASE <测试表达式>

CASE <检测式1>

<语句串1>

CASE <检测式2>

<语句串2>

CASE <检测式N-1>

<语句串N-1>

[CASE ELSE]

[语句串N]

END SELECT

  语句先计算出测试表达式的值,然后和每个检测式的值对比,如果相等就执行这个检测式对应的语句串,然后执行END SELECT后面的语句;如果没有对应的值就执行CASE ELSE后的语句串,然后执行END SELECT后的语句.

  注意CASE ELSE是可选的项目,所以语句中可以不出现这条语句.检测式可以为一个或多个常数,例如:CASE 1,2,3,4,5或者CASE 1 TO 10(取值1到10范围的数字)或者CASE "A" TO "Z"等.

  下面可以编写一个程序,输入一个年龄,然后判断年龄段.

[例子]在QB中输入以下程序:

CLS
INPUT "输入年龄:", A
SELECT CASE A
CASE 0 TO 18
PRINT "未成年"
CASE 18 TO 35
PRINT "青年"
CASE 35 TO 50
PRINT "中年"
CASE ELSE
PRINT "老年"
END SELECT
END