表1
2001年上 2001年下 2002年上 2002年下
C語(yǔ)言 14.5萬(wàn)人 23.9萬(wàn)人 27.0萬(wàn)人 29.3萬(wàn)人
筆試通過(guò)率 50.4% 49.1% 26.7% 38.0%
可以看出:與2001年相比,該考試2002年的考生筆試通過(guò)率出現(xiàn)了較大幅度的下降。認(rèn)真分析后發(fā)現(xiàn),產(chǎn)生這一問(wèn)題的原因是多方面的,部分考生在復(fù)習(xí)過(guò)程中在掌握復(fù)習(xí)重點(diǎn)和復(fù)習(xí)方法上出現(xiàn)了一些問(wèn)題。下面,結(jié)合2002年C語(yǔ)言程序設(shè)計(jì)的兩次考試,談?wù)勅绾螐?fù)習(xí)才能更有效地提高考試成績(jī)。
一、注重基礎(chǔ)知識(shí)學(xué)習(xí),進(jìn)行全面系統(tǒng)的復(fù)習(xí)
C語(yǔ)言語(yǔ)法靈活,要求考生了解掌握的地方都可能成為考核點(diǎn),C語(yǔ)言也最富變化,一個(gè)填空題可能有幾個(gè)甚至十幾個(gè)答案。但是,萬(wàn)變不離其宗,這個(gè)"宗"就是"知識(shí)點(diǎn)"!度珖(guó)計(jì)算機(jī)等級(jí)考試考試大綱(2002年版)》中列出了12個(gè)部分的內(nèi)容,幾乎包括了教材中的所有章節(jié)。考生在復(fù)習(xí)備考時(shí),切不可存僥幸心理,認(rèn)為有些知識(shí)有可能不考,或者上次剛剛考過(guò),或者自己一時(shí)沒(méi)有理解,從而放棄復(fù)習(xí)。
下面是幾道考核基本概念的試題,直接考查最基本的"知識(shí)點(diǎn)",屬于偏容易的試題,但從考試情況看卻不很理想。
例1(2002年下選擇題第13題)以下選項(xiàng)中合法的用戶標(biāo)識(shí)符是
A)long B)_2Test C)3Dmax D)A.dat
這道題考核"用戶標(biāo)識(shí)符"的概念。合法的標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,第一個(gè)字符必須為字母或下劃線,關(guān)鍵字不能作為用戶標(biāo)識(shí)符。由此便可排除A、C和D。該題難度值為0.72。選擇A的有13%的考生,原因是他們忽略了long是long int(長(zhǎng)整型)的簡(jiǎn)寫,是一個(gè)關(guān)鍵字。
直接考核基本概念的試題一般來(lái)說(shuō)都比較簡(jiǎn)單,若想取得整個(gè)試卷的高分,一定要力爭(zhēng)全部答對(duì)這部分試題。試題的覆蓋面較大,廣大考生務(wù)必要全面系統(tǒng)復(fù)習(xí),不應(yīng)有任何疏漏。
二、加強(qiáng)對(duì)知識(shí)的理解和運(yùn)用,融會(huì)貫通
知識(shí)點(diǎn)總是分布在各個(gè)章節(jié)中,對(duì)知識(shí)的學(xué)習(xí)也是有時(shí)間先后的,但一張?jiān)嚲泶蚱屏苏鹿?jié)和學(xué)習(xí)時(shí)間的界限,我們不可能首先判斷考試內(nèi)容出自哪章哪節(jié),再尋找解決問(wèn)題的方法,這就要求在復(fù)習(xí)階段培養(yǎng)將知識(shí)點(diǎn)聯(lián)系起來(lái)并融會(huì)貫通的本領(lǐng)。下面通過(guò)試題舉例說(shuō)明這一要求。
例2 (2002年下填空題第10題)以下程序運(yùn)行后的輸出結(jié)果是______。
viod fun(int x, int y)
{x = x + y ; y = x - y ; x = x - y ;
printf ( "% d, % d, ", x, y );}
main ( )
{int x = 2, y = 3;
fun (x, y);
printf ("% d, % d" , x, y);}
函數(shù)fun的功能是交換兩個(gè)變量x和y的數(shù)值,所以在fun函數(shù)中首先輸入_____(3, 2),這一步大部分考生都能寫對(duì),關(guān)鍵是要看在主函數(shù)中的printf輸出什么。在C語(yǔ)言中,數(shù)據(jù)一般只從實(shí)參單向傳遞給形參,形參值的變化不會(huì)影響對(duì)應(yīng)的實(shí)參,所以盡管在這兩個(gè)函數(shù)中變量名都是X和y,但主函數(shù)里x、y的值并沒(méi)有改變。正確答案是3, 2, 2, 3。本題難度為0.28,反映了70%的考生不能完全理解函數(shù)間實(shí)參與形參之間數(shù)據(jù)傳遞過(guò)程。
本題關(guān)于考核函數(shù)之間數(shù)據(jù)傳遞的考題,如果在復(fù)習(xí)時(shí)有意識(shí)地將相關(guān)聯(lián)的知識(shí)前后聯(lián)系起來(lái),就可以通過(guò)對(duì)比深化對(duì)知識(shí)的理解。類似這樣的知識(shí)點(diǎn)還有很多,比如:數(shù)組形式的字符串和指針?lè)绞降淖址取?BR>
三、重視動(dòng)手實(shí)踐,提高操作水平
計(jì)算機(jī)語(yǔ)言類考試考查考生使用該語(yǔ)言在編程方面的基本能力和熟練程度,這個(gè)能力包括了閱讀程序、編寫程序和調(diào)試程序的能力。當(dāng)然,無(wú)論紙筆考試還是上機(jī)考試都是有時(shí)間的要求,考生必須努力提高使用語(yǔ)言編程的熟練程度,才能交一份滿意的答卷。
這里所強(qiáng)調(diào)的"動(dòng)手"包括兩個(gè)方面:一是不能只看不做,要通過(guò)一定量的練習(xí)題深化對(duì)知識(shí)的理解。二是必須上機(jī)實(shí)踐,能夠獨(dú)立編寫、調(diào)試應(yīng)用程序。這兩者都不可缺少。下面兩道試題反映了動(dòng)手實(shí)踐的重要性。
例3 (2002年下填空題第6題)設(shè)有定義:int n, * k=&n;以下語(yǔ)句將利用指針變量k
讀寫變量n中的內(nèi)容,請(qǐng)將語(yǔ)句補(bǔ)充完整。
scanf("%d",______ );
printf("%d\n", ______);
本題的定義語(yǔ)句中定義了一個(gè)int類型變量n和一個(gè)基類型為int類型的指針變量k,并同時(shí)給指針變量k賦n的地址作為初值,使k指向變量n。因?yàn)閟canf函數(shù)要求輸入項(xiàng)是地址,而k中就是n的地址,因此第一個(gè)下劃線處應(yīng)填k,第二個(gè)下劃線處應(yīng)填*k。很多考生看到在說(shuō)明語(yǔ)句中同時(shí)出現(xiàn)"*"和"&"就不知如何理解,其實(shí),這是一個(gè)給指針變量賦地址初值的基本問(wèn)題,這兩道題的答對(duì)率都很低。雖然在教材"指針"這一章的例題中沒(méi)有給出這類例子,但在教材中有關(guān)指針的各章節(jié)的習(xí)題中就多次出現(xiàn)這類的語(yǔ)句,這樣的考核并沒(méi)有超過(guò)大綱的要求。考生能夠看懂每章的僅有的幾個(gè)例題是遠(yuǎn)遠(yuǎn)不夠的,必須動(dòng)手做一定量的習(xí)題,更有必要上機(jī)操作,自己編寫程序。