民國96年 第1梯次 電腦硬體裝修乙級 學科

第19題

下列程式最後輸出值B $ 為何?

題目

下列程式最後輸出值B $ 為何?

  1. (1) 優
  2. (2) 甲
  3. (3) 乙
  4. (4) 丙。 A = 90 : B $ = " 丁" I F A >= 90 T H E N B $ = " 優" I F A >= 80 T H E N B $ = " 甲" I F A >= 70 T H E N B $ = " 乙" I F A >=

官方答案

(4) 丙。 A = 90 : B $ = " 丁" I F A >= 90 T H E N B $ = " 優" I F A >= 80 T H E N B $ = " 甲" I F A >= 70 T H E N B $ = " 乙" I F A >=

解析

程式中四個 IF ... THEN 是各自獨立的敘述,並沒有使用 ELSEIF 串接,所以只要條件成立就會執行,後執行的結果會覆寫先前的結果。A = 90 時,>= 90、>= 80、>= 70、>= 60 這幾個條件全部成立,程式由上而下逐行執行,B$ 先被設為「優」,再依序被改成「甲」、「乙」,最後被最後一個成立的敘述設為「丙」,故輸出值為丙。若希望只輸出最高等級「優」,必須改用 IF ... ELSEIF ... END IF 或 SELECT CASE 結構,讓程式在第一个條件成立後就跳離判斷。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料