大家好,今天小編關(guān)注到一個比較有意思的話題,就是關(guān)于學(xué)習(xí)c語言學(xué)習(xí)方法的問題,于是小編就整理了3個相關(guān)介紹學(xué)習(xí)c語言學(xué)習(xí)方法的解答,讓我們一起看看吧。
學(xué)習(xí)C語言的,應(yīng)該往哪個方向發(fā)展?
基本上什么都不可以,我不是在打擊你,只知道程序設(shè)計語言還遠遠不夠,想往哪個方向發(fā)展就看你個人的興趣和愛好了,要想了解計算機更深,就要學(xué)匯編語言,計算機組成原理,操作系統(tǒng)等,我個人比較偏向于學(xué)操作系統(tǒng),所以我很想推薦你學(xué)學(xué)操作系統(tǒng)吧,最后學(xué)學(xué)linux吧。
它的應(yīng)用范圍廣泛,具備很強的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。具體應(yīng)用比如單片機以及嵌入式系統(tǒng)開發(fā)。
自學(xué)C語言一般要學(xué)多久呢?能學(xué)會嗎?
自學(xué)還是有點難度,剛開始的基礎(chǔ)部分,還是跟老師學(xué)習(xí)。
c語言編程,與計算機其他軟硬件還是有關(guān)系。另外還跟邏輯數(shù)學(xué)關(guān)系很大。
這些相關(guān)基礎(chǔ)知識和技能至少需要一年左右時間。在此基礎(chǔ)上學(xué)習(xí)C語言,也得需要一年左右時間。
應(yīng)該怎樣學(xué)習(xí)c語言?
我給你的一點兒建議:
1.換一本教材,不要用譚浩強的書,書里錯誤不少,而且會導(dǎo)致很惡劣的代碼風(fēng)格。
2.上來不必把字符在內(nèi)存中的存儲全部搞懂,可以慢慢來。
3.關(guān)鍵字沒有幾個,無非幾個英文縮寫。你也可以在以后的代碼中使用漢語拼音,不過是個代碼可讀性的問題。英語很簡單,真的很簡單。
4.實在沒興趣可以學(xué)點別的,例如Python。
我在高中的時候接觸編程,當(dāng)時是為了參加信息學(xué)競賽,我入門的語言是C語言。如果現(xiàn)在再讓我選擇一次,我可能會告訴初學(xué)者:可以選擇Python。C語言有些地方對新手不夠友好,語法繁瑣,++、指針這些會讓新手頭大。
我入門的教材選擇的是譚浩強的《C語言編程》,老先生是國內(nèi)的元老,然鵝這本書真是錯誤很多,我在學(xué)習(xí)這本書的過程中挑出了20幾個錯誤,直接導(dǎo)致我對C語言的好多特性模棱兩可,例如指針的指針。后來,我看到了英文原版的C語言教程之后,就很少再翻中文書了。所以,建議英文還可以的朋友直接去看原版,再不濟讀個翻譯版本也是可以的。
教材我推薦一本《C Primer Plus》,很好但是很厚,另一本書是Zed Shaw的《笨辦法學(xué)C語言》。
重點推薦Zed Shaw這一本,有實例并且?guī)в性敿毜闹v解,還有課后練習(xí),既具有啟發(fā)性又有實用性。這本書剛上來可能會讓新手覺得略困難,但是堅持讀下去,你會發(fā)現(xiàn)作者寫的正是一個準(zhǔn)程序員的學(xué)習(xí)之路。學(xué)好一門語言往往不止讀一本書,所以多讀幾本。
教材有了,如何進行學(xué)習(xí)?
把書上的例子全部在機器上敲一遍。
合上你的教科書,根據(jù)對程序的理解,把程序“默寫”出來,然后去實現(xiàn)你想象中的“酷炫效果”。
把你的練習(xí)題換一種思路表達出來。
到網(wǎng)上各大高校的OJ系統(tǒng)去做練習(xí)。
同時,各大平臺不乏講解C語言的課程,但我認為初學(xué)階段應(yīng)該以看書為主,看視頻為輔。另外補充一個網(wǎng)站http://www.runoob.com/,在這里你可以找到相關(guān)材料。同時,當(dāng)你在學(xué)習(xí)的過程中發(fā)現(xiàn)了問題,一定要善用搜索引擎,多去逛逛博客園、CSDN這些網(wǎng)站,這樣才能有進步。
本回答為作者(鵬鳥)原創(chuàng),歡迎轉(zhuǎn)發(fā)!
我是品機小屋的屋主“鵬鳥”,熱衷回答有關(guān)C語言領(lǐng)域和家庭視聽娛樂領(lǐng)域的問題。
C語言是一門編程語言。從C語言入門,到在某個領(lǐng)域使用它解決問題,這個過程需要付出很多的努力。而且,學(xué)習(xí)C語言,并不是語法學(xué)好就行OK,還要用它來解決實際的問題,需要學(xué)習(xí)很多的其他知識。
正好有很多小伙伴在問,學(xué)習(xí)C語言有沒有一個路線呢?在本回答我就來說說C語言的學(xué)習(xí)路線。當(dāng)然了這也只是我的看法,小伙伴們有不同的看法可以在評論區(qū)留言討論。
C語言學(xué)習(xí)路線圖如下圖所示:
下面我來一個一個地解釋每個階段,希望對你有所啟示。
一、C語言基礎(chǔ)
這個階段就是入C語言的門,學(xué)習(xí)C語言的歷史、發(fā)展過程以及C語言的語法。語法也就那些個東西,像基本數(shù)據(jù)類型、程序控制結(jié)構(gòu)、運算符、數(shù)組、指針、結(jié)構(gòu)體、鏈表、文件、函數(shù)等等。比較有困惑的可能是指針、鏈表等。
我認為這個階段的難點不在于學(xué)習(xí)這些語法知識點,而在于耐心。是的,你沒看錯,是你的耐心,這絕對是個難點。學(xué)習(xí)C語言的語法是一個非常冗長、枯燥、無味的過程;而且你還會受到周圍環(huán)境影響,你的基友們在玩游戲、打牌、泡妞兒,你會不受他們的影響?誰信!這個時候就看你有沒有較好的心理素質(zhì),看你能不能扛過來,在該學(xué)習(xí)的時候仍然能耐心地坐著學(xué)習(xí)。所以耐心這個東東,靠你自己了!
這個階段還需要了解C語言常用的標(biāo)準(zhǔn)函數(shù)庫。比如字符串函數(shù)庫的常用函數(shù),數(shù)學(xué)函數(shù)庫的常用函數(shù)等。這些函數(shù)庫會在代碼中經(jīng)常用到。
二、深入C語言
經(jīng)過第一階段的C語言基礎(chǔ)學(xué)習(xí),你可能只是獲取了表面上的認識,也許你還需要進一步提升自己,加深自己對C語言的認識。舉個例子吧,學(xué)到賦值運算符“=”時,你知道了這是個用來給變量賦值的運算符,在if語句中,你可能會這樣寫:
if ( 變量a == 1)....
但是有經(jīng)驗的程序員卻會這樣寫:
if ( 1 == 變量a)....
所以需要在進階的階段,多了解一些C語言更為本質(zhì)的東西。
這個階段你可以選擇性地看一些C語言提高的書籍,來幫你更為深入地認識與理解C語言,幫你糾正你在基礎(chǔ)階段的一些錯誤的認識。
三、平臺選擇
在C語言基礎(chǔ)階段和C語言深入階段,你僅僅是在學(xué)習(xí)C語言這個工具,無關(guān)乎在哪個操作平臺?,F(xiàn)在這個階段,你就需要決定你未來在哪個操作系統(tǒng)平臺上使用C語言編碼。
如今主流的兩個平臺一個是Windows,一個是Linux。就目前來看,商用的平臺以Linux居多,你工作之后很有可能是在Linux上做項目。而在學(xué)校里,可能在Windows上做項目的居多。
一旦你選擇了一個平臺,那么你就需要學(xué)習(xí)在這個平臺下的編碼知識。
如果你選擇的是Linux,那么你也許需要知道:
Linux現(xiàn)在有很多的免費的發(fā)行版,比如Ubuntu、openSUSE等,你可以下載你喜歡的,自己先上手玩玩。
Linux下的C語言編譯工具,gcc、make等。
Linux下的調(diào)試工具,比如gdb。還有一些內(nèi)存工具等。
代碼編輯工具。比如Vim,Emac等。你需要學(xué)習(xí)Vim的一些命令。
如果你對圖像化開發(fā)環(huán)境比較感興趣,你可以找一些免費的IDE,比如有Linux版本的Eclipse等。
Linux環(huán)境下如何組織多個源文件,并且編譯它們、運行它們。
如果你選擇了windows平臺,那么你需要了解常用的開發(fā)IDE等。目前比較流行的IDE是微軟的Visual Studio家族。至于Visual C++ 6.0,建議別用了,實在是太老了!
四、編碼
在上述三個階段中,每個階段都需要上機練習(xí)敲代碼。遵循由簡到難的原則,慢慢來,不要急,剛開始寫的代碼我覺得能運行出來就行。后面隨著時間的延長,慢慢地就要注意代碼的風(fēng)格、代碼的規(guī)范,還要開始學(xué)習(xí)一些數(shù)據(jù)結(jié)構(gòu)、算法的基礎(chǔ)知識了。
現(xiàn)在網(wǎng)上有很多的刷題網(wǎng)站,比如著名的OJ題庫就很不錯,經(jīng)常上去練練手,把自己目前學(xué)到的所有知識,包括C語言語法知識、C函數(shù)標(biāo)準(zhǔn)庫、調(diào)試方法、跟蹤方法、數(shù)據(jù)結(jié)構(gòu)、算法等都用上去,就這樣慢慢地去提高自己的水平。
五、領(lǐng)域選擇
如果說上述四個階段還屬于自娛自樂的話,那么從這個階段開始,你就要開始嚴肅一點了。
經(jīng)過之前的四個階段,也許你的編程技術(shù)有了很大的提高,基礎(chǔ)也打的很牢固了,但是不能解決生活、工作中的實際問題有個鳥用!所以,現(xiàn)在到了你為自己選擇一個研究領(lǐng)域的時候了,說不定也是你未來工作的研究領(lǐng)域。
C語言可應(yīng)用的領(lǐng)域很多,我想到的大概有如下幾方面:
計算機網(wǎng)絡(luò);
圖像處理;
音視頻處理;
嵌入式開發(fā);
DVB數(shù)字電視;
硬件驅(qū)動;
..........
你選擇了某個領(lǐng)域,你就要去學(xué)習(xí)這個領(lǐng)域的知識。這個時候,你之前學(xué)習(xí)的所有的編程技術(shù)都只是工具而已,工具只是用來解決問題的。舉個例子,你選擇了在計算機網(wǎng)絡(luò)領(lǐng)域使用C語言解決問題,今后想從事網(wǎng)絡(luò)方面的編程,開發(fā)聊天軟件、文件傳送軟件等,那么你就需要好好學(xué)習(xí)計算機網(wǎng)絡(luò)領(lǐng)域的知識,包括OSI七層模型、TCP/IP協(xié)議族、路由器、交換機等等。如果你選擇了音視頻處理,今后想從事音視頻應(yīng)用開發(fā),那么你就需要學(xué)習(xí)編碼、解碼、封裝、流媒體等概念;如果你選擇了DVB數(shù)字電視,那么你就需要學(xué)習(xí)PSI/SI標(biāo)準(zhǔn)、解擾、解調(diào)、復(fù)用等概念。
六、繼續(xù)編碼
在你選擇你研究的領(lǐng)域后,選擇你使用的平臺,那么你就要開始在這個OS平臺上,使用C語言解決你這個領(lǐng)域內(nèi)的問題了。如果說在第四階段,你寫的代碼叫“練手代碼”,那么現(xiàn)在你寫的代碼就是“業(yè)務(wù)代碼”了。如果說在第四階段,你寫代碼的目的還只是磨煉自己的技術(shù),那么現(xiàn)在你寫代碼的目的純粹就是在解決問題,幫助你的公司創(chuàng)造價值。
七、編程磨煉
在第六階段的編碼中,你對自己的技術(shù)需要“深入”。你的編程意識要深入,編程思想要深入,你選擇的OS平臺要深入,你的算法設(shè)計要深入,你的代碼管理要深入.......總之,一切都要“深入”!
八、代碼管理
代碼管理在整個項目管理中非常重要。常用的代碼管理工具有SVN、Git等等,這也是你必須要學(xué)習(xí)的工具。
上面是我總結(jié)的C語言學(xué)習(xí)的路線。這八個步驟并不是嚴格的順序關(guān)系,因人而異。
這個路線圖還有許多東西需要補充,小伙伴們有什么好的建議可以給我留言,一起來完善這個路線圖。
初學(xué)編程,費了偌大的勁,理解了這,理解了那,竟然只是在黑框下打印出了幾個數(shù)字。我覺得,初學(xué)一門編程語言一定要用合適的方式培養(yǎng)興趣,黑框顯然不是一個好方法。所以,我建議在學(xué)習(xí)c語言的過程中,把系統(tǒng)API什么的也加進去一起學(xué)吧,教人寫個帶界面的程序比教人成天面對控制臺程序,效果可能會好很多,因為這讓人覺得學(xué)習(xí)c語言能做事情。我是在學(xué)會了windows編程的時候,才對編程產(chǎn)生了很強的興趣的,說說我當(dāng)時寫的一些小程序,簡單但比較好玩,適合培養(yǎng)編程興趣(代碼量依次增大):
1、程語語言其實是一個很初級的工具,但是又必須熟練的掌握它,學(xué)懂一門編程語言就好像學(xué)會了寫字,但是會寫字的人不見得會寫文章,而會寫文章又不見的寫得好??墒侨绻粫懽?,那就一定寫不出文章來。
2、在學(xué)習(xí)C語言之前,應(yīng)該學(xué)好計算機基礎(chǔ)。里面的很多概念對于C程序員都是非常重要的。如果在著手學(xué)習(xí)C之前,或者已經(jīng)開始學(xué)習(xí)C,但是碰到了很多問題,應(yīng)該再把計算機基礎(chǔ)的書拿來好好看看。如果有足夠的耐心,十足的毅力,應(yīng)該再學(xué)習(xí)C語言之前學(xué)學(xué)匯編,這會對許多比較細膩的概念有清醒的認識。那么可以在看完一遍C語言的教材后再看,但是一定要看一遍,一定會受益匪淺。不管看什么書,先認真地看懂,不要貪速度,應(yīng)該力求深入的理解。如果能夠比較熟練的解決一本教材上的所有習(xí)題,那么就應(yīng)該轉(zhuǎn)入對算法的學(xué)習(xí),盡管此時的C語言還稱不上精通,有許多細節(jié)問題還不了解,許多問題還沒有碰到,但是這些問題會在后面的工作和學(xué)習(xí)中得到解決的。
3、不需要多少資料,掌握一本《The C Programming Language》就足夠了。繼續(xù)學(xué)習(xí)就更加容易。建議不要找捷徑,通過考試除外,真正的水平提高是建立在編程實踐積累基礎(chǔ)上的,必須一個一個程序的完成才能提高。
學(xué)習(xí)C語言,光看書是不行的,更多的是練習(xí),不斷的練習(xí),多思考,好多時候只是看書,感覺自己會了,等上機操作的時候卻發(fā)現(xiàn)很多東西都不會,光看書是學(xué)不會的,動手才是硬道理,就像很多同學(xué),各種視頻資料下載了很多,硬盤都存滿了,但是很少看,學(xué)習(xí)編程無捷徑,多練習(xí),把基礎(chǔ)夯實咯,后面學(xué)習(xí)起來才更容易上手;
以前學(xué)習(xí)C語言的時候,看的是“ 如鵬網(wǎng) ”的視頻教程——《C語言也能干大事》系列,挺有意思的,沒想到C語言還可以這么學(xué),通過開發(fā)超級瑪麗,飛機大戰(zhàn),以及網(wǎng)站的開發(fā)來講解C語言的知識點,挺有意思的
老師講課的風(fēng)格也挺好玩,挺逗的,聽起來不枯燥,做出來的東西也蠻有成就感的,具體的可以到如鵬網(wǎng)官網(wǎng)上去了解一下,有問題隨時提問,老師實時在線答疑,口碑不錯,課程體系的設(shè)置可以極大的激發(fā)對編程的興趣。
還有后續(xù)的透徹的講指針,以及用C語言來開發(fā)網(wǎng)站的課程
到此,以上就是小編對于學(xué)習(xí)c語言學(xué)習(xí)方法的問題就介紹到這了,希望介紹關(guān)于學(xué)習(xí)c語言學(xué)習(xí)方法的3點解答對大家有用。