對于大部分程序員,C語言是學(xué)習(xí)編程的第一門語言,很少有不了解C的程序員。下面是學(xué)習(xí)C語言入門必備的書籍,歡迎閱讀。
1.C語言入門經(jīng)典
《C語言入門經(jīng)典》例子簡單生活化,而且每個例子分析很細(xì)。章節(jié)安排合理,章末的例子還特別注重思路的引導(dǎo),而且分析起來特別有成就感,這本書是自學(xué)過程的一本好書。
2.C primer plus
這本書很適合希望系統(tǒng)學(xué)習(xí)C語言的讀者,正如他的名字,是一本不錯的入門和進(jìn)階的書。書中的每一個知識點都有很多生動簡單的示例,并給出了相應(yīng)的運行結(jié)果?傊,在看這本書的過程中,有一種一氣呵成的感覺。
3.C和指針
這本書和《專家編程》《C缺陷和陷阱》可以并稱C語言(進(jìn)階書)三杰。本書的部分內(nèi)容更適合有C基礎(chǔ)的人看。如ADT、遞歸、指針和數(shù)組的部分,書中所述的思想是國內(nèi)教材所缺乏的?赐瓯緯,能得到一個正確的C語言觀。
4.C程序設(shè)計語言
難以置信的是,這樣一本C語言的入門書籍,從hello world開始講起,卻在短小的篇幅里,手把手教你寫了stdio.h stdlib.h string.h當(dāng)中大部分例程,實現(xiàn)了二分查找、快速排序、二叉樹、哈希表這些重要的數(shù)據(jù)結(jié)構(gòu)和算法。這本書傳遞著一種簡單、優(yōu)雅、平實和閑適。
5.C專家編程
《C專家編程》展示了最優(yōu)秀的C程序員所使用的編碼技巧,并專門開辟了一章對C++的基礎(chǔ)知識進(jìn)行了介紹。書中C的歷史、語言特性、聲明、數(shù)組、指針、鏈接、運行時、內(nèi)存以及如何進(jìn)一步學(xué)習(xí)C++等問題進(jìn)行了細(xì)致的講解和深入的分析。
本書可以幫助有一定經(jīng)驗的C程序員成為C編程方面的專家,對于具備相當(dāng)?shù)腃語言基礎(chǔ)的程序員,本書可以幫助他們站在C的高度了解和學(xué)習(xí)C++。
C語言入門教程:初學(xué)者最常問的幾個問題
1) 多久能學(xué)會編程?
這是一個沒有答案的問題。每個人投入的時間、學(xué)習(xí)效率和基礎(chǔ)都不一樣。如果你每天都拿出大把的時間來學(xué)習(xí),那么兩三個月就可以學(xué)會C/C++,不到半年時間就可以編寫出一些軟件。
但是有一點可以肯定,幾個月從小白成長為大神是絕對不可能的。要想出類拔萃,沒有幾年功夫是不行的。學(xué)習(xí)編程不是看幾本書就能搞定的,需要你不斷的練習(xí),編寫代碼,積累零散的知識點,代碼量跟你的編程水平直接相關(guān),沒有幾萬行代碼,沒有拿得出手的作品,怎能稱得上“大神”。
每個人程序員都是這樣過來的,開始都是一頭霧水,連輸出九九乘法表都很吃力,只有通過不斷練習(xí)才能熟悉,這是一個強(qiáng)化思維方式的過程。
知識點可以在短時間內(nèi)了解,但是思維方式和編程經(jīng)驗需要不斷實踐才能強(qiáng)化,這就是為什么很多初學(xué)者已經(jīng)了解了C語言的基本概念,但是仍然不會編寫代碼的原因。
程序員被戲稱為”碼農(nóng)“,意思是寫代碼的農(nóng)民,要想成為一個合格的農(nóng)民,必須要腳踏實地辛苦耕耘。
也不要壓力太大,一切編程語言都是紙老虎,一層窗戶紙,只要開竅了,就容易了。
2) 學(xué)編程難嗎?
編程是一門技術(shù),我也不知道它難不難,我只知道,只要你想學(xué),肯定能學(xué)會。技術(shù)就是一層窗戶紙,是有道理可以遵循的,在我看來,比搞抽象的藝術(shù)要容易。
在技術(shù)領(lǐng)域,編程的入門門檻很低,互聯(lián)網(wǎng)的資料很多,只要你有一臺計算機(jī),一根網(wǎng)線,具備初中學(xué)歷,就可以學(xué)習(xí),投資在5K左右。
不管是技術(shù)還是非技術(shù),要想有所造詣,都必須潛心鉆研,沒有幾年功夫不會鶴立雞群。所以請先問問你自己,你想學(xué)編程嗎,你喜歡嗎,如果你覺得自己對編程很感興趣,想了解軟件或網(wǎng)站是怎么做的,那么就不要再問這個問題了,盡管去學(xué)就好了。
3) 英語和數(shù)學(xué)基礎(chǔ)不行,可以學(xué)會嗎?初中畢業(yè)可以學(xué)會嗎?
首先說英語。編程需要你有英語基礎(chǔ),初中水平完全可以勝任。編程起源于美國,代碼中會出現(xiàn)很多單詞,有英語基礎(chǔ)記憶起來會非常容易,如果你不認(rèn)識也沒關(guān)系,我推薦你安裝有道詞典,它的劃詞功能非常棒,選中什么就及時翻譯什么,不管是句子還是單詞。這樣,相信你開發(fā)出常用的軟件不成問題。
當(dāng)然,如果你希望達(dá)到很高的造詣,希望被人稱為大神,那么肯定要閱讀英文的技術(shù)資料(不是所有資料都被翻譯成了中文),初中水平就有點吃力了。不過,長期閱讀英文會提高你的英文水平,只要你堅持一段時間,即使只有初中水平,我相信借助有道詞典也會提高很快。
如果你沒有學(xué)過英語,不知道 im、is、are,那我該怎么說呢,有志者事竟成,只要你想學(xué),相信英語的障礙你也能克服。
至于數(shù)學(xué),只要你不打算搞算法,會加減乘除法,就不要把它當(dāng)做學(xué)習(xí)的障礙了。
4) 需要什么配置的電腦
如果你囊中羞澀,3K以上的臺式機(jī),4K以上的筆記本也可以勝任,當(dāng)然有時候會卡頓。經(jīng)濟(jì)條件允許的話,最好5K以上的臺式機(jī),6K以上的筆記本。
如果想從事編程行業(yè),你早晚要有一臺高配的機(jī)器。它不但會讓你工作更加流暢有效率,還會讓你覺得工作是一種享受,所以很多程序員配備了MacBook。
5) 學(xué)習(xí)編程要用Linux嗎
很多大神都輕視地說,我不用Windows,一直在用Linux,只有Linux才能讓你看到C的本質(zhì),C就是為Linux而生的。
話雖沒錯,但是你想想當(dāng)初你學(xué)習(xí)Windows花了多長時間,是不是一開始連切換輸入法也不會,編輯Word文檔也不會;如果你切換到Linux,你也會遇到同樣的問題,你需要一段時間來熟悉Linux,加大了你的學(xué)習(xí)成本,會慢慢消磨掉你對編程的興趣。
所以我建議,你可以在Windows下學(xué)習(xí)C語言,完全沒問題,如果有一天Windows不能滿足你的學(xué)習(xí)需求了,那你再切換到Linux,這個時候你對編程已經(jīng)很了解了,切換的成本也低了。