Monday, November 20, 2006

對國家的教育.....很失望

總算忙玩國防役的interview工作,也忙玩公司的研習營。

公司篩選應徵國防役的碩士班學生相當謹慎,70%是'台清交成'研究所的學生,其餘30%的學生來自所謂'中'字輩(中央,中正,中山,中興...),其他國立和私立大學的研究所學生。

整整改了約180份的筆試答案卷,很慶幸自己沒有高血壓,不然可能氣到中風。

為了怕有遺珠之憾,將及格成績訂在超低標準的25分,但改考卷時竟然發現即便是'台清交成'的學生,也有50%的不及格率。到了第二週,情況更慘,甚至有一整個早上所有考試全部不及格的現象。

我不覺得題目很難,只是很基本的C/C++程式語言觀念而已。

i = 1;
j = i++;
printf( "%n %n\n", i, j );

就這樣三行,超簡單,只是問此三行會在螢幕輸出什麼。印象中,180份試卷能答對的不超過15人。這樣的程度,如果把題目改成

i = 1;
j = ++i+++i;
printf( "%n %n\n", i, j );

恐怕全軍覆沒。更何況,無論是C/C++/C#或是Java,上述的語法完全一樣,就算對C語言不熟,也不應該這麼離譜。

唉.....台灣的教育出了什麼問題?

6 comments:

Michael Lin said...

呵呵!不知道該怎麼回應這一篇!

從邏輯上看起來,題目應該不難,不過我也不知道在螢幕上實際的輸出是什麼。:p

以現在台灣的大學聯考超過 90% 以上的錄取率來看的話,要有多好的程度,其實我也是蠻懷疑的。

Edward Lin said...

C語言的特色就是可以寫到沒人看的懂.有這種功力的,只有兩類.

一種是喜歡整人的高手,一種就是根本不曉得自己在寫什麼的笨蛋.

不過這題是C語言的基本功.
i=1;
j=i++;
答案i=2, j=1

但是我看到的大都是i=1, j=2
真的會吐血.如果換成
i=1;
j=++i;
那答案是i=2, j=2

怎樣都不會跑出i=1, j=2這種答案.

Michael Lin said...

你的 blog 好久沒更新了,很忙嗎?

Edward Lin said...

一句話,被Unix打敗

Anonymous said...

那..叫他們在紙上寫一個九九乘法表.. 誰的行數少就錄取誰. (曾經這樣被考過的老骨頭)

Anonymous said...

j = ++i+++i;

對有些compiler, 恐怕連compile都不見得會過