很多沒接觸過C語言的朋友,考三級最感到就是怕C語言學(xué)不來.其實,按照我們現(xiàn)在的三級C上機的考試要求,(只是一道編程題,還不是完整的編程,只要填上一段函數(shù)就行了),只要掌握一些C編程的基本知識,看好南開100題的各種題型的解法,加上多上機獨立練習(xí)就完全能夠過級的。眾所周知,近幾年的三級C上機的題庫就是南開100題,考試時是從中抽一道編程題,只是少數(shù)考題條件略改下,比如原題中是“從大到小”排序,考題也許改成“從小到大”排序,我想這對于理解了解題方法的人,應(yīng)該不存在問題的。
言歸正傳,我們?nèi)绾尉腿壙荚噥韺W(xué)《C程序設(shè)計》呢?
《C程序設(shè)計》的內(nèi)容很豐富,按照我們現(xiàn)在的考試要求,也就是南開100題解法中主要涉及到的是基礎(chǔ)知識、四種結(jié)構(gòu)的的程序設(shè)計、函數(shù)與數(shù)組的應(yīng)用和算法,在學(xué)習(xí)時,應(yīng)該把主要精力放在這些部分,當(dāng)然其它的知識,如輸入輸出的語句、文件的讀寫、指針的定義等,盡管原程序都給了你,但最起碼也要能看懂,所以還是不能放棄學(xué)的,了解為好。當(dāng)然,在初學(xué)C語言時,可能會遇到有些問題理解不透,或者表達方式與以往數(shù)學(xué)學(xué)習(xí)中不同(如運算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進行學(xué)習(xí),待學(xué)完后面的章節(jié)知識,前面的問題也就迎刃而解了.
一、學(xué)好C語言的語法
無它,看書并記憶,加上機練習(xí)。有很多考三級的朋友都學(xué)過其它程序語言,如VB,很容易受它們習(xí)慣的影響,在寫程序上經(jīng)常忘記C語言中的分號、小括號、大括號的運用,導(dǎo)致很多人看著答案編程老是出錯,檢查半天不知哪里錯了,大呼小叫“我按照答案輸進去的,為什么提示錯誤,對了N遍,不知哪里錯了”,所以一開始就要養(yǎng)成良好的習(xí)慣和細心。特別注意的是為什么說上機練習(xí)很重要,原因就是在紙上寫的,語法錯了不知道,而上機錯了就顯示了。
二、學(xué)好C語言的運算符和運算順序
這是學(xué)好《C程序設(shè)計》的基礎(chǔ),C語言的運算非常靈活,功能十分豐富,運算種類遠多于其它程序設(shè)計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學(xué)者往往會覺的這種表達式難讀,關(guān)鍵原因就是對運算符和運算順序理解不透不全。當(dāng)多種不同運算組成一個運算表達式,即一個運算式中出現(xiàn)多種運算符時,運算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。在學(xué)習(xí)中,只要我們對此合理進行分類,找出它們與我們在數(shù)學(xué)中所學(xué)到運算之間的不同點之后,記住這些運算也就不困難了,有些運算符在理解后更會牢記心中,將來用起來得心應(yīng)手,而有些可暫時放棄不記,等用到時再記不遲。
先要明確運算符按優(yōu)先級不同分類,《C程序設(shè)計》運算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結(jié)合外,其它都是從左至右結(jié)合,它決定同級運算符的運算順序。下面我們通過幾個例子來說明:
(1) 5*8/4%10 這個表達式中出現(xiàn)3種運算符,是同級運算符,運算順序按從左至右結(jié)合,因此先計算5 *8=40,然后被4除,結(jié)果為10,最后是%(求余數(shù))運算,所以表達式的最終結(jié)果為10%10 = 0;
(2)a = 3;b = 5;c =++ a* b ;d =a + +* b;
對于c=++a*b來說,按表中所列順序,+ +先執(zhí)行,*后執(zhí)行,所以+ + a執(zhí)行后,a的值為4,由于+ +為前置運算,所以a的值4參與運算,C的值計算式為4*5=20而不是3*5=15了;而對于d=a++*b來說,由于a + +為后置運算,所以a值為4參與運算,使得d的值仍為20,而a參與運算后其值加1,值為5。 這個例子執(zhí)行后,a的值為5,b的值為5,c的值為20,d的值也是20;
(3)(a = 3,b = 5,b+ = a,c = b* 5)
例子中的“,”是逗號結(jié)合運算,上式稱為逗號表達式,自左向右結(jié)合,最后一個表達式的結(jié)果值就是逗號表達式的結(jié)果,所以上面的逗號表達式結(jié)果為40,a的值為3,b的值為8,c的值為40。
三、學(xué)好數(shù)據(jù)類型定義
類型定義在所有編程中基本都要用到,用些題類型定義錯了,解題結(jié)果就錯了,大家一定要看好書上關(guān)于整型、長整型、字符型、無符號型、實數(shù)型的定義的區(qū)別和運用以及它們的范圍,這些在南開100題中都是考點,考試時很多考生就是因為類型定義錯了,而沒通過。
如:南開第8題:要求對一篇文章的每個字符按替代關(guān)系:f(p)=p*11 mod 256(p是數(shù)組中某一個字符的ASCII值,f(p)是計算后新字符的ASCII值),如果計算后f(p)值小于等于32或大于130,則該字符不變,否則將f(p)所對應(yīng)的字符進行替代。部分源程序存在文件prog1.c中。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符。
請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
希望與更多計算機等級考試的網(wǎng)友交流,請進入計算機等級考試論壇
更多信息請訪問:考試吧計算機等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |