民國103年 第2梯次 電腦軟體設計(JAVA)乙級 學科

第60題

假設x 為一整數變數,且x 已有初始值若有一C 程式片段如下,請問其執行效果等同下列何 者?

題目

假設x 為一整數變數,且x 已有初始值若有一C 程式片段如下,請問其執行效果等同下列何 者?

  1. (1) i f ( ( x >5 ) & & ( x <10 ) ) x = 2 ;
  2. (2) i f ( ( x >5 ) | | ( x <10 ) ) x = 0 ;
  3. (3) i f ( x <10 ) x = 2 e l s e i f ( x <5 ) x = 0 ;
  4. (4) i f ( x <10 ) x = 2 e l s e i f ( x >5 ) x = 0 ;

官方答案

(4) i f ( x <10 ) x = 2 e l s e i f ( x >5 ) x = 0 ;

解析

原片段的效果是:x 小於 10 時令 x = 2,否則令 x = 0。選項 4 先判斷 x < 10,成立就設 x = 2;不成立代表 x ≥ 10,此時 x > 5 必然成立,於是執行 x = 0,與原片段完全等價。選項 3 的 else if (x < 5) 在 x ≥ 10 時條件不成立,x 不會被改成 0,行為不同;選項 1 要求 x 同時大於 5 且小於 10,只在該區間內才設為 2,範圍也被縮小。故選 4。

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

官方資料