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