全國計算機等級考試的持續(xù)升溫,至使全國計算機等級考試證書已成為國家公務(wù)員、國家企事業(yè)單位工作人員、公司員工等上崗、加薪、提拔的必備條件。同時為了適應(yīng)新的需要,國家教育部考試中心于2002年起加大了機試力度,擴大了題庫,最新的應(yīng)試結(jié)果也表明,能否順利通過上機考試,已經(jīng)成為廣大考生能否順利考取等級證書的關(guān)鍵。為幫助大家順利通過上機考試,筆者根據(jù)自己的經(jīng)驗,并詢問了一些成績不錯的考生,總結(jié)了機試過關(guān)中應(yīng)該重點掌握的三部分內(nèi)容,希望對大家有所幫助。
概述
從2002年起,國家教育部考試中心對等級考試進(jìn)行了改革,取消原來三級A和三級B的考試,重新劃分為三級pc技術(shù)、三級信息管理技術(shù)、三級數(shù)據(jù)庫技術(shù)和三級網(wǎng)絡(luò)技術(shù)四類。其中信息管理技術(shù)、數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)技術(shù)采用同一個上機題庫,本文只針對這部分上機考試進(jìn)行詳細(xì)解說。
全國計算機三級上機考試中,只有一道考題(“信息管理技術(shù)”、“網(wǎng)絡(luò)技術(shù)”、“數(shù)據(jù)庫技術(shù)”三科均采用此種方式),考題要求考生把一道C語言程序考題,通過考生自己編寫的函數(shù)補充完整,共同完成考題的一項或多項任務(wù),此題滿分為100分,占上機考試總分值的100%,考試時間為60分鐘,考生成績分優(yōu)秀、良好、及格和不及格,如果考題要求只完成一項任務(wù),答案正確為優(yōu)秀,錯誤為不及格;若考題要求完成多項任務(wù),則根據(jù)程序?qū)崿F(xiàn)正確率的多少,按比例給出考生成績。
第一部:備考篇
“名將不打無準(zhǔn)備之仗”,復(fù)習(xí)備考的好壞,是能否順利通過上機考試的關(guān)鍵。對上機考試的學(xué)習(xí)、備考過程,實際上是一個由生疏到精通的漸進(jìn)過程。隨著考試系統(tǒng)的完善,那種借投機取巧、懷著僥幸心理應(yīng)對考試的做法是行不通的,考生必須認(rèn)識到只有做好了考前復(fù)習(xí),才能確保自己的上機考試順利通過。
下面對復(fù)習(xí)備考中的一些技巧和注意事項做個簡單陳述,這些是在復(fù)習(xí)備考中就應(yīng)該養(yǎng)成的好習(xí)慣。
首先,應(yīng)先打下扎實的C語言基礎(chǔ),對C語言的一些基本結(jié)構(gòu)和用法必須有清晰的了解,本文以譚浩強的《C程序設(shè)計》為例,說明各章節(jié)在備考機試時應(yīng)注意的內(nèi)容。
1、數(shù)據(jù)類型和各種運算符:這里應(yīng)該注意變量的使用語法。C語言規(guī)定,各種變量在使用前要先定義,但有部分考生受VB或其它語言的影響,在使用前不對變量定義,從而產(chǎn)生錯誤,不能通過編譯環(huán)節(jié)。還有些考生在定義后,往往對變量不進(jìn)行初始化,就拿到程序中應(yīng)用,由于這種作法,并沒有語法上的錯誤,所以C語言的編輯器查不出錯誤,但是這可能會導(dǎo)致結(jié)果與題目要求相差很大,且在考生排除錯誤時,不容易找出錯誤的所在。
筆者建議考生,在定義過變量后,應(yīng)對所有變量進(jìn)行初始化,以養(yǎng)成好的編程風(fēng)格,最好定義變量后,在附近代碼行中進(jìn)行初始化。
運算符中要注意賦值運算符“=”和關(guān)系運算符“==”的區(qū)別,根據(jù)人們常有的思維定勢,常把數(shù)學(xué)運算符中的“=”,當(dāng)做C語言中的關(guān)系運算符“==”,例如在一個程序段中,有如下判斷語句:
if (表達(dá)式1==表達(dá)式2)
語句1
……
如果把條件中的“==”誤寫成“=”,就變成了把表達(dá)式2的值賦給表達(dá)式1,只要表達(dá)式2的值不為零,則條件恒成立,這當(dāng)然與編寫者的意思不符了。
2、C語言的三種常用結(jié)構(gòu):順序、選擇、循環(huán),順序結(jié)構(gòu)沒什么難點,這里只談?wù)撨x擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
常用的選擇語句是if( )語句和switch( )語句,當(dāng)if( )語句后有多個else時,應(yīng)當(dāng)注意else總是與它上面、離它最近的一個if相配對,這點在讀、寫程序時都應(yīng)注意。switch( )語句常與case、break等關(guān)鍵字結(jié)合使用,應(yīng)該注意switch(表達(dá)式)中的“表達(dá)式”,必須有一個定值,即可以是常量、常量表達(dá)式、字符常量等,而不能是一個“變動著的值或表達(dá)式”;在執(zhí)行相應(yīng)的case分支時,如果分支語句后沒有出現(xiàn)“break”,則即便case “表達(dá)式”中“表達(dá)式”的值,與switch(表達(dá)式)中“表達(dá)式”的值相等,程序也不會跳出分支,仍然會繼續(xù)逐條的執(zhí)行。如下段程序輸出a的值:
switch(3)
{
case 1 : a=1;
case 3 : a=3;
case 5 : a=5;
}
程序執(zhí)行后,變量a的值是5,而不是3。
循環(huán)應(yīng)該注意循環(huán)條件的設(shè)定,一定要度絕死循環(huán),在一些占用內(nèi)存的操作中,如果出現(xiàn)死循環(huán),則很容易導(dǎo)致死機,在機試考試中出現(xiàn)死機現(xiàn)象,很可能會導(dǎo)致考試的失敗。
3、數(shù)組:對于數(shù)組,上機考試中沒有單獨考過,但每年的考題中都少不了數(shù)組的應(yīng)用,象一些從文件中讀取英文文章,根據(jù)行列關(guān)系存入二維數(shù)組中;讀整數(shù)存入一維或二維數(shù)組中等。對于這類問題,常常需要應(yīng)試者借助一些中轉(zhuǎn)數(shù)組來完成,考生使用自己定義的數(shù)組時,應(yīng)該特別注意一點,數(shù)組在定義后一定要初始化,特別對于字符數(shù)組,象上面提到的讀英文字符串到數(shù)組中,如果考生自己定義的數(shù)組沒有初始化,當(dāng)定義數(shù)組的列數(shù)大于字符串的長度時,后面一部分沒有初賦值的數(shù)組元素將產(chǎn)生亂碼或特殊字符,考生可以用memset(string, 0, count)函數(shù)來初始化數(shù)組,也可用循環(huán)語句來初始化數(shù)組。
4、函數(shù):三級機試的內(nèi)容就是編寫一個函數(shù),這章的重要性就不用多說了吧,重點很多,教材上講的很詳細(xì),本文只提醒大家一點,考生在解題前應(yīng)看懂各函數(shù)間的互調(diào)關(guān)系,注意形參和實參的數(shù)據(jù)類型,確保形參和實參的數(shù)據(jù)類型一致。
5、指針:指針是C語言的精華,也是機試考查的重點內(nèi)容,這里應(yīng)該注意,指針的類型必須與所指元素的類型相同,另外一定要度絕“野指針”的使用,所謂野指針是指指針定義后,在使用之前沒有初始化。指針的初始化比變量和數(shù)組的初始化更重要,沒有初值的指針是很危險的,除了一定得不到正確答案外,當(dāng)指針越界后,很容易引起死機,如果說死循環(huán)帶來的死機是“假死”,大部分可以用“Ctrl+C”來恢復(fù),但指針越界引起的死機卻是“真死”,很難進(jìn)行恢復(fù),這點請考生一定牢記。
6、結(jié)構(gòu)體:結(jié)構(gòu)體也是每年必考的內(nèi)容,題型大多以“產(chǎn)品問題”、“學(xué)生問題”的型式來體現(xiàn)。網(wǎng)友在復(fù)習(xí)結(jié)構(gòu)體一部分內(nèi)容時,要主意結(jié)構(gòu)體名稱和結(jié)構(gòu)體變量之間的區(qū)別,當(dāng)涉及到結(jié)構(gòu)體數(shù)組時,應(yīng)該熟悉結(jié)構(gòu)體元素的調(diào)用方法,結(jié)構(gòu)體變量間的賦值、比較方式等。只要將譚浩強《C語言程序設(shè)計》教材中本章節(jié)的練習(xí)作一遍,即可順利通過此類試題的考試。
7、位運算和文件的讀寫操作:這部分內(nèi)容知識面較少,考生只需要了解位的幾種特殊運算,文件操作一章中的讀文件函數(shù)、寫文件函數(shù)、打開文件函數(shù)、關(guān)閉文件函數(shù)等幾個主要函數(shù)。
第二部:練習(xí)篇
考生完成按章節(jié)復(fù)習(xí)后,應(yīng)抽出一個月或半個月時間,進(jìn)行各種模擬練習(xí),熟悉考試中的相關(guān)軟件的使用方法和技藝,只有這樣,才能在考試中不會因為各種軟件的佰生而失分。這部分內(nèi)容包括常用DOS命令的使用、UCDOS漢字平臺的使用、TC編輯環(huán)境的使用。
1、常用DOS命令的使用:三級上機考試,對DOS命令不進(jìn)行考核,但筆者認(rèn)為,考生若想順利通過考試,必須熟知一些常用的DOS命令,例如CD、RD、EDIT等。其中EDIT尤其有用,考生在解題后,大多考題會生成一個輸出文件,存放程序執(zhí)行后的結(jié)果,可以用EDIT命令打開此文件,判斷程序執(zhí)行的結(jié)果是否正確。
2、UCDOS漢字平臺的使用:UCDOS曾是DOS環(huán)境下風(fēng)靡一時的中文操作平臺,后來由于WINDOWS的崛起而逐漸退出,故而現(xiàn)在的很多考生,對UCDOS十分佰生,UCDOS本身的功能很多,但在三級考試環(huán)境中,只起到一個中文顯示作用,考生只需會使用以下命令進(jìn)入UCDOS即可。
C: \ > UCDOS (回車)
或:C: \ > UP (回車)
進(jìn)入UCDOS后,考生可以根據(jù)需要,調(diào)出自己熟悉的漢字輸入法,時行漢字輸入,并可在中、英文間隨意切換。下面是UCDOS的一些常用組合鍵。
ALT+F5 五筆輸入法
ALT+F6 英文輸入法
ALT+F1 區(qū)位碼輸入法
ALT+F2 全拼輸入法
ALT+F3 雙拼輸入法
CTRL+F9 全角半角互換
對于UCDOS中文平臺,考生只需了解以上幾點就可以了。
注:對于有些考場中的計算機,在UCDOS下運行TC2.0時,UCDOS的快捷鍵分屏蔽掉TC中同名的快捷鍵,請考生注意區(qū)分使用。
3、TC2.0的使用:TC2.0是計算機等級考試C語言上機的指定軟件,在各種書上都有大量的介紹,這里不再多說,考生只需注意一點,在每次修改程序后,均要先保存、后執(zhí)行。
熟悉上面三種軟件后,考生只需再購買一種上機模擬軟件,對相關(guān)內(nèi)容進(jìn)行模擬練習(xí),至于購買那種模擬軟件更好,在下認(rèn)為模擬軟件發(fā)展到現(xiàn)在,功能上已區(qū)別不大,只看考生自己的愛好了。
第三部:應(yīng)試篇
在應(yīng)試中,我想最注意的還是考生的心態(tài)問題,凡是參加等級考試的考生,均經(jīng)過無數(shù)次的考試,但因它的特殊性,試考生對這種考試方式有一種神秘感和佰生感,容易引起一定的恐慌,其實這是沒有必要的,只要考生按文中所提,踏踏實實的做好了以上兩部,第三部就是瓜熟蒂落,水到渠成的事了。
但機試中并非無技巧可言,筆者總結(jié)一下,可用“一看、二寫、三檢查”來形容。
“一看”是指考生在抽取考題后,不要先及著寫相應(yīng)函數(shù),應(yīng)將整個程序從頭到尾通讀一遍,清楚各函數(shù)間的互調(diào)關(guān)系,程序中的那些變量是全局變量,可以直接使用,那些是局部變量,只能在本函數(shù)內(nèi)部使用。
“二寫”指考生了解程序大至結(jié)構(gòu)后,根據(jù)題意,可先在草紙上畫出程序的流程圖,設(shè)計實現(xiàn)題意的算法,這些工作完成后,代碼的實現(xiàn)就是很簡單的事了。
“三檢查”指考生按題意完成程序,執(zhí)行無誤后,在結(jié)束考試前,應(yīng)先用上文中所述的EDIT命令打開輸出文件,查看結(jié)果是否與題意一致,只有這樣,才能確保考試的順利過關(guān)。