初學(xué)者如何學(xué)習(xí)c語言
很多人對學(xué)習(xí)C語言感到無從下手,究竟怎樣學(xué)習(xí)C語言?下面學(xué)習(xí)啦小編收集了一些關(guān)于初學(xué)者學(xué)習(xí)c語言的方法,希望對你有幫助
初學(xué)者學(xué)習(xí)c語言的方法
第一、工欲善其事,必先利其器這里介紹幾個學(xué)習(xí)C語言必備的東東:一個開發(fā)環(huán)境,例如turbo C 2.0,這個曾經(jīng)占據(jù)了DOS時代開發(fā)程序的大半個江山。但是現(xiàn)在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,并且拖放,更沒有函數(shù)變量自動感應(yīng)功能,查詢參考資料也不方便。建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
第二、學(xué)習(xí)計算機(jī)語言最好的方法是什么?答曰:讀程序。
沒錯,讀程序是學(xué)習(xí)C語言入門最快,也是最好的方法。如同我,現(xiàn)在學(xué)習(xí)新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學(xué)習(xí)它們的例程。當(dāng)然,對于沒有學(xué)過任何計算機(jī)語言的初學(xué)者,最好還是先閱讀教程,學(xué)習(xí)完每一章,都要認(rèn)真體會這一章的所有概念,然后不放過這一章中提到的所有例程,然后仔細(xì)研讀程序,直到每一行都理解了,然后找?guī)讉€編程題目,最好是和例程類似的或一樣的,自己試圖寫出這段已經(jīng)讀懂的程序,不要以為例程你已經(jīng)讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續(xù)研究例程,想想自己為什么寫不出來,然后再去寫這段程序,反反復(fù)復(fù),直到你手到擒來為止,祝賀你,你快入門了。
第三、寫程序的最高境界其實(shí)就是掌握各種解決問題的手段(數(shù)據(jù)結(jié)構(gòu))和解決問題的方法(算法)。
是不是寫出底層程序就是程序設(shè)計高手呢?非也,寫底層程序,無非是掌握了硬件的結(jié)構(gòu),況且硬件和硬件還不一樣,要給一個芯片寫驅(qū)動程序,無非就是掌握這塊芯片的各種寄存器及其組合,然后寫值讀值,僅此而已。
給C語言初學(xué)者的建議
(1)準(zhǔn)備”寫”程序,首先要閱讀實(shí)例,了解這些實(shí)例中的整體運(yùn)行框架,即從哪開始執(zhí)行,從哪結(jié)束,什么時候輸入,什么時候輸出,什么時候調(diào)用了函數(shù)等等。再了解實(shí)例里面具體內(nèi)容,每一個單詞,每一個語法結(jié)構(gòu)在做什么。C語言是要通過”翻譯”告知計算機(jī)執(zhí)行的,所以里面的每一項甚至是標(biāo)點(diǎn)都有具體含義。然后可以”寫”,這里的”寫”指在閱讀的基礎(chǔ)上修改程序。問題又來了,那改哪里? 建議試著按照如下思路修改:一種程序結(jié)構(gòu)不同的描述方式,比如說這個題目中的循環(huán)結(jié)構(gòu)處理技巧是否可以換一種方式去寫;完成單一功能的程序段是否可以用函數(shù)來實(shí)現(xiàn);改變輸入輸出的格式;是否能換一種方法來實(shí)現(xiàn)等。
(2)通過了上述階段的訓(xùn)練,然后可以真正的寫程序了。寫的時候自然要注意思路,掌握程序整體流程。這里給出一個建議,第一步,分析問題,看看需要幾個變量,做變量定義,考慮用什么數(shù)據(jù)類型或者數(shù)據(jù)結(jié)構(gòu)(深入學(xué)習(xí)以后再關(guān)注)。第二步,變量初始化,分析程序的初始狀態(tài),關(guān)注數(shù)據(jù)的來源,是否需要從鍵盤輸入。第三步,采用什么樣的程序執(zhí)行結(jié)構(gòu),或者算法(深入學(xué)習(xí)以后再關(guān)注)來處理這些變量,即要解決問題。
(3)加強(qiáng)訓(xùn)練,問題驅(qū)動。就是找一些C語言編程的題目,試著去解決問題,在解決問題的過程中,會遇到更多的問題,這時再去翻閱教材或者參考書,解決細(xì)節(jié)上的問題,記憶也會很深刻。
(4)最后來談指針問題,指針是C語言的精華,那為什么是精華呢? 它可以指向一切具有地址的而且你已熟練掌握的比如變量,數(shù)組,函數(shù),結(jié)構(gòu)體等等,利用指針有時可以把程序簡化,有時可以節(jié)省大量空間等等,好處很多。但對指針的掌握,筆者也建議要系統(tǒng)化的了解程序每一部分(變量,數(shù)組,函數(shù)及參數(shù),結(jié)構(gòu)體等) 在內(nèi)存中的存儲大小和位置(棧區(qū),堆區(qū),靜態(tài)存儲區(qū),代碼段) ,以及使用情況(占用和釋放) ,這樣才能更好的理解和應(yīng)用指針,不然遇到較為復(fù)雜的指針題目依舊會望而卻步。
C語言初學(xué)者必讀的十句話
一、一定要養(yǎng)成一個規(guī)范標(biāo)準(zhǔn)的代碼排版格式,好的排版會讓幫助你的人事半功倍。
二、一定要培養(yǎng)自己查找錯誤的能力,要記住別人只幫你一時。
三、一定要養(yǎng)成寫注釋的習(xí)慣,特別是你的代碼要給別人看時。
四、遇到問題,一定不要立刻問別人,其實(shí)很多問題都是自己不小心所致,回頭看看書你可能會明白原來這也很簡單。
五、多看看頭文件中的內(nèi)容,它能告訴你標(biāo)準(zhǔn)地調(diào)用庫函數(shù)的方法。
六、書上的程序其實(shí)都是比較經(jīng)典的,何不在上機(jī)運(yùn)行一下這些程序,看看你對程序的理解力是怎么樣的。
七、優(yōu)秀的程序員不只對書本上的知識了解很透澈,而且對更深層次的知識有著強(qiáng)烈地吸引力。
八、一定要跟上世界的腳步,閉門造車會導(dǎo)致你失敗的很重要的原因。
九、一定要認(rèn)定一個方向,不要什么語言都想學(xué),沒必要,你也沒有這個精力。
十、一定要培養(yǎng)好自己的閱讀代碼的能力,必竟現(xiàn)在軟件項目不是一個人能完成的。
猜你感興趣: