想當(dāng)程序猿歉甚,零基礎(chǔ)C語言編程新手入門:如何學(xué)習(xí) C語言万细?

替換高清大圖

請點(diǎn)擊此處輸入圖片描述

C語言是面向過程的,而C++是面向?qū)ο蟮?/p>

C和C++的區(qū)別:

C是一個結(jié)構(gòu)化語言纸泄,它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)赖钞。C程序的設(shè)計(jì)首要考慮的是如何通過一個過程腰素,對輸入(或環(huán)境條件)進(jìn)行運(yùn)算處理得到輸出(或?qū)崿F(xiàn)過程(事務(wù))控制)。

C++仁烹,首要考慮的是如何構(gòu)造一個對象模型耸弄,讓這個模型能夠契合與之對應(yīng)的問題域,這樣就可以通過獲取對象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務(wù))控制卓缰。 所以C與C++的最大區(qū)別在于它們的用于解決問題的思想方法不一樣计呈。之所以說C++比C更先進(jìn),是因?yàn)椤?設(shè)計(jì)這個概念已經(jīng)被融入到C++之中 ”征唬。

?C與C++的最大區(qū)別:在于它們的用于解決問題的思想方法不一樣捌显。之所以說C++比C更先進(jìn),是因?yàn)椤?設(shè)計(jì)這個概念已經(jīng)被融入到C++之中 ”总寒,而就語言本身而言扶歪,在C中更多的是算法的概念。那么是不是C就不重要了摄闸,錯善镰!算法是程序設(shè)計(jì)的基礎(chǔ),好的設(shè)計(jì)如果沒有好的算法年枕,一樣不行炫欺。而且,“C加上好的設(shè)計(jì)”也能寫出非常好的東西熏兄。

請點(diǎn)擊此處輸入圖片描述

我是一名寫了N年(N > 8)C語言的軟件工程師品洛。

希望我的經(jīng)驗(yàn)?zāi)芙o初學(xué)者一些建議或者啟發(fā),本文沒有涵蓋C語言的方方面面摩桶,但是對于想入門的初學(xué)者來說足夠了桥状。另外需要說明的是,我不是大神硝清,真正的大神是開發(fā)C語言標(biāo)準(zhǔn)辅斟,寫標(biāo)準(zhǔn)庫,寫編譯器的那幫人芦拿,但我自認(rèn)為我的C語言掌握的比周圍的很多人都要好砾肺,所以才敢在這里發(fā)言。

想學(xué)一門編程語言防嗡,不知道學(xué)什么才好? 毫無疑問 C 語言啊侠坎。

C 語言是整個計(jì)算機(jī)體系的基礎(chǔ)蚁趁,往下可以操作硬件(不止X86計(jì)算機(jī),還有ARM实胸,DSP他嫡,單片機(jī)等各種微處理器)寫Firmware番官,寫驅(qū)動、寫OS钢属,寫編譯器徘熔,往上可以寫 App,并且大部分的計(jì)算機(jī)書籍里的算法都是C語言描述的淆党。

所以學(xué)會了 C 語言酷师,就是掌握了軟件領(lǐng)域的必備技能,以后再學(xué)其他的比如C++染乌,Java山孔,各種解釋性語言、就是小 Case 了荷憋。

下圖是一個網(wǎng)上流行的程序員“鄙視鏈”台颠。其實(shí)我想說的是,還是有一定道理的勒庄,哈哈哈串前,笑而不語。

替換高清大圖

請點(diǎn)擊此處輸入圖片描述

我初學(xué) C 語言是在 2005年大二实蔽,那個時候荡碾,上課的模式是老師在上面講,我們在下面聽盐须,然后就沒有然后了玩荠,因?yàn)闆]有電腦練習(xí),我根本就沒有機(jī)會在課下了解更多的東西贼邓。學(xué)完了一本書阶冈,C 語言是干嘛的我都不知道,那個時候我并不知道 C 語言是用來寫軟件的塑径,更何況別說軟件了女坑,電腦都沒怎么見過。

我們當(dāng)初用的教材名字叫 《VC++ 語言程序設(shè)計(jì)》统舀,這導(dǎo)致我很長一段時間都沒不知道VC++匆骗,和 C++, C 的區(qū)別誉简,OMG5锞汀!

對 C 語言的深入學(xué)習(xí)是在研究生期間闷串,我認(rèn)真地從頭到尾翻了一遍H.M.Deitel 的那本 C++瓮钥,有了電腦簡直如虎添翼,我有陣子天天在宿舍編程。對了碉熄,我是在學(xué)習(xí)C++的時候桨武,順帶學(xué)習(xí)(復(fù)習(xí))的 C 語言,反正 C++ 的書上總有會 C 的锈津。

這里是我總結(jié)的學(xué)習(xí) C 語言的幾個步驟呀酸,其他編程語言基本類似,希望對大家有所幫助琼梆。

1. 看書

學(xué)習(xí)一門編程語言少不了先學(xué)習(xí)基本語法性誉。

C語言的語法也就是變量,數(shù)組叮叹、指針艾栋、表達(dá)式、邏輯操作蛉顽、函數(shù)蝗砾,宏定義等等。學(xué)習(xí)這些先買一本入門級書籍携冤,其實(shí)大都差不多悼粮,最經(jīng)典的就是譚浩強(qiáng)的那本了,雖然在知乎上沒少被人黑曾棕,但是畢竟流行了這么多年扣猫,總歸是有可取之處的,其實(shí)作為入門書翘地,你不能指望從它里面得到你想知道的所有東西申尤。

除了基本語法,C 語言另一部分是標(biāo)準(zhǔn)庫衙耕。

這一點(diǎn)很少被C語言入門書提及昧穿,但是你要想寫出一個像樣的程序的話,標(biāo)準(zhǔn)庫必不可少橙喘。推薦這本世界級C語言專家編寫的《C標(biāo)準(zhǔn)庫》时鸵。

替換高清大圖

請點(diǎn)擊此處輸入圖片描述

2. 寫代碼練習(xí)

要想學(xué)好一門編程語言,看書遠(yuǎn)遠(yuǎn)不夠厅瞎,一定要把書里的代碼搬到電腦里饰潜。

相信大多數(shù)人都是使用的Widnows,那么就下載安裝一個Visual Studio吧和簸,用哪個版本彭雾?最新的 VS2017 毋庸置疑。

喜歡 Linux 的朋友锁保,就先下載 Glibc 庫冠跷,然后安裝 gcc, gdb南誊。

好了,有了開發(fā)環(huán)境蜜托,接下來一切變得簡單,并且好玩霉赡。

試著寫一些簡單的代碼橄务,比如 Hello World,文件讀寫穴亏,數(shù)學(xué)操作蜂挪,常用算法,等等嗓化。

這是我以前練手時寫的

請點(diǎn)擊此處輸入圖片描述

3. 總結(jié)心得體會

把你覺得很抽象棠涮、難以理解的東西放到 VS 里面進(jìn)行調(diào)試,會有很多發(fā)現(xiàn)刺覆。我以前電腦里就經(jīng)常會有一個名字叫 Test 的工程文件夾严肪,哪里有疑惑了,就把代碼放進(jìn)去谦屑,一 Debug驳糯,全部的疑云就解開了。

比如這樣氢橙,了解 Struct 內(nèi)存結(jié)構(gòu)

請點(diǎn)擊此處輸入圖片描述

比如這樣酝枢,了解 Union 的內(nèi)存結(jié)構(gòu)

請點(diǎn)擊此處輸入圖片描述

比如這樣,了解 指針和數(shù)組

請點(diǎn)擊此處輸入圖片描述

然后把這一切悍手,記錄在一個 Word 中帘睦,這樣知識就變成自己的了。

這是我從前總結(jié)的一個文檔

請點(diǎn)擊此處輸入圖片描述

4. 寫個小作品

基本知識掌握的差不多了坦康,試著寫個小程序竣付。

看著人生第一個自己開發(fā)的程序,會有很多的成就感涝焙,并且在寫程序的過程中卑笨,你的編程能力會有質(zhì)的飛躍。

我曾經(jīng)寫過一個控制臺的五子棋游戲仑撞,可惜年代久遠(yuǎn)赤兴,現(xiàn)在已經(jīng)打不開了。

另外需要說明的是隧哮,想在 Windows 上寫一個有界面的程序的話桶良,還需要學(xué)習(xí)Windows API,不過這仿佛是 C 語言之外的東西了沮翔,單單學(xué)習(xí) C 語言陨帆,一個控制臺程序就夠了。

最后一句話作為總結(jié),想要使自己的編程能力突飛猛進(jìn)疲牵,一定要不斷地勤加練習(xí)承二。

請點(diǎn)擊此處輸入圖片描述

請點(diǎn)擊此處輸入圖片描述

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市纲爸,隨后出現(xiàn)的幾起案子亥鸠,更是在濱河造成了極大的恐慌,老刑警劉巖识啦,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件负蚊,死亡現(xiàn)場離奇詭異,居然都是意外死亡颓哮,警方通過查閱死者的電腦和手機(jī)家妆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冕茅,“玉大人伤极,你說我怎么就攤上這事∏对” “怎么了塑荒?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長姜挺。 經(jīng)常有香客問我齿税,道長,這世上最難降的妖魔是什么炊豪? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任凌箕,我火速辦了婚禮,結(jié)果婚禮上词渤,老公的妹妹穿的比我還像新娘牵舱。我一直安慰自己,他們只是感情好缺虐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布芜壁。 她就那樣靜靜地躺著,像睡著了一般高氮。 火紅的嫁衣襯著肌膚如雪慧妄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天剪芍,我揣著相機(jī)與錄音塞淹,去河邊找鬼。 笑死罪裹,一個胖子當(dāng)著我的面吹牛饱普,可吹牛的內(nèi)容都是我干的运挫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼套耕,長吁一口氣:“原來是場噩夢啊……” “哼谁帕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冯袍,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤雇卷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后颠猴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡小染,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年翘瓮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裤翩。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡资盅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出踊赠,到底是詐尸還是另有隱情呵扛,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布筐带,位于F島的核電站今穿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏伦籍。R本人自食惡果不足惜蓝晒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望帖鸦。 院中可真熱鬧芝薇,春花似錦、人聲如沸作儿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽攻锰。三九已至晾嘶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間口注,已是汗流浹背变擒。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寝志,地道東北人娇斑。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓策添,卻偏偏與公主長得像,于是被迫代替她去往敵國和親毫缆。 傳聞我的和親對象是個殘疾皇子唯竹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容