BASIC 编程/BASIC 入门/控制结构/IF...THEN...ELSEIF...ELSE
外观
< BASIC 编程
此页面或部分是一个未开发的草稿或提纲。 您可以帮助开发工作,或者您可以请求在项目室中提供帮助。 |
该IF...THEN...ELSEIF...ELSE控制语句允许识别某个条件是否为真,如果为真,则执行代码块。
10 CLS
20 IF number<0 THEN PRINT "Number is negative" REM Single line if
30 ELSEIF number>0 THEN
40 PRINT "Number is positive" REM Two line if/elseif
50 ELSE
60 PRINT "Number is zero"
70 END IF
在某些 BASIC 实现中(但大多数版本允许),IF 语句可能需要包含在一行中。但是,在这种情况下 ELSEIF 可能不可用,并且不需要显式 END IF
10 CLS
20 IF number<0 THEN PRINT "Number is negative" ELSE PRINT "Number is non-negative"
这延续到某些 BASIC 实现中,如果“IF...THEN”语句后面紧跟着同一行上的代码,则它完全包含在内。也就是说,编译器假设该行以“ENDIF”结尾,即使没有声明。这在处理嵌套的“IF...THEN”子句时很重要
10 CLS
20 IF X<2 THEN
30 IF 2<3 THEN PRINT "This is printed if X is 1"
40 ELSE
50 IF 3<4 THEN PRINT "This is printed if X is 3"
60 END IF
ELSE 子句虽然在“IF 2<3”语句之后,但与“IF X<2”语句相关联,因为“IF 2<3”语句在同一行上有一个 PRINT 语句。
让我再举一些“if-then-else”程序的例子
Q1)输入一个人的年龄,检查他/她是否是选民?
Ans1) 10 CLS 20 INPUT AGE 30 IF AGE>=18 THEN 40 PRINT "VOTER" 50 ELSE 60 PRINT "NON VOTER" 70 END IF 80 END
Q2)输入一个人的年龄,检查他/她是否是老年人还是非老年人?
Ans2) 10 CLS 20 INPUT AGE 30 IF AGE>=60 THEN 40 PRINT "SENIOR CITIZEN" 50 ELSE 60 PRINT "NOT A SENIOR CITIZEN" 70 END IF 80 END