--C語言開講啦系列大致介紹
很多同學(xué)到了大學(xué)迷茫、厭學(xué),很大的原因就是不知道學(xué)這些東西有啥用,又這么難又學(xué)不會;蛘哌有很多同學(xué)為了考試成績而苦讀,失了學(xué)習(xí)基本的興趣,專心服侍考試。下邊是我很喜歡的一句話,每次讀都能讓內(nèi)心一顫。 平時則放蕩冶游,考試則熟讀講義,不問學(xué)問之有無,惟爭分?jǐn)?shù)之多寡;試驗既終,書籍束之高閣,毫不過問,敷衍三四年,潦草塞責(zé),文憑到手,即可借此活動于社會,豈非與求學(xué)初衷大相背馳乎?光陰虛度,學(xué)問毫無,是自誤也!---蔡元培《就任北京大學(xué)校長演示》 1917年蔡元培就說出了這樣的話,現(xiàn)在2014年了,每次讀這段話都不得不說人家真不愧是大教育家。這話說了這么久依舊是一針見血、直抵真相!想想他老人家的話如今竟然成了“普遍現(xiàn)象”,真是讓人倒抽涼氣。 分享給大家,警鐘長鳴。所以大家要明確目標(biāo)--我們的目標(biāo)是學(xué)以致用!不能不學(xué) 浪費光陰,也不能盲目學(xué)習(xí)充當(dāng)被添的鴨子。 接下來麥粒er準(zhǔn)備開始一個講解C語言基礎(chǔ)的系列文章,畢竟工科的知識還是有點難懂的,單靠這點篇幅遠遠不夠。預(yù)計連著用六篇小文章來講C語言入門基礎(chǔ)知識,大致包括(C介紹、書籍推薦、關(guān)鍵字、運算符、控制語句、函數(shù)、還會介紹下指針和數(shù)組以便大家接著學(xué)習(xí))拋磚引玉、各灑潘江,哈哈。 學(xué)習(xí)嵌入式需要很多科目(C語言、模電、數(shù)電、自控、信號等等)的知識結(jié)合在一起,綜合能力的提升很重要的。要不然難免遇到木桶效應(yīng)的尷尬。學(xué)習(xí)的樂趣是學(xué)以致用。知識就是力量嗎?學(xué)會使用知識才能創(chuàng)造生產(chǎn)力,那才是力量!理論指導(dǎo)實踐,實踐踐行理論,才是學(xué)習(xí)的樂趣所在。 其實大部分同學(xué)都應(yīng)該學(xué)過了C語言基礎(chǔ)了,大一的同學(xué)們正在學(xué),大二大三的估計都忘光光了吧。其實正常,學(xué)完了用不到慢慢自然會忘。還可能當(dāng)時學(xué)的不好,其實真心不用自責(zé)真心沒關(guān)系,誰說必須要一次就學(xué)懂呢,不懂就不懂,以后碰到需要用的情況就接著學(xué)接著研究,幾次之后總會懂的。
--說說C語言吧

上圖中的老爺爺很慈祥吧。Dennis Ritchie 丹尼斯·里奇,C語言之父和UNIX之父。這個UNIX大家不熟悉,Linux操作系統(tǒng)可能大家都聽說過,這沒聽過那Androi安卓大家一定一定聽說過吧,安卓就是一種基于Linux的自由及開放源代碼的操作系統(tǒng)。 1969年,通用電氣、麻省理工、貝爾實驗室聯(lián)合研制一種叫Multics的操作系統(tǒng),但研制完了發(fā)現(xiàn)系統(tǒng)太大太復(fù)雜,幾乎徹底失敗。 從失敗項目撤出后,貝爾實驗室的工程師們Dennis Ritchie和Ken Thompson設(shè)計了一個比Multics更簡單更輕量級的操作系統(tǒng)UNIX,1970年將UNIX移植到PDP-11小型機上,但當(dāng)時的高級語言BCPL(Basic Combined Programming Language,由倫敦大學(xué)和劍橋大學(xué)合作研發(fā)的早期高級語言)簡稱“B語言”不適合作為UNIX系統(tǒng)的編程語言。所以Dennis Ritchie創(chuàng)立了“New B”語言。很快就被人稱為C語言。 C語言能干啥呢?大部分同學(xué)都能知道--編程唄,那給什么東西編程呢?又有點說不清了吧--不太清楚,但我最起碼知道嵌入式系統(tǒng)用,C語言現(xiàn)在在嵌入式軟件開發(fā)中的比例仍占60%左右。所以要學(xué)嵌入式,一定要學(xué)好C語言。自然隨著深入還會學(xué)到更高級的語言如C++、java,但先學(xué)好C會給你的編程語言進階提供基礎(chǔ)。
--書籍推薦
大家學(xué)C語言的教程是譚浩強版的吧,很多人說那是國內(nèi)C方面最經(jīng)典之作,教材就不用我推薦了吧。
基礎(chǔ)推薦:C Primer Plus(第五版)中文版 
作者[美]Stephen Prata著 出版社:人民郵電出版社 提高推薦:C 和指針 中文版 
作者[美] Kenneth A.Reek 出版社:人民郵電出版社 這書也不是我推薦,大家都說好,確實講的比較仔細,語言也比較通俗好懂。價格都是40多元,我都買了,因為我平時比較有閑著沒事就買書的習(xí)慣,大家可以去圖書館借借,也有同樣習(xí)慣的同學(xué)也可以買。但買書不代表就看書,買得來書買不來知識,買書如山倒,讀書如抽絲! 還有更高級的,我也沒過,網(wǎng)上大家評價還不錯的有《C陷阱和缺陷》、《C專家編程》等等。
--小試牛刀
給大家看兩段簡單的小程序,檢驗一下自己的C語言水平:
這段程序有問題嗎? char i; unsigned int a[300]; for(i=0;i<300;i++) a[300]=i; 有,因為char是無符號數(shù)(ARM編輯器的編譯環(huán)境中),它的范圍是0至255。所以i會永遠小于300,所以這個循環(huán)永遠不會退出。程序也就卡死在這了。
還有 if(x[i]>MAX);
MAX=x[i]; 和
if(x[i]>MAX)
MAX=x[i]; 有什么區(qū)別?[這個給大家思考思考 周三把答案發(fā)給大家]
給大家看看這兩段小程序就是讓大家回憶回憶C語言的知識。這周的小文章就這樣吧,下周就要介紹關(guān)鍵字、運算符這樣的真材實料的知識啦。 大一正在學(xué)C的孩子們,拿出書來翻翻查查,大二大三C結(jié)課了的孩子們,快去把收起來的C語言書找出來吧!
以下是本系列教程文章列表:歡迎大家踴躍討論,有問題可在51黑論壇回帖提出.
C語言基礎(chǔ)教程(1):http://www.torrancerestoration.com/bbs/dpj-41177-1.html C語言教程(2)-關(guān)鍵字 變量:http://www.torrancerestoration.com/bbs/dpj-41178-1.html C語言教程(3)-控制語句:http://www.torrancerestoration.com/bbs/dpj-41179-1.html C語言教程(4)-運算符:http://www.torrancerestoration.com/bbs/dpj-41180-1.html C語言教程(5)-函數(shù):http://www.torrancerestoration.com/bbs/dpj-41181-1.html C語言教程(6)-數(shù)組與函數(shù)指針:http://www.torrancerestoration.com/bbs/dpj-41182-1.html
51單片機教程:http://www.torrancerestoration.com/bbs/mcu-xuexi-1.html STM32教程:http://www.torrancerestoration.com/bbs/dpj-41167-1.html
|