最近很多人都在問如何學(xué)習(xí)編程。我覺得學(xué)習(xí)編程最重要的是入門,如果你入門的時候有一個好的方法和思路,打下比較扎實的基礎(chǔ),對今后的編程工作是很有益處的。即使在學(xué)習(xí)新的編程語言也無所謂,因為它們有很多相通之處,可以相互借鑒。
我認為可以先學(xué)習(xí)一下pascal,這個語言比較嚴謹,適合初學(xué)者。pascal它被稱為教學(xué)語言,結(jié)構(gòu)嚴謹,不像C語言那么靈活,易于理解和學(xué)習(xí)。 然后可以繼續(xù)學(xué)習(xí)C語言,這個語言比較靈活。有了pascal的基礎(chǔ),在進行C語言編程就不會因為C語言的靈活而有問題 。后面的就可以學(xué)習(xí)VC什么的了。
C語言的書推薦譚浩強的,比較好。
我當(dāng)時學(xué)習(xí)pascal和C語言的時候是將書后的習(xí)題都做了一遍,感覺效果很好。
當(dāng)然了,學(xué)習(xí)什么語言也要看你具體準(zhǔn)備從事什么行業(yè)。例如你要進行嵌入式開發(fā),C就是很好的選擇,如果是Windows開發(fā),那么VC就不錯。還有數(shù)據(jù)庫方面的開發(fā)、網(wǎng)絡(luò)開發(fā)等等。不同的語言適合不同的方面。要看自己的選擇的,呵呵 。
還有很多人說自己的基礎(chǔ)很差,甚至中學(xué)畢業(yè)什么的。其實這個并不重要,比較說英語,在計算機語言里所用到的單詞量很少,而且都是常用詞,經(jīng)常使用就記住了。當(dāng)然,如果你要看原文資料或者幫助的話,專業(yè)詞匯比較多,不過在金山詞霸的幫助下,經(jīng)??矗彩菦]什么大的問題的。至于數(shù)學(xué)什么的,其實數(shù)學(xué)只是培養(yǎng)你一個邏輯思維能力,在初學(xué)編程的時候影響不是很大。況且,作為一個基礎(chǔ)編程人員來說,上面還有系統(tǒng)分析師、項目經(jīng)理,他們會把需求分析、概要設(shè)計和詳細設(shè)計做好的,你只要按照文檔寫代碼就OK了。不過,要上更上一步的話,其他基礎(chǔ)知識就非常重要了,畢竟你不能寫一輩子代碼。
在你學(xué)習(xí)好C語言以后,個人建議好好學(xué)習(xí)一下數(shù)據(jù)結(jié)構(gòu)和軟件工程。這兩門對你的水平提高都是很有幫助的。特別是軟件工程,它能夠使你按照科學(xué)的工程方法進行軟件開發(fā),對今后的發(fā)展很有好處。
只是一家之言,有不到之處,還望見諒!
參考資料:
剛學(xué)程序的時候要切記: 1.不要追風(fēng),不管別人說今天XX語言有多好,明天XX語言多流行。
2.編碼是件很枯燥,甚至很痛苦的事,所以一定要有耐心。 c,最基礎(chǔ)也是最根本的(操作系統(tǒng)就是用c和c++編的),學(xué)了c后c++,c#就很好學(xué)了因為大體差不多.其實只要學(xué)了一門語言學(xué)其他的就很快了. C#.C++是由c語言發(fā)展出來的。
vc就是visual c就是圖形界面的c語言編程 Visual Studio2008只是個專業(yè)開發(fā)軟件(很多大程序都在這個上開發(fā))不是教學(xué)用的,也沒有什么真正意義上的教學(xué)軟件。編程嘛不管用什么程序編都一樣,Visual Studio2008很不錯,編程錯誤提示也很到位。
要去買本c語言的書,自己鼓搗是沒用的。
計算機文化基礎(chǔ)
計算機語言與程序設(shè)計
面向?qū)ο蟪绦蛟O(shè)計(主要是指C++,因為C++是面向?qū)ο蟮牡湫?,但不限于C++)
離散數(shù)學(xué)
數(shù)字電路
數(shù)據(jù)結(jié)構(gòu)
計算機組成原理 或 微機原理與接口技術(shù)
Windows32位匯編語言程序設(shè)計
操作系統(tǒng)
接口與通訊
軟件技術(shù)基礎(chǔ)(可選)
數(shù)據(jù)庫概論
編譯原理
計算機網(wǎng)絡(luò)及技術(shù)
這些主干學(xué)了就算入門了,英語和數(shù)學(xué)貫穿其中,軟件的上檔次的資料都是英語編寫的,而且沒有中文翻譯。
學(xué)習(xí)編程已經(jīng)不再是少數(shù)計算機專業(yè)人員的事情了,就如同計算機深入到我們生活的每一個角落一樣,學(xué)習(xí)編程的人也是越來越多。由于現(xiàn)在網(wǎng)絡(luò)信息資源豐富,大多數(shù)人都選擇了自學(xué)。我自幼自學(xué)編程十余年,多少積累了一些經(jīng)驗和方法,想通過這里給這些初學(xué)的編程自學(xué)者一些個人的建議。
建議一:自學(xué)也需要看書
自學(xué)只是說沒有專門的老師手把手教你,并不是說連書本都可以不要了。有人天天來問我一些很基礎(chǔ)的概念問題,我問他:“這些概念書上不都寫得很明白嗎?”他回答:“我沒有書?!比绻麤]有書,那么你很難在腦子里形成一個較為整體性的認識,所有了解到的知識都是支離破碎的。且不說大多數(shù)人沒有精力回答你這些問題,即使回答了,很多東西也不是三言兩語就能說清的,很多高手說出來的都是他們自己的理解,這些理解或許很有意味,但也許費了你半天的腦子卻怎么也搞不明白。一本書,即使不是什么經(jīng)典之著,它也可以向你提供一個大體完整的框架,成為你自學(xué)過程中的一個向?qū)?。這里要說的是:網(wǎng)上電子教程資源豐富,看看無妨,但手中至少應(yīng)有一本印刷的書——畢竟網(wǎng)上的教程魚龍混雜,其作者也許并不精通此道,很難分辨其質(zhì)量好壞。
建議二:學(xué)編程更需要實踐
書是有了,可是整天抱著書也不成。編程最怕的就是紙上談兵,我看到有的初學(xué)者,看完了大半本書,和我說起循環(huán)函數(shù)來頭頭是道,卻連編譯器長什么樣都沒有見過。真要他寫幾行程序,便是錯誤百出。我的建議是,無論你涉及編程的時間是多么地短,無論你目前學(xué)到的知識多么地少,你都應(yīng)該不斷地盡自己所能去編寫一些小程序——即使是把書上的“Hello, World!”親手輸入進去運行一遍,都能讓你的編程能力有著極速地提高。
建議三:編程是創(chuàng)造,不是默寫
有人甚至打算用題海戰(zhàn)術(shù)來學(xué)習(xí)編程——這完全沒有理解編程的內(nèi)涵。僅僅通過“欣賞”別人寫的代碼也無法學(xué)好編程。有一點需要明白:編程是一個創(chuàng)造的過程。編程的意義在于:通過程序的形式,教計算機如何去完成一項任務(wù)。寫代碼只是形式,真正重要的是如何完成特定的任務(wù)。學(xué)習(xí)別人的代碼固然是很有用的,可以學(xué)習(xí)別人的思想;但是如果僅僅是記憶了一些別人寫好的代碼,就希望能通過拼拼湊湊成為自己的程序,那是基本不可能的。我的建議是:在自己編寫程序,進行創(chuàng)造的過程中,借鑒前人程序中的思想方法——而不是整天處于復(fù)制粘貼的狀態(tài)中。
建議四:好習(xí)慣要從開始做起
所謂“不以善小而不為”,等壞習(xí)慣養(yǎng)成了,再改就困難了。因此,類似寫程序要注意縮進、為變量和函數(shù)起有意義的名字、大小寫的使用、行末分號的注意等等,要從一開始做起。很多人對這些善意的提醒不屑一顧,覺得多此一舉,浪費時間。其實,如果真的能嚴格地去做,它們反而可以幫你節(jié)省許多時間。
建議五:不必太刨根問底
“打破沙鍋問到底”確實表現(xiàn)了一種鉆研的精神,不過我還是建議初者學(xué),有的時候,不必太刨根問底。編程的相關(guān)知識都是盤根錯節(jié)交織在一起的,大多數(shù)問題深挖下去會越說越復(fù)雜,對于知識掌握不多的初學(xué)者來說,只能是越來越糊涂。很多東西,時間長了,隨著知識了解得深入,自然而然會明白。就像剛剛學(xué)英語的時候,你知道“goodbye”是再見就足夠了,難道非要把這個good和再見的關(guān)系先弄個水落石出嗎?作為初學(xué)者,最重要的是盡快地能全面地了解整個知識的全貌,在單獨的知識點上,暫時不需要太深入。可以等知識經(jīng)驗豐富之后,再回頭來研究。
你可以先學(xué)習(xí)中文的編程,例如:易語言。然后再學(xué)習(xí)C、C++、Java等等。
我覺得應(yīng)該根據(jù)你的工作需要或者說你的發(fā)展方向而定。
基本上兩大類吧:C/C++和Java。比如,如果你要做企業(yè)級應(yīng)用的你應(yīng)該學(xué)習(xí)Java和C#;如果你想做嵌入式,那么應(yīng)該學(xué)好C語言;其他情況下,在你不知道要做什么之前你可以選擇學(xué)習(xí)C/C++。
學(xué)會這兩大類中的一類,對于你學(xué)習(xí)其他語言都將是比較輕松,包括腳本語言,動態(tài)語言…… 1、我的入門是從學(xué)習(xí)C語言開始的(其實課程是C++),這是我們學(xué)校的公共課,我上課比較認真(雖然老師講得很差,而且一段時間后,我就發(fā)現(xiàn)自己的基礎(chǔ)掌握比她好,當(dāng)然理解深度沒她好),因此,我認為對于完全沒有基礎(chǔ)的人而言,聽別人講比較容易入門。當(dāng)時的教材是學(xué)校自己編的,挺爛的。
建議一(以C/C++為例),對于剛想進入編程的人(就是從來都沒有接觸過編程的人),最好是聽課的方式(自己看的話估計要很慢,而且很痛苦),可以找視頻或者培訓(xùn)等。C語言推薦入門教材:譚浩強的C語言,最新版是第三版,不過第二版應(yīng)該也可以了(藍色的)。
說明一下:堅決不同意直接看K&R的《The C programming language》,這本書絕對不是初學(xué)者可以看懂的,里面講語法的并不多,語法都是合在程序里面講。不過這本書非常好,入門以后一定要看的一本書。
當(dāng)然可以從C++直接入門,C++之父強烈推薦從C++直接入手。C++推薦入門教材:錢能的C++(紅色的,清華大學(xué)出版),這本書第一版不是ISO C++,不過比較經(jīng)典,作者現(xiàn)在也出了第二版了,第二版好像不是太好。
國外的最好的入門教材據(jù)說是:《Acclerated C++》作者是Koenig和Moo夫婦,非常厲害。他們的著作還有《c陷阱與缺陷》《c++沉思錄》。
《Acclerated C++》這本入門的書我沒有看過,我覺得還是先找本國內(nèi)的書好好看,看的差不多了,國外的經(jīng)典書籍隨便看就會覺得很有味道,否則你可能會很受打擊。入門的書至少要看兩三遍(要徹底理解哦 ):)。
如果是C++,我建議后面類的部分至少要理解三到五遍。說明一下,c++模板的部分可以先不用看,如果有興趣的話,等把c++學(xué)的差不多了,我覺得可以把模板、STL、泛型編程結(jié)合起來學(xué)習(xí),這個又是一個很大的工作量了,又得下很大的功夫。
所以說,C++博大精深啊。建議二、學(xué)習(xí)過程中要結(jié)合簡單的算法,像冒泡還有類似c語言程序百例這樣的小例子做做;更進一步應(yīng)該做點大一點的項目,最好是控制臺程序。
或者你已經(jīng)著手學(xué)習(xí)win32、MFC或linux,你也可以結(jié)合平臺做點小的項目。那時我其實并沒有考慮那么多,因為我不是學(xué)計算機的,因此我就把參加一些計算機之類的考試當(dāng)作學(xué)習(xí)目標(biāo)。
我當(dāng)時其實C++語言基礎(chǔ)已經(jīng)很不錯了,但是上機實踐很少(那時我沒有電腦),因此參加省計算機二級,全國計算機三級和全國計算機四級考試,結(jié)果上機都沒有通過。我很郁悶,二級的時候是我不知道怎么樣進那個DOS界面把題目調(diào)出來,三級的時候是很快就編好了,也通過運行了,可是成績出來卻不及格,四級的時候是編好了,可能是我那題目比較難,好像用了兩次循環(huán),結(jié)果那破機器竟然承受不了。
后來一亂就毀了(當(dāng)然主要是上機太少了)。不過我那些上機都沒有去補考。
二級和三級的時候是自恃水平已經(jīng)遠遠超過考試要求了(^_^,見笑了,可能是因為等級考試還是比較簡單的),四級的時候則因為自己已經(jīng)通過高級程序員考試,覺得補考上機好像沒必要。(我高程和四級都是在2003年考的)。
建議三:定位學(xué)習(xí)方向(見附錄一)并好好學(xué)習(xí)計算機基礎(chǔ)知識。在你還不確定學(xué)習(xí)方向,或者你還在大學(xué)本科期間,那么我認為應(yīng)該先把計算機的基礎(chǔ)知識好好學(xué)習(xí)一下。
我認為計算機必學(xué)的基礎(chǔ)課程而且要精學(xué)——首先是數(shù)據(jù)結(jié)構(gòu),其次是操作系統(tǒng)、軟件工程,數(shù)據(jù)庫。這四門課不管你將來想從事哪個方向的基本上都會用到。
當(dāng)然,有時間的話,其他基礎(chǔ)課都是應(yīng)該掌握的,離散數(shù)學(xué)、組成原理、體系結(jié)構(gòu)、網(wǎng)絡(luò)、編譯原理甚至跨學(xué)科的。方向是很重要的,因為知識其實是無限的,一個小小的領(lǐng)域就夠你研究很久了。
本科生可能還沒有什么方向的感覺,但是到了研究生你一定要清楚自己到底想要做什么,要往哪個方面發(fā)展,不要盲目學(xué),瞎學(xué)亂學(xué),否則最后可能看似什么都會,其實什么都不會。我也曾經(jīng)學(xué)習(xí)過Java一段時間,這篇文章既然是談編程語言的入門學(xué)習(xí),我也簡單說一說。
因為有了比較C++扎實的語言基礎(chǔ),所以Java學(xué)起來比較輕松。我先找了國內(nèi)一本薄薄的教材很快看了一遍(幾乎都理解,但是只看了一遍),空閑的時間配合清華張孝詳老師的java視頻。
以后其實才算我真正要開始入門JAVA的學(xué)習(xí),我用了是《core java》中文第六版(本來想用候捷翻譯的第二版的《Thinking in Java》,發(fā)現(xiàn)被同學(xué)弄丟了),這本書我差不多用了20天才把里面的知識都搞懂,當(dāng)然包括程序風(fēng)格的模擬,最重要的時我把有關(guān)GUI編程的那三章里面的程序例子幾乎可以默寫出來(當(dāng)然,那是因為我理解了,其實這樣就變成了我的知識了),里面的API我也記得差不多了。(說明:Java里面的GUI編程沒什么用處了,建議大家先跳過,GUI不是Java的長處,如果以后需要的話再查手冊或者再。
怎樣學(xué)編程1.明確學(xué)習(xí)目的 學(xué)習(xí)編程對大多數(shù)IT業(yè)人員來說都是非常有用的。
學(xué)編程,做一名編程人員,從個人角度講,可以解決在軟件使用中所遇到的問題,改進現(xiàn)有軟件,可以為自己找到一份理想的工作添加重要得砝碼,有利于在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟件產(chǎn)業(yè)做出應(yīng)有的貢獻,一名優(yōu)秀的程序員永遠是被爭奪的對象。學(xué)習(xí)編程還能 鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創(chuàng)新的樂趣,將一直有機會走在高科技的前沿,因為程序設(shè)計本身是一種創(chuàng)造性的工作。
知識經(jīng)濟時代給我們帶來了無限的機會,要想真正掌握計算機技術(shù),并在IT行業(yè)里干出一番事業(yè)來,有所作為,具有一定的編程能力是一個基本條件和要求。 2.打好基礎(chǔ) 學(xué)編程要具備一定的基礎(chǔ),總結(jié)之有以下幾方面: (1)數(shù)學(xué)基礎(chǔ) 從計算機發(fā)展和應(yīng)用的歷史來看計算機的數(shù)學(xué)模型和體系結(jié)構(gòu)等都是有數(shù)學(xué)家提出的,最早的計算機也是為數(shù)值計算而設(shè)計的。
因此,要學(xué)好計算機就要有一定的數(shù)學(xué)基礎(chǔ),出學(xué)者有高中水平就差不多了。 (2)邏輯思維能力的培養(yǎng) 學(xué)程序設(shè)計要有一定的邏輯思維能力,“邏思力”的培養(yǎng)要長時間的實踐鍛煉。
要想成為一名優(yōu)秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復(fù)的實踐、觀察、分析、比較、總結(jié)中逐漸地積累。
因此在學(xué)習(xí)編程過程中,我們不必等到什么都完全明白了才去動手實踐,只要明白了大概,就要敢于自己動手去體驗。誰都有第一次。
有些問題只有通過實踐后才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。 (3)選擇一種合適的入門語言 面對各種各樣的語言,應(yīng)按什么樣的順序?qū)W呢?程序設(shè)計工具不外乎如下幾類: 1)本地開發(fā) 應(yīng)用軟件開發(fā)的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;數(shù)據(jù)庫開發(fā)工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。
2)跨平臺開發(fā) 開發(fā)工具如 Java 等。 3)網(wǎng)絡(luò)開發(fā) 對客戶端開發(fā)工具如:Java Script 等;對服務(wù)器開發(fā)工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。
以上不同的環(huán)境下幾種開發(fā)工具中 VB 法簡單并容易理解,界面設(shè)計是可設(shè)化的,易學(xué)、易用。選 VB 作為入門的方向?qū)Τ鰧W(xué)者是較為適合的。
3. 注意理解一些重要概念 一本程序設(shè)計的書看到的無非就是變量、函數(shù)、條件語句、循環(huán)語句等概念,但要真正能進行編程應(yīng)用,需要深入理解這些概念,在理解的基礎(chǔ)上應(yīng)用,不要只簡單地學(xué)習(xí)語法、結(jié)構(gòu),而要吃透針對這些語法、結(jié)構(gòu)的應(yīng)用例子,做到舉一反三,觸類旁通。 4.掌握編程思想 學(xué)習(xí)一門語言或開發(fā)工具,語法結(jié)構(gòu)、功能調(diào)用是次要的,最主要是學(xué)習(xí)它的思想。
例如學(xué)習(xí) VC 就要學(xué)習(xí) Windows 的內(nèi)在機理、什么是線程。
;學(xué)習(xí) COM 就要知道 VTALBE 、類廠、接口、idl。
關(guān)鍵是學(xué)一種思想,有了思想,那么我們就可以觸類旁通。5.多實踐、多交流 掌握編程思想必須在編程實際工作中去實踐和體會。
編程起步階段要經(jīng)常自己動手設(shè)計程序,具體設(shè)計時不要拘泥于固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。
親自動手進行程序設(shè)計是創(chuàng)造性思維應(yīng)用的體現(xiàn),也是培養(yǎng)邏輯思維的好方法。 6.養(yǎng)成良好的編程習(xí)慣 編程入門不難,但入門后不斷學(xué)習(xí)是十分重要的,相對來說較為漫長。
在此期間要注意養(yǎng)成一些良好的編程習(xí)慣。編程風(fēng)格的好壞很大程度影響程序質(zhì)量。
良好的編程風(fēng)格可以使程序結(jié)構(gòu)清晰合理,且使程序代碼便于維護。如代碼的縮進編排、變量命令規(guī)則的一致性、代碼的注釋等。
7.上網(wǎng)學(xué)編程 在網(wǎng)上可以學(xué)到很多不同的編程思想、方法、經(jīng)驗和技巧,有大量的工具和作品及相關(guān)的輔導(dǎo)材料供下載。例如網(wǎng)站“編程課堂”(/)提供內(nèi)容豐富而且實用的編程技術(shù)文章、精選控件、源代碼下載、計算機考試、相關(guān)軟件以及編程書籍推薦等等。
8.加強計算機理論知識的再學(xué)習(xí) 學(xué)編程是符合“理論→實踐→再理論→再實踐”的一個認識過程。一開始要具有一定的計算機理論基礎(chǔ)知識,包括編程所需的數(shù)學(xué)基礎(chǔ)知識,具備了入門的條件,就可以開始編程的實踐,從實踐中可以發(fā)現(xiàn)問題需要加強計算機理論知識的再學(xué)習(xí)。
程序人人皆可編,但當(dāng)你發(fā)現(xiàn)編到一定程度很難再提高的時候,就要回頭來學(xué)習(xí)一些計算機科學(xué)和數(shù)學(xué)基礎(chǔ)理論。學(xué)過之后,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。
因此在學(xué)習(xí)編程的過程中要不斷地針對應(yīng)用中的困惑和問題深入學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、算法、計算機原理、編譯原理、操作系統(tǒng)原理、軟件工程等計算機科學(xué)的理論基礎(chǔ)和數(shù)理邏輯、代數(shù)系統(tǒng)、圖論、離散數(shù)學(xué)等數(shù)學(xué)理論基礎(chǔ)知識。這樣經(jīng)過不斷的。
學(xué)編程需要C語言、C++、數(shù)學(xué)基礎(chǔ)。
你只要好好努力學(xué)習(xí),都是可以學(xué)好編程的。從計算機和應(yīng)用的發(fā)展歷史來看,計算機的數(shù)學(xué)模型和體系結(jié)構(gòu)等好多都是由數(shù)學(xué)家提出的,包括最早的計算機也是為數(shù)值計算而設(shè)計的。
要學(xué)好計算機是需要一定的數(shù)學(xué)基礎(chǔ)的,初學(xué)者有高中水平就差不多了。編程是編定程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規(guī)定一定的運算方式,使計算體系按照該計算方式運行,并最終得到相應(yīng)結(jié)果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務(wù)。這種人和計算體系之間交流的過程就是編程。
1、學(xué)習(xí)一下計算的基礎(chǔ)知識
2、學(xué)習(xí)一門計算機語言(推薦C++)
3、學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)
4、學(xué)習(xí)數(shù)據(jù)庫
5、根據(jù)你要發(fā)展的方向?qū)W習(xí)一下操作系統(tǒng)如(Windows或Linux)
6、如果Window編程,那程序?qū)W習(xí)一下Windows程序設(shè)計(API那種),再學(xué)習(xí)一種可視化編程環(huán)境
7、如果Linux編程,那么就要先了解一下Linux的編程環(huán)境,如GCC,以及一些函數(shù)庫,如:GNU C等
8、多做練習(xí),多多實踐,才能真正的學(xué)好編程
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:2.637秒