
中國輸出入銀行 105 年新進職員甄試試題 
甄試類別【代碼】:資訊人員【J5403】   
科目二:程式語言 
 *請填寫入場通知書編號:________________ 
注意:作答前應先檢查答案卷,測驗入場通知書號碼、桌角號碼、應試科目是否相符,如有不同應立即
請監試人員處理。使用非本人答案卷作答者,該節不予計分。 
本試卷為一張單面,共有四大題之非選擇題,各題配分均為 25 分,總計 100 分。 
非選擇題限以藍、黑色鋼筆或原子筆於答案卷上採橫式作答,並請依標題指示之題號於各題指定
作答區內作答。 
請勿於答案卷書寫應考人姓名、入場通知書號碼或與答案無關之任何文字或符號。 
本項測驗僅得使用簡易型電子計算器(不具任何財務函數、工程函數功能、儲存程式功能),但不
得發出聲響;若應考人於測驗時將不符規定之電子計算器放置於桌面或使用,經勸阻無效,仍執
意使用者,該科扣 10 分;該電子計算器並由監試人員保管至該節測驗結束後歸還。 
答案卷務必繳回,未繳回者該科以零分計算。 
第一題: 
高階程式語言通常提供三種控制迴圈的指令,如 C語言中的 FOR()迴圈、WHILE()迴圈和 DO…WHILE()
迴圈,請分別說明此三類型指令特性及其差異,並說明他們彼此間是否可互相取代?【25 分】 
 
 
 
 
 
 
 
 
 
 
第二題: 
階乘定義為 N!=N(N-1)(N-2) …21 其中 N為正整數。請以 C或Java 其中一種語言設計二程式,
此二程式輸入 N以後,程式都可以計算出 N!之值。 
程式一:必須以遞迴呼叫副程式技巧設計。 
程式二:須使用“迴圈指令”但不可使用遞迴呼叫副程式技巧設計。 
請以實際程式執行時間評估何者的程式執行速度較快?並請解釋原因。【25 分】 
第三題: 
以C語言設計的主程式如下:   
 
 
 
 
 
 
 
 
 
 
請設計二副程式 swapA 與swapB 使執行結果如下:【25 分】 
 
  
 
 
 
 
 
 
第四題: 
一Java 語言設計的程式部分內容如下: 
 
 
 
 
 
 
 
 
 
請以 Java 之“try…catch…finally…”指令設計程式中標註之區塊,使程式如果碰到指令“testarray[16]=1000;”
執行結果如下:【 25 分】 
 
 
 
  public static void main(String[] args) { 
    int[] testarray= new int[8]; 
   
 設計本區塊程式 
 System.out.println("程式正確執行完畢!!"); 
  } 
##程式發生異常例外:超出陣列索引範圍!! 
**finally  程式區塊執行完畢!! 
程式正確執行完畢!! 
int main(void) { 
 int x = 77, y = 66;   
 printf("swapA 執行前:x= %d y= %dn", x, y);   
 swapA(&x, &y);     
 printf("swapA 執行後:x= %d y= %dn", x, y); 
 printf("swapB 執行前:x= %d y= %dn", x, y);   
 swapB(x, y);    
 printf("swapB 執行後:x= %d y= %dn", x, y);   
 return 0; 
} 
swapA 執行前:x= 77 y= 66   
swapA 執行區塊:x= 66 y= 77 
swapA 執行後:x= 66 y= 77 
swapB 執行前:x= 66 y=77   
swapB 執行區塊:x= 77 y= 66 
swapB 執行後:x= 66 y= 77