文章來自天涯部落格裡面 難得在天涯還可以看到這個.
1.目的要明確
首先確定自己的目的,是為了以後就從事程式設計職業,還只是為了應付考試,還是為了學習更多的知識而希望打下好的基礎。
2.書籍的選擇
既然確定好了目的,選擇書籍是很重要的,這裡的內容供你參考一二。
前面已經說過了,目的要明確,而書籍是根據目的進行選擇的。
為了從事程式設計職業的,建議購買Deitel父子的《C how to
program》。這本書強調了編寫程式的絕對規範性,對未來在職場中對程式的正常化有著良好的開端,印度的程式員為何在世界上受到如此的歡迎,主要的原
因就是他們有著統一的編寫格式,這樣對企業的程式開發週期有著飛躍性的提高。
為了應付考試的,建議購買譚浩強的《C程式設計》,這本書的目的就是為了應對當今中國電腦考試的,而不是讓你在職場中熟練的使用C語言,而且對相關的C++書籍銜接不好,不推薦想研究好C語言的人員購買此書。
為了希望學習C語言而為日後打下基礎的,建議購買Kernighan和Ritchie的《The C programming Language》,這本書能夠給你對C語言作為基礎一切要求。
3.用最笨的方法學習
買來了書,剩下的內容就是學習了。方法?最笨的方法就是最有效方法,其實學習C語言的方法就是反覆閱讀上面的書籍(當然了,為了應付考試的還要背誦一些內容),讀一遍不懂可以讀第二遍,直到讀懂為止。如果你需要捷徑,你可以問問Eris研究了多少年的C語言。
4.多做練習
別怕累,每本書都配有大量的練習,這對你理解當章的內容有很大的協助,沒有答案怎麼辦?不是有輸出範例嗎?把它在你的C編譯器上進行編譯,看看出來的結
果和你需要的是否一樣,反覆嘗試,直到得出正確的結果。由於每章學到的內容不同,你可以再學完後面的內容後,重新改進原來的C程式,不知不覺中,你的水平
已經有了很大的進步。不要有了問題就問,你可以先放在一邊,等你學完下面的章節,你可能將前面的問題已經解決了呢!
5.讀程式,寫程式
經過上面的步驟,你已經能輕鬆解決書中的問題了,現在你就應該上網了,上網去讀人家的程式源碼,把你的想法寫上去或者再寫出新的程式,直到有了自己的一套風格。
6.學習趣味數學問題
你可能有些驚訝,但是你也許需要回到小學小紅花數學競賽中的題目,所有的趣味數學問題都可以通過編程解決,你其實不需要太高深的高等數學水平(其實大部分高等數學問題你不會用在程式設計中),但你卻需要培養很好的邏輯能力。
7.拒絕QQ
不要以為QQ上的好友能夠給你解決問題,當你上了QQ時,大部分時間都是花在閑聊,所以說與其浪費時間,不如拒絕QQ,其實這裡並不是讓你拒絕QQ,而是拒絕一切即時聊天軟體,因為它會耽誤你很多時間。在心中堅守一個原則,不閑聊決不用這些軟體。
8.不要停止
當你到達了一個水平之後,剩下的內容就是不停的學習了,每天都要尋找相關的C語言新技術,別人的心得,看看能不能對自己有協助。記住,無論多先進的技術,在IT業,5個月都能讓它變成化石技術。
要深入學習電腦,就必須學會編程
1.我該學什麼語言?
VB、VC、Delphi、Java……面對各種各樣的程式設計語言,你是不是被弄昏了頭腦呢?該學什嗎?“學VC吧!”許多高手說。並且還舉了很有說服力
的例子:“學VB只要兩個月,學VC要一年,如果先學VB再學VC,所用時間仍然是一年,但學了VC再學VB,所用時間將不到兩個月。”這句話沒錯,的確
是這樣的。但是剛入門的初學者都能學VC?把每個人都看得這麼高?一些初學者把VC當成自己的入門語言,結果能學到最後的只有少部分人!我們不能奢望所有
初學者都是在十分熟悉Windows的情況下才開始接觸編程的,實際上,很多人就是在學習編程的過程中逐漸深入瞭解系統的,要是所有人都選擇VC作為“入
門級語言”……
初學者應該根據自身情況來選擇語言,如果你剛開始接觸系統,應該去學VB,因為VB很好學,基礎最重要;當然,還有Delphi,它介於VB與VC之間。除非你比較熟悉Windows,否則別急著學VC,你會因此神經衰弱的。
2.切忌同時學習多種語言
有沒有試過同時學英語俄語德語波蘭文法語日語?最後八成會變成鴨子。學編程也一樣,如果你才高八鬥機敏過人玉樹臨風,那麼隨便你同時學VC、VB、
Delphi等等等等,沒人會攔你,但如果是初學者呢?去做鴨子吧。同時學這麼多種語言還不如踏踏實實學好學精一門適合自己的語言!初學者往往什麼語言都
要去瞭解一下,更有甚者連一些概念都不熟悉就什麼都學,面對他們,我都要自愧不如了,但我還是要勸他們一句:一樣一樣的學,沒有人能一步登天!別以為同時
學多種語言就很“光彩”,當心最後仍是七竅通了六竅。
無論學哪門語言,都要把它學好再想其它,別“花心”,如果你是學VB的,至少要熟悉
VB編程並且能熟練使用API的時候,你才應該去學其它語言,學VC更要注意,否則最後只能“無所不學,而一無所知”,只學一種語言時遇到困難還是好處理
的,但是同時學這麼多種,你保證都不遇上問題?小心幾種語言的問題一起來壓你!
3.要有主見
許多初學者愛跟著潮
流走,外面流行什麼他就跟著做什麼(追“猩”族?)今天流行VB他就學VB,明天流行Delphi他就把VB忘了,再到VB.Net、C#……人云亦云,
隨波逐流,“專家”說什麼語言好他就投奔什麼語言,“走在科技前沿”,但是到最後又能學到什嗎?不僅丟了西瓜,連個綠豆都沒揀著。這年頭“世界變化快”,
我知道,但是它怎麼變就隨它去,總不見得把你變成今天張三明天李四吧?“月亮走,我也走”的思想要不得,別管外面流行什麼,如果不是福士需要,你只管學好
你該學的語言就行。
4.別看輕其他語言
經常有人說“XX語言差,學了沒前途!”要是讓我評價一句,恐怕是你沒前
途吧?你憑什麼說它差?沒有一種語言是十全十美的,即使它再“差”,只要它還沒有被外界宣布完全淘汰,它就有存在的理由!曾經有人對我說:“我的老師經常
教育我,VB太差了,所以我要把以前學過的忘掉。”且不說這傢伙隨波逐流,單是他老師就夠酷了,呵呵,不知道他的老師是圈子裡的哪位資深專家呢?只怕是個
三角貓吧!VB雖然存在一些局限性,但它的文法很好理解,資料庫編程很方便,配合API也能完成一些複雜工作,這就叫差?多少個
優秀程式不是用VB這個“沒前途”的語言寫出來的?多少個程式員不用VB?你看見他們沒前途了嗎?
5.不可缺少的教材
雖然從古到今一直有“盡信書,寧可無書”的遺訓,但是我們可別因此“無書”哦!也許你天資聰明,自學電腦不用教材,但是自學電腦可以憑現象和經驗,學編
程能憑空摸索?連變數、過程等概念都不知道,還能看懂for(i=1;i<50;i++)的意思?要學編程絕對不能少教材資料,如果連這都不捨得
買,那麼你最好別學了。還有一點,關於網路教程,我個人認為它太過於零散了,即使是一本完整的電子書也盡量不要看(除非實在買不到),難道你要一邊寫代碼
一邊ALT+TAB?我寧願慢慢翻一本書,也不願盯著螢幕看半天!現在市
面上的教材參差不齊,光買一本是明顯不夠的,基礎的、進階的都要買
回來慢慢研究,至少也要3本吧?市價低於20元的書最好不要考慮了,看看它的厚度!書本的厚度通常與含金量是成正比的(厚厚一本垃圾?你衰),最好選一些
比較常見的出版社出版的書籍,盡量別買少見的,品質沒得保證!我的一個同學就買了一本20元的垃圾,整本書連個完整的常式都沒有,還大言不慚“基本入
門”,誤人子弟啊!現在那同學看的是我借給他的清華大學出版社出版的《中文 Visual Basic 6.0 傻瓜書》。
一個小竅門:如果你不知道該買什麼書,最好找個高手一起去,讓他幫你選本好的,如果你身邊沒有高手,那就找厚點的!或者書名帶有“疑難解答”或“API”,這些書品質一般都可以。
6.關於英語
由於大多數語言的母語都是英語,這就導致了一些初學者望而卻步,但是英語對於編程很重要嗎?實際上編程需要的英語很少,都是比較基礎的詞彙文法,它和一
般的英語不一樣,即使你連一篇英語文章都看不下去,但只要有點英語基礎的,你就不用怕“不會”!(當然前提是一些基礎詞彙如If、For、Next、
While、include等必須看得懂,否則先去補習一點英語再說)就算英語再好,沒學過編程也不會看得懂程式源碼,難道沒學過編程能知道
StrComp等於String Compare?學編程與英語水平無關,我們學的是編程而不是英語!
7.編程大忌——組裝
VB最大的方便之處是它和ActiveX能很好組合,MS和第三方廠商為VB開發了許多ActiveX控制項,為初學者提供了很好的學習機會,但是一些初
學者卻滿足於此,做一個程式用了一大堆別人的控制項,加上一點微不足道的代碼,就以為學會了編程,卻不知這樣根本沒有入門!ActiveX是別人做的東西,
寫了多少代碼才到你用的!別幻想ActiveX無所不能,從另一個方面說,它正是VB的累贅!會用ActiveX又有什麼了不起?API會嗎?複雜點的代
碼會寫嗎?會自己開發ActiveX嗎?做一個用到通用對話方塊的程式,只會用comdlg32.ocx的ShowOpen方法,卻不會用
GetOpenFileName這個API來開啟,而且使用ActiveX會讓你的程式掛上一大堆OCX,加重程式開銷,更要命的是ActiveX會導致
許多不可預料的錯誤,如控制項到期、控制項沒有註冊等,任何一個錯誤都會讓你的程式無法運行,許多初學者搞不清ActiveX與程式檔案的關係,發布軟體時忽
略了程式需要的ActiveX,導致程式在其他環境無法運行,我早期發布的IIS
Cracker就因為不得已用了兩個ActiveX而成為我最頭痛的事(有些東西不用ActiveX做不出來,沒辦法)如果一個程式出現控制項錯誤,而作者
又沒有提供相應的控制項,那麼我要做的就是把這個程式刪除!在此提醒各位一句:寫程式不是組裝!別以為用VB畫個表單,加幾個ActiveX就學會了編程,
你根本連編程的門檻都沒入!
8.循序漸進
許多初學者剛開始接觸編程就急著寫一些較進階的代碼,卻忽略了最重要的
基礎,他們也許熱情高漲,也許有心學編程,但是卻沒能靜下心學編程基礎,這將導致付出時間多而收穫少的後果,舉個例子吧,你剛入門,連一個簡單的程式都不
會做,就算我給你個木馬程式的全部原始碼(誰要獨裁者的代碼?呵呵)你又能看懂多少?學習要一步一步來,沒有紮實的基礎,誰都不可能寫出好程式。當然,學
習的方法也不能不提,儘管學VB、Delphi不需要專門學Basic、Pascal,但是學VC就不能不學C/C++了,否則你會前進得很辛苦!別信什
麼“速成班”、“24小時學會XXX”,那種是餵豬的!經驗要靠練習來積累,不能只學理論,編程不是讓你紙上談兵的,平時不多練習,別想寫出什麼好程式!
學習時要從簡單做起,先熟練簡單編程,在這個基礎上要寫出進階點的程式就不困難了,遇到難題別被嚇著,努力克服它(除非是由於語言的局限性而做不到的),
如果暫時做不出來,可以先擱一段時間,但別把它忘了。等你學到更高一層的技術後,再回頭研究過去的難題,將會事半功倍