編程簡介
編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,是計算體系按照該計算方式運行,并最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
編程入門先要學什么
1、如果你能夠熟練的使用Windows的話,你就已經可以開始你的程序生涯了,打怪升級走起來!
2、首先從C語言開始。有的朋友可能認為C語言太難了,應該從VB開始。雖然,對于一個初學者來說,用一些控件堆砌成一個小軟件會有一些成就感,但是,基礎才是最重要的!C語言對于數據類型的描敘,遠比VB更全面、明白,而這些正是編程中的根本!
3、學C語言,從數據類型,基本表達式,再到條件語句,循環語句,然后學習函數,再加上一些簡單的數組知識,足矣。到現在為止,你只要理解結構化程序設計的思想也就夠了!
4、有了以上的基礎,就要開始學匯編了。匯編剛開始學的時候很難,那些各種各樣的寄存器,分段的內存地址,很難理解,可是這些知識理解了以后,后面的內容就簡單了,學習8086的那些指令,再加上一些偽操作,還有DOS和BIOS中斷的調用,就可以看懂書上的匯編程序了。到此,你會對計算機有更深一層的理解!
5、有了匯編的基礎,再來學習C語言中的精華部分——指針,可謂是如魚得水了?,F在你要對C語言全全面面的學一遍了。
6、學完以上的內容,有必要研究一下數據結構了,線性表,堆棧,隊列,樹,圖,二叉樹,等等。
7、請時刻牢記:浮躁是學習編程的大忌。
8、當然,你還應該學習一些數據庫的知識,以及一些常用的算法。
9、如果以上的知識你都達到精通的程度后,就可以開始C++的課程了,找本C++上,然后找一本VC上手的書,再花一個星期的時間學習VC的界面和用法,就可以做一些簡單的應用了!10、要想學好VC,沒有扎實的C++知識是不行的,以下書籍是VC程序員必須翻的爛熟的:C++Primer;Effective C++;Thinking in C++;More Effective C++;深入淺出MFC。11、深刻理解C++面向對象的思想。12、編程的時候,出錯是難免的,所以,MSDN一定要熟練使用;好的代碼風格會使手的書,用一個星期的時間大概了解一下C++,然后找一本VC上手的書,再花一個星期的時間學習VC的界面和用法,就可以做一些簡單的應用了!
10、要想學好VC,沒有扎實的C++知識是不行的,以下書籍是VC程序員必須翻的爛熟的:C++Primer;Effective C++;Thinking in C++;More Effective C++;深入淺出MFC。
11、深刻理解C++面向對象的思想。
12、編程的時候,出錯是難免的,所以,MSDN一定要熟練使用;好的代碼風格會使調試的時候,更加簡單的查錯,所以,一定要養成良好的編程風格。
學編程難在哪里
1、復雜度:
規模上,軟件實體可能比任何由人類創造的其他實體還要復雜,因為沒有任何兩個軟件部分是相同的。如果有相同的情況,我們會把它們合并成共調用的子函數。
數字計算機本身就比人類建造的大多數東西要來的復雜,由于復雜度,團隊成員之間的溝通非常困難,導致產品開發中會出現很多問題,使成本超支、進度跟不上;復雜度不僅帶來技術上的困難,還會引發很多管理上的問題,它使全面理解問題變得很難,從而妨礙了概念上的完整性。
2、一致性:
工程師必須控制的數據很多是隨心所欲的、毫無規則可言的,來自若干必須遵循的人為慣例和系統。它們隨不同的接口而改變,隨時間的推移而改變,而且這些變化不是必須的,僅僅由于它們是不同的人設計的結果。
某些情況下,因為是開發最新軟件,所以它必須遵循各種接口。另一些情況下,軟件的開發目標就是兼容性。在上述的所有情況中,很多復雜性來自保持與其他接口的一致,對軟件的任何再設計,都無法簡化這些復雜性。
3、可變性:
所有成功的軟件都會發生變更。當人們發現軟件很有用時,會在原有的應用范圍的邊界,或者在超越邊界的情況下實用軟件。功能擴展的壓力主要來自那些喜歡基本功能,又對軟件提出很多新用法的用戶們。
簡而言之,軟件產品扎根于文化的母體中,如各種應用、用戶、自然及社會規律、計算機硬件等等。后者持續不斷的變化著,這些變化無情的強迫著軟件隨之變化。
4、不可見性:
軟件是不可見和無法可視化的。軟件的客觀存在不具有空間的形體特征。當我們試圖用圖形來描述軟件結構時,會發現它不僅僅包含一個,而是很多相互關聯的、重疊在一起的圖形。
除去軟件結構上的限制和簡化方面的進展,軟件仍然保持著無法可視化的固有特征,從而剝奪了一些具有強大功能的概念工具的構造思路。這種缺憾不僅限制了個人的設計過程,也嚴重阻礙了相互之間的交流。
學習編程的書籍推薦
1、《c primer plus》
內容簡介本書全面講述了C語言編程的相關概念和知識。 全書共17章。第1、2章學習C語言編程所需的預備知識。第3到15章介紹了C語言的相關知識,包括數據類型、格式化輸入輸出、運算符、表達式、流程控制語句、函數、數組和指針、字符串操作、內存管理、位操作等等,知識內容都針對C99標準;另外,第10章強化了對指針的討論,第12章引入了動態內存分配的概念,這些內容更加適合讀者的需求。第16章和第17章討論了C預處理器和C庫函數、高級數據表示(數據結構)方面的內容。附錄給出了各章后面復習題、編程練習的答案和豐富的C編程參考資料。 本書適合希望系統學習C語言的讀者,也適用于精通其他編程語言并希望進一步掌握和鞏固C編程技術的程序員。
2、《The C Programming Language》
《The C Programming Language》譯作《C程序設計語言》,是由著名的計算機科學家Brian W. Kernighan和C語言之父的Dennis M. Ritchie合著的一部計算機科學著作,是第一部介紹C語言編程方法的書籍。它是一本必讀的程序設計語言方面的參考書。它在C語言的發展和普及過程中起到了非常重要的作用,被視為是C語言的業界標準規范,而且至今仍然廣泛使用。它也被公認為計算機技術著作的典范,以清晰簡潔的文字講述而著稱。書中用“hello world”為實例開始講解程序設計,也已經成為程序設計語言圖書的傳統。[1] 本書的講述深入淺出,配合典型例證,通俗易懂,實用性強,適合作為大專院校計算機專業或非計算機專業的C語言教材,也可以作為從事計算機相關軟硬件開發的技術人員的參考書。 在計算機發展的歷史上,沒有哪一種程序設計語言像C語言這樣應用如此廣泛。
作者以自己1985年在Bell實驗室時發表的一篇論文為基礎,結合自己的工作經驗擴展成為這本對C程序員具有珍貴價值的經典著作。寫作本書的出發點不是要批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。 全書分為8章,分別從詞法分析、語法語義、連接、庫函數、預處理器、可移植性缺陷等幾個方面分析了C編程中可能遇到的問題。最后,作者用一章的篇幅給出了若干具有實用價值的建議。 本書適合有一定經驗的C程序員閱讀學習,即便你是C編程高手,本書也應該成為你的案頭必備書籍。
4、《The Art of Computer Programming》
本書是算法分析的經典名作(用經典不太恰當,應該是圣經或史詩),被科學美國人列為20世紀12大科學名著之一(和Dirac的量子力學,Einstein 的廣義相對論,von Neumann 的博弈論的著作等齊名)。其亮點在于其超乎尋常的數學技巧,要求讀者擁有極高的數學修養,只要你堅持忍耐,一旦讀懂了,你的算法和程序設計水平也會達到更高的檔次,你會對程序設計有一種截然不同的體會和領悟,就是“道”(Tao)。書的排版很漂亮(得益于作者的Tex系統),看起來很舒服。作者的文筆很好,寫得生動活潑,讀起來蕩氣回腸(英文版)。習題多且精華,觸及算法和程序本質,書后有幾乎所有習題的答案(占了整全書篇幅的1/4),書中的分析方法體現了作者嚴謹的風格。不過本書的程序不是用我們熟悉的高級語言描述的,而是作者設計的MIX語言。整套書原計劃出七卷,現在出了三卷:基本算法,半數值算法,排序和搜索,第四卷組合算法跳票了20年,Knuth稱在2008年推出。本書有中文版,不過建議讀者選用英文版,因為都學到這個程度了,英語應該不會有大困難了。引用一句話“在我們的有生之年,可能會看到C++的消亡,但Knuth和他的程序設計藝術,將永遠留在我們的心里?!?/p>
5、Data Structures and Algorithm Analysis in C:Second Edition》
數據結構與算法分析:C語言描述(原書第2版)》內容簡介:書中詳細介紹了當前流行的論題和新的變化,討論了算法設計技巧,并在研究算法的性能、效率以及對運行時間分析的基礎上考查了一些高級數據結構,從歷史的角度和近年的進展對數據結構的活躍領域進行了簡要的概括。由于《數據結構與算法分析:C語言描述(原書第2版)》選材新穎,方法實用,題例豐富,取舍得當?!稊祿Y構與算法分析:C語言描述(原書第2版)》的目的是培養學生良好的程序設計技巧和熟練的算法分析能力,使得他們能夠開發出高效率的程序。從服務于實踐又鍛煉學生實際能力出發,書中提供了大部算法的C程序和偽碼例程,但并不是全部。一些程序可從互聯網上獲得。
-
算法
+關注
關注
23文章
4657瀏覽量
93925 -
C語言
+關注
關注
180文章
7622瀏覽量
138988 -
編程
+關注
關注
88文章
3658瀏覽量
94444 -
程序
+關注
關注
117文章
3812瀏覽量
81824
發布評論請先 登錄
相關推薦
Linux學習書籍—入門
Linux學習書籍—入門
labview學習書籍推薦與入門教程
學ARM9入門需要多久_學ARM9要看的書籍
python入門書籍推薦
編程入門先要學什么
NVIDIA 發布首部 DPU 和 DOCA 編程入門書籍

NVIDIA 發布首部 DPU 和 DOCA 編程入門書籍(互動有禮)

評論