C語言不算難,也不算簡單。但是我從高一到高三斷斷續續的看了三年,才算會寫點代碼。既然都問我,怎樣才能學好C,就隨便談下,寫得不好,請多批評。
說C不難,因為他的關鍵字少,基本結構化語句就if while for switch四個(while和switch 還不是必須的結構化語句),基本數據類型也不多,再加上函數,數組和指針就可以說差不多了。如果是從微機原理,編譯原理,操作系統這樣科班式的一步步學上來,基本沒什么障礙。
但是,很少人是這樣開始學C語言的。更多的是在搞不懂代碼是怎么編譯成指令的,函數是怎么入棧的,main是被誰調用的,printf、scanf是怎么輸入輸出的情況下,拿來一本老譚的C語言教材,自愿的接受他的忽悠,如墜云里霧里,愈加的思維錯亂。最后放棄了開始時候的決心,作個小抄,應付考試了事。
如果僅僅是想應付考試,快去做小抄,沒有比這更有效率的方法,或者說其它途徑與之相比,就是沒效率可言。如果不是,很高興我們有相同的志向。
如果你現在拿的是一本國內所著的教材(當然就是指xxx寫的那本《xxxxxxx》),那么建議你最好開拓一下眼界,讀一下
《The C programming Language》或者《The Complete Reference C 》的片斷( 原版和翻譯的都可以), 然后和老譚的那本比較下,選擇一本更適合你的。我不是說老譚的書或者國內的書真的有什么不好,但是多看老譚的書真的沒啥大好處,無數入門者就是被老譚的書忽悠來忽悠去的。
雖然老外的書不錯,但是那些大師們不會像老譚那樣,教你用Turbo C 一步步地來進行從編輯到編譯再到調試的步驟。于是很多人就是拿著書,對著機器里的VC、GCC、Borload C發愣,一個link錯誤能糾纏半天時間,‘預編譯頭文件未找到’成了各個C論壇上流行的問題。雖然現在都是從vc的ide環境開始上手,但是被vc隱藏起來的precompile,compile,link的過程要了解,經典的make,as,ld 等工具要知道。然后,打開你的vc,建立 win32 console app,輸入那個經典的hello world ,開始學習C語言的漫漫征程吧。
C的語法真的很簡單,用心的人一周肯定能掌握。指針、數組、多維數組的特性需要點感性體驗,可以畫圖,也可以去機器上多實踐,把地址打印出來,把數值打印出來,來和設想的比較下,多實驗幾次就能弄明白了。
語法的學習只是開始,要能分析實際問題,然后寫程序去解決它,還需要涉及諸如數據結構、設計模式及軟件工程的鄰域。另外現代軟件基本都需要圖形界面(gui),網絡支持,數據庫支持等,為此還需要了解各種平臺的GUI庫,socket庫 和 操作系統API。真的寫程序,還需要閱讀大量的代碼,老外的書里提供了不少典型的代碼(比國內的好的多),更多的需要自己去找來讀。可以說,寫一行代碼,是讀了上百行后的積累,而語法的學習,只是為了讓你能看懂他人的代碼,而不是教你如何寫代碼。
C可以說是一門古老的語言了,和他同時代的語言現在都已淡離了人們的視線。而C語言儼然成為了軟件領域的中堅力量,支撐著整個軟件行業,學好了C語言,以后不管是再學習Java、.net或是動態語言,都既輕松又愉快。
posted on 2009-03-13 23:16
zarra 閱讀(211)
評論(1) 編輯 收藏