① 菜鳥怎樣學習編程
菜鳥學習c++(編程環境設置)
在圖書館借了一本叫做《How To Think Like a Computer Scientist Learning with C++》
之所以看上這本書,一是因為它比較薄,看起來應該比較節省時間,二是,粗略的抽看了幾頁,翻譯的文字還不錯,文字不生硬,基本上沒有比較古怪的字眼。
今天試著根據書本的介紹開始實際的編程操作。
光是設置運行環境就費了好大的勁…
我採用得編譯軟體是書中強烈推薦的BCC55(borlandC++5.5命令行編譯器免費軟體)+ SciTE(窗口式集成開發環境opensorce軟體)。
安裝好兩個軟體,然後打開SciTE,輸入helloworld的程序,存檔到d盤,就開始編譯了,結果一開始就出錯:
>make
>The system cannot find the file specified.
傻眼了,明明就是在這個文件的編譯狀態下,怎麼會找不到文件呢?
趕緊查書,原來沒有給SciTE設置如何調用BCC32編譯器。
趕緊設置了,再編譯,還出錯:
>c:\Borland\bcc55\Bin\bcc32hellowrld
>The system cannot find the file specified.
怎麼回事呢?
想了老半天終於明白了,我把helloworld文件存在了D盤,但是軟體是在c:\Borland\bcc55\Bin\bcc32這個文件夾中搜索文件。於是在這個文件夾中又存了一個副本,再次編譯,再出錯:
>c:\Borland\bcc55\Bin\bcc32 helloworld
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
hellowrld.cpp:
Error E2209 hellowrld.cpp 1: Unable to open include file 'iostream.h'
Error E2451 hellowrld.cpp 4: Undefined symbol 'cout' in function main()
Error E2451 hellowrld.cpp 4: Undefined symbol 'endl' in function main()
*** 3 errors in Compile ***
>Exit code: 1
怎麼會又找不到頭文件呢?難道是系統自帶的頭文件庫中沒有這個文件?要自己找?編譯器不會這么簡陋吧,好歹也是borland出的。找到BCC的安裝目錄,一看,文件好好的存在,開始有點抓狂了…
再看書,SciTE的設置是完全沒有問題了,看bcc的設置,找到了問題的所在,沒有設置bcc的運行環境。
「Bcc的運行環境有兩類,一類是他與操作系統的關系,另一類是它與c++本身的庫函數的關系」
看來問題是出在沒有設置bcc與庫函數的關系,雖然我可能永遠不會在winxp操作系統下用到命令行來編譯程序,但是不管三七二十一,我把bcc與操作系統的關系也給設置了,然後再設置bcc與c++庫函數的關系,主要過程是在bcc的安裝目錄下面授動添加兩個cfg文件——BCC32.cfg和ILINK32.cfg.
BCC32,.cfg文件的內容如下:
-I "c:\Borland\BCC55\Include"
-L "c:\Borland\BCC55\lib"
(在這兒,為了使文本美觀,我在-I和—L後面各加了一個blank,想不到又給自己帶來一個大麻煩,後面再說)
設置完畢,又仔細地看了一遍書中的說明,確定沒有漏掉任何一個必要的設置了,心中不由暗自得意,再運行程序,又出錯誤:
>c:\Borland\bcc55\Bin\bcc32 helloworld
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Error E2075: Incorrect configuration file option: c:\borland\bcc55\include
>Exit code: 1
救命啊!
怎麼回事?難道是編譯程序太古老,不能區分大小寫的路徑?
更改文件路徑,與系統顯示完全一致,還是出現這個錯誤信息,反復地編譯了4,5次,還是沒有變化,我開始崩潰了!
怎麼辦?怎麼辦?
我就盯著書上的
-I "c:\Borland\BCC55\Include"
-L "c:\Borland\BCC55\lib"
和文件裡面的同樣內容猛看,確實找不出來原因阿。
就在我快要放棄的時候,腦袋裡突然一陣靈光閃現,難道美麗也是一種錯?難道是那個空格的問題?刪去空格,再次運行:
>c:\Borland\bcc55\Bin\bcc32 helloworld
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
helloworld.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
>Exit code: 0
>make
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
>Exit code: 0
>helloworld
Hello world!
>Exit code: 4303648
Done!終於完成了,終於完美的結束了最初的磨難,不知道還有怎麼樣的困難在前路阿。
以前一直都在學習c語言,感覺c語言真是世界上最好的編程語言了,後來看了一本關於c++的書,看到重載那個地方,感覺c++簡直神了,這個想法太奇妙了,c語言相對有點落後了。所以感覺該學學c++了,這個可能更適合自己,適合未來,但是不管怎麼說,重要的是要把它學好,而不是每次都學到一半就放棄!忌之~
假如你和我一樣是一隻正在學習編程的菜鳥,那麼下面的十個好習慣與你共勉之。
1、設計規劃
現在是模塊化程序設計的天下,應用程序要實現的目標就是金字塔尖,進行程序設計規劃的意義就在於,對構成金字塔的基礎模塊進行劃分,規劃得越詳細,模塊分工越明確,越容易明白下一步該做什麼,這好比搭積木的游戲,你可以把你的積木塊組合成各種各樣的形狀,但首先要熟悉每個積木塊的功能。
2、有備無患
實戰之前,先找幾個樣常式序研究研究,最起碼明白怎麼開頭,怎麼結尾,別打無准備之仗。
3、葵花寶典
做一份所用程序語言的精簡列表,包括基本數據類型、各類運算符說明、基本語句結構、常用關鍵詞(保留字)、常用函數(控制項)說明等等。
4、自由獨立
為你的應用程序建立一個單獨的目錄,這樣既方便應用程序文件的管理,而且如果你要給程序搬「家」,捲起鋪蓋就可以走人了。
5、見名知意
程序再小,用的變數也不會少,變數起名應當見名知意是個老話題了,好處是顯而易見的。推薦程序員使用「匈牙利命名法」,它會使你的起名工作變得輕而易舉,而且相當專業。
6、對稱之美
中國人講究對稱之美,用在編程里也很合適,如果程序里用到A循環嵌套B判斷,B判斷又包含C循環之類的結構,記著使用縮進法,讓A:ENDDO對齊A:DO,B:ENDIF對齊B:IF……諸如此類,依次縮進,總之對稱就等於美觀加易讀。
7、多加註解
對程序中自定義的變數、函數、子程序加以功能性的注釋說明,別嫌麻煩。如果過了三月五月,連自己寫的東西都看不明白了,那才大麻煩。
8、環境保護
如果應用程序需要修改系統設置,記著應用開始前先保存設置,應用結束後要恢復設置,千萬別污染環境。
9、拿來主義
一個人的力量是有限的,大家的力量是無限的,平時多看些技術資料,如果碰巧有好的經驗,巧的方法,用得上的段子,不妨拿來。
10、忍者無敵
當你認為程序代碼寫的「百分百」正確,而程序編譯執行百分百有毛病,你基本屬於暈菜的時候,千萬要忍,歇口氣,重頭來,別放棄!相信最終的勝利是屬於你的!
你的PC可以裝ADSL 也可以連網 但是你想學編程 就去買本書吧 別看電子教材
另外一定要把網線拔了(至少在學習C#或C++語言本身的這段時間把網線拔了) 保持一個月不上網 當然學語言可以學C++也可以學C#
我建議學C# 這是一門優秀的語言 所有學過C#的人都這樣評價
好了 這樣就可以了 現把語言學會了 就可以上網了 學語言的過程中別老是泡在論壇上問問題 沒意思 看書 看msdn 語言層面沒有值得你去問的問題 都很簡單 正常智商的人都能理解 假如看不會就回家種田吧 當然還要理解什麼是面向對象
知道什麼是類 什麼是介面 對象 多態性 派生 虛擬類和介面的區別 等等
然後找本設計模式的書開始讀 推薦 《C#設計模式》 還有軟體工程的書也拿來翻翻 語言只是表面的東西 想寫windows程序就要搞清楚如何使用面向對象的思維方式去分析手頭上的問題 並且保證你寫出來的類的靈活性和低耦合 便於維護
另外開始學習類庫吧 類庫的學習時一個長期的積累過程
語言 + 思維 + 類庫 = 程序
秘訣是:看書 看書 遇到書上的程序先照著寫一便 理解清楚 然後自己不看書 自己再寫一遍 別上網 那樣容易讓你浮躁