BASIC 程式設計/BASIC 入門/控制結構/IF...THEN...ELSEIF...ELSE
外觀
| 此頁面或部分是一個未開發的草稿或提綱。 您可以幫助開發工作,或者您可以請求在專案室中提供幫助。 |
該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