C語(yǔ)言是目前最常用的軟件開(kāi)發(fā)語(yǔ)言之一,其功能強(qiáng)大,具有悠久的歷史,從C、C++發(fā)展到現(xiàn)在的C#,不斷地得以更新繁衍。在全國(guó)計(jì)算機(jī)等級(jí)考試中有,五個(gè)類別使用C語(yǔ)言作為上機(jī)考試內(nèi)容,為各編程語(yǔ)言中應(yīng)用最多的。
理論先行
雖是上機(jī)考試,仍需以理論知識(shí)為基礎(chǔ),所以必須將C語(yǔ)言教材從頭到尾學(xué)習(xí)一遍(應(yīng)選擇權(quán)威教材),對(duì)C語(yǔ)言的基本概況做到心中有數(shù)。
學(xué)完教材后,選取一些有代表性的編程范例,將其語(yǔ)句逐條理解透徹。同時(shí)還須注意一點(diǎn),看的懂未必等于自己就會(huì)編寫,應(yīng)當(dāng)自己嘗試默寫,從而找出知識(shí)薄弱點(diǎn)、思維盲點(diǎn)。
要養(yǎng)成一些良好習(xí)慣,比如,代碼書寫格式使用規(guī)范的鋸齒形,盡量使用完整表達(dá)。如果采用簡(jiǎn)化方式,雖然不一定影響運(yùn)算結(jié)果,但有的考試評(píng)分標(biāo)準(zhǔn)是按答題要點(diǎn)給分,所以還是不省為妙。
以下是學(xué)習(xí)C語(yǔ)言過(guò)程中容易出現(xiàn)的問(wèn)題:
1.函數(shù)、變量使用前未定義。
2.混淆“=”和“= =”。
3.語(yǔ)句后或預(yù)定義的函數(shù)名后漏掉分號(hào)。
4.將else拼寫成esle、continue拼寫成contiune。
5.括號(hào)搭配錯(cuò)誤。
6.首地址理解為1。
7. p++與++p區(qū)別不清。
8. break、continue運(yùn)用不當(dāng)。
9.誤將單引號(hào)用于字符串常量,將雙引號(hào)用于字符常量。
10. else分句中嵌套條件語(yǔ)句時(shí),漏掉了“if”。
上機(jī)實(shí)踐
雖然考點(diǎn)、培訓(xùn)點(diǎn)一般都提供模擬上機(jī),但畢竟時(shí)間、地點(diǎn)受到限制,不能保證充分的練習(xí)時(shí)間,因此很多考生都希望能在自家電腦上進(jìn)行操作實(shí)踐,下面具體談?wù)勅绾螌?shí)現(xiàn)在個(gè)人電腦上進(jìn)行練習(xí)的方法。
一、簡(jiǎn)易環(huán)境練習(xí)
系統(tǒng)要求:Windows系統(tǒng)
需用軟件:Turbo C 2.0
TC軟件雖然不是標(biāo)準(zhǔn)的Windows程序,但在Windows環(huán)境下依然可以使用。為使軟件處于理想運(yùn)行狀態(tài),運(yùn)行tc.exe后需要做一些設(shè)置:
1.按“漢”按鈕,否則會(huì)出現(xiàn)部分亂碼。
2.點(diǎn)擊屬性按鈕,在程序選項(xiàng)卡的“工作目錄”欄中根據(jù)上一命令行填入程序所在目錄,“運(yùn)行”欄選擇最大化,選擇“退出時(shí)關(guān)閉”。
設(shè)置好后即可依照練習(xí)冊(cè)輸入習(xí)題,進(jìn)行編譯調(diào)試。編程中用到的處理數(shù)據(jù)一般需自建。為了提高效率,可從網(wǎng)上下載習(xí)題。這里應(yīng)留意一些下載習(xí)題中的問(wèn)題,比如遺漏字符、錄入錯(cuò)誤等,還有一些不易發(fā)現(xiàn)的情況,像雙引號(hào)的字體不標(biāo)準(zhǔn)、文件擴(kuò)展名前的句號(hào)成了逗號(hào)、甚至一些看似無(wú)內(nèi)容的空行中包含著某些ASCII碼,都會(huì)影響編程結(jié)果。
二、全真環(huán)境練習(xí)
系統(tǒng)要求:DOS系統(tǒng)
需用軟件:Turbo C 2.0、UCDOS、上機(jī)模擬軟件
經(jīng)過(guò)基礎(chǔ)階段學(xué)習(xí)后,再來(lái)進(jìn)行針對(duì)等級(jí)考試的練習(xí),這就需要用到模擬軟件了。市面上模擬軟件很容易買到,其操作界面與正式考試完全一樣,還往往匯集了豐富的題庫(kù)和答案、源程序、輸入數(shù)據(jù),并可進(jìn)行自我評(píng)分。有的還提供筆試題知識(shí)點(diǎn)查詢,介紹考試技巧等。
使用模擬軟件前,應(yīng)先安裝UCDOS(這與真實(shí)考試要求一樣,須選5.0以上版本,而且最好采用正式版,否則可能影響軟件使用)。通常情況下在Windows環(huán)境下是無(wú)法使用模擬軟件的,經(jīng)過(guò)一些專業(yè)設(shè)置后雖可實(shí)現(xiàn),但僅限于Windows 9X操作系統(tǒng),而且設(shè)置不當(dāng)易使系統(tǒng)崩潰,所以筆者建議還是在純DOS環(huán)境下使用為妥。
實(shí)戰(zhàn)心得
筆者參加的今年上半年考試題目大意如下:要求將一篇英文文章中每個(gè)字符的ASCII值按公式f(p)=p 17%256計(jì)算,如f(p)的ASCII值小于32或?yàn)槠鏀?shù),則原字符不變,否則予以替代。這道題目需要編寫的程序代碼沒(méi)幾行,我寫好后調(diào)試運(yùn)行,一切正常,復(fù)查幾遍也看不出有哪兒不妥。正打算離開(kāi)考場(chǎng)時(shí),忽然覺(jué)得運(yùn)算結(jié)果值得懷疑,根據(jù)題意,經(jīng)過(guò)ASCII值計(jì)算后的結(jié)果不大可能仍都是常規(guī)字符,因此回過(guò)頭來(lái)再逐字審查題目,反復(fù)對(duì)照編好的程序,焦點(diǎn)集中在了存放f(p)值的變量定義上,難道應(yīng)將“char”改為“unsigned char”?一試,結(jié)果果然不同。
事后查知,char變量值的范圍為-128至+127,unsigned char變量值的范圍為0至255。比如字符“x”的ASCII值為120,按上述公式運(yùn)算后值為248,字符應(yīng)予以替代;如果存放f(p)值的變量定義為char型,值則轉(zhuǎn)換為-8,字符因而不被替代,難怪剛才運(yùn)算結(jié)果顯出全篇常規(guī)字符了。所以說(shuō),仔細(xì)嚴(yán)謹(jǐn)?shù)膽?yīng)考作風(fēng)能彌補(bǔ)一些技術(shù)上的不足,有助于臨場(chǎng)發(fā)揮。
友情提示
1.由于使用UCDOS,當(dāng)屏幕下方顯示其狀態(tài)條時(shí),Turbo C中的快捷鍵Alt+F9(調(diào)試編譯)、Alt+F5(查看運(yùn)行結(jié)果)等提示會(huì)被屏蔽掉,解決的辦法為按一下右Shift鍵,隱藏UCDOS狀態(tài)條后即可正常使用。值得一提的是,Alt+F9雖然是Turbo C菜單中的Run/Run命令的快捷鍵,但兩者不完全相同:菜單命令包括自動(dòng)編譯、連接和運(yùn)行程序;而快捷鍵方式卻不包括運(yùn)行程序,自然也就無(wú)運(yùn)算結(jié)果,所以即使程序代碼編寫正確,考試成績(jī)?nèi)杂锌赡転榱惴帧?/P>
2.雖然一些模擬軟件的習(xí)題也是從國(guó)家考試中心發(fā)行的《全國(guó)計(jì)算機(jī)等級(jí)考試上機(jī)考試習(xí)題集》中選取,但正式考試時(shí)如遇到練習(xí)過(guò)的題目,仍應(yīng)看仔細(xì),其中可能會(huì)有“小于”與“大于”之類的一字之別。