考全國計算機(jī)等級考試三級如何學(xué)C語言

字號:

考全國計算機(jī)等級考試三級如何學(xué)C語言
    很想寫一遍關(guān)于三級C上機(jī)方面的學(xué)習(xí)文章,苦于水平有限,加上一直沒有時間和精力,停了下來。今天正好沒事,看了相關(guān)資料,著手寫了下,希望能對沒學(xué)過C語言而又想考三級的朋友有所幫助。
    很多沒接觸過C語言的朋友,考三級最感到就是怕C語言學(xué)不來.其實(shí),按照我們現(xiàn)在的三級C上機(jī)的考試要求,(只是一道編程題,還不是完整的編程,只要填上一段函數(shù)就行了),只要掌握一些C編程的基本知識,看好南開100題的各種題型的解法,加上多上機(jī)獨(dú)立練習(xí)就完全能夠過級的。眾所周知,近幾年的三級C上機(jī)的題庫就是南開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語言時,可能會遇到有些問題理解不透,或者表達(dá)方式與以往數(shù)學(xué)學(xué)習(xí)中不同(如運(yùn)算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進(jìn)行學(xué)習(xí),待學(xué)完后面的章節(jié)知識,前面的問題也就迎刃而解了.
    一、學(xué)好C語言的語法
    無它,看書并記憶,加上機(jī)練習(xí)。有很多考三級的朋友都學(xué)過其它程序語言,如VB,很容易受它們習(xí)慣的影響,在寫程序上經(jīng)常忘記C語言中的分號、小括號、大括號的運(yùn)用,導(dǎo)致很多人看著答案編程老是出錯,檢查半天不知哪里錯了,大呼小叫“我按照答案輸進(jìn)去的,為什么提示錯誤,對了N遍,不知哪里錯了”,所以一開始就要養(yǎng)成良好的習(xí)慣和細(xì)心。特別注意的是為什么說上機(jī)練習(xí)很重要,原因就是在紙上寫的,語法錯了不知道,而上機(jī)錯了就顯示了。
    二、學(xué)好C語言的運(yùn)算符和運(yùn)算順序
    這是學(xué)好《C程序設(shè)計》的基礎(chǔ),C語言的運(yùn)算非常靈活,功能十分豐富,運(yùn)算種類遠(yuǎn)多于其它程序設(shè)計語言。在表達(dá)式方面較其它程序語言更為簡潔,如自加、自減、逗號運(yùn)算和三目運(yùn)算使表達(dá)式更為簡單,但初學(xué)者往往會覺的這種表達(dá)式難讀,關(guān)鍵原因就是對運(yùn)算符和運(yùn)算順序理解不透不全。當(dāng)多種不同運(yùn)算組成一個運(yùn)算表達(dá)式,即一個運(yùn)算式中出現(xiàn)多種運(yùn)算符時,運(yùn)算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。在學(xué)習(xí)中,只要我們對此合理進(jìn)行分類,找出它們與我們在數(shù)學(xué)中所學(xué)到運(yùn)算之間的不同點(diǎn)之后,記住這些運(yùn)算也就不困難了,有些運(yùn)算符在理解后更會牢記心中,將來用起來得心應(yīng)手,而有些可暫時放棄不記,等用到時再記不遲。
    先要明確運(yùn)算符按優(yōu)先級不同分類,《C程序設(shè)計》運(yùn)算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結(jié)合外,其它都是從左至右結(jié)合,它決定同級運(yùn)算符的運(yùn)算順序。下面我們通過幾個例子來說明:
    (1) 5*8/4%10 這個表達(dá)式中出現(xiàn)3種運(yùn)算符,是同級運(yùn)算符,運(yùn)算順序按從左至右結(jié)合,因此先計算5 *8=40,然后被4除,結(jié)果為10,最后是%(求余數(shù))運(yùn)算,所以表達(dá)式的最終結(jié)果為10%10 = 0;
    (2)a = 3;b = 5;c =++ a* b ;d =a + +* b;
    對于c=++a*b來說,按表中所列順序,+ +先執(zhí)行,*后執(zhí)行,所以+ + a執(zhí)行后,a的值為4,由于+ +為前置運(yùn)算,所以a的值4參與運(yùn)算,C的值計算式為4*5=20而不是3*5=15了;而對于d=a++*b來說,由于a + +為后置運(yùn)算,所以a值為4參與運(yùn)算,使得d的值仍為20,而a參與運(yùn)算后其值加1,值為5。 這個例子執(zhí)行后,a的值為5,b的值為5,c的值為20,d的值也是20;
    (3)(a = 3,b = 5,b+ = a,c = b* 5)
    例子中的“,”是逗號結(jié)合運(yùn)算,上式稱為逗號表達(dá)式,自左向右結(jié)合,最后一個表達(dá)式的結(jié)果值就是逗號表達(dá)式的結(jié)果,所以上面的逗號表達(dá)式結(jié)果為40,a的值為3,b的值為8,c的值為40。