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

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

評(píng)論