先學(xué)C,再學(xué)C++,然后學(xué)VB, 現(xiàn)在流行的是Java,然后還有asp,jsp,php等學(xué)編程從基礎(chǔ)做起!現(xiàn)在流行JAVA,可以直接學(xué)請一位好一點的老師,或找個學(xué)習(xí)班 ,我目前已經(jīng)工作,平常主要是看蛙課網(wǎng)上的教程提升技能。
簡單的說,編程就是為了借助于計算機來達到某一目的或解決某個問題,而使用某種程序設(shè)計語言編寫程序代碼,并最終得到結(jié)果的過程。 計算機雖然功能十分強大??梢怨┠闵暇W(wǎng)、打游戲、管理公司人事關(guān)系等等,但是沒有程序,它就等于是一堆廢鐵,不會理會我們對它下達的“命令”。于是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。 那程序到底是什么呢? 程序也就是指令的集合,它告訴計算機如何執(zhí)行特殊的任務(wù)。 打個比方說,它好比指導(dǎo)你烹調(diào)菜品的菜譜或指揮行駛一路到達目的地的交警(或者交通路標(biāo))。沒有這些特殊的指令,就不能執(zhí)行預(yù)期的任務(wù)。計算機也一樣,當(dāng)你想讓計算機為你做一件事情的時候,計算機本身并不能主動為我們工作,因此我們必須對它下達指令,而它根本不會也不可能聽懂人類自然語言對事情的描述,因此我們必須使用程序來告訴計算機做什么事情以及如何去做?甚至對最簡單的任務(wù)也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁盤中保存文件等等。 這么麻煩,連這些東西編程都要考慮!怪不得人家說編程好難!你錯了,其實許多這樣的指令都是現(xiàn)成的,包含在處理芯片中內(nèi)置于操作系統(tǒng)中,因此我們不必?fù)?dān)心它們工作,他們都是由處理器和操作系統(tǒng)來完成的,并不需要我們來干預(yù)這些過程。 上面講到的計算機本身不會主動的做任何事情。因此我們要通過程序的方式來讓計算機為我們“效勞”。而這個過程就是我們“編”出來的。編程可以使用某一種程序設(shè)計語言來實現(xiàn),按照這種語言的語法來描述讓計算機要做的事情。 我們這里所講的語法和外語中的語法完全兩碼事,這里講的語法只是讀你的程序書寫做出一寫規(guī)定而已。 寫出程序后,再由特殊的軟件將你的程序解釋或翻譯成計算機能夠識別的“計算機語言”,然后計算機就可以“聽得懂”你的話了,并會按照你的吩咐去做事了。因此,編程實際上也就是“人給計算機出規(guī)則”這么一個過程。 隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。 電腦每做的一次動作,一個步驟,都是按照已經(jīng)用計算機語言編好的程序來執(zhí)行,程序是計算機要執(zhí)行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發(fā)出命令。 計算機所能識別的語言只有機器語言,即由構(gòu)成的代碼。但通常人們編程時,不采用機器語言,因為它非常難于記憶和識別。 目前通用的編程語言有兩種形式:匯編語言和高級語言。 匯編語言的實質(zhì)和機器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標(biāo)識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。 匯編程序的每一句指令只能對應(yīng)實際操作過程中的一個很細(xì)微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復(fù)雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業(yè)知識,但匯編語言的優(yōu)點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現(xiàn)的,而且源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。 高級語言是目前絕大多數(shù)編程者的選擇。和匯編語言相比,它不但將許多相關(guān)的機器指令合成為單條指令并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由于省略了很多細(xì)節(jié),所以編程者也不需要具備太多的專業(yè)知識。 高級語言主要是相對于匯編語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。 (1)解釋類:執(zhí)行方式類似于我們?nèi)粘I钪械摹巴暦g”,應(yīng)用程序源代碼一邊由相應(yīng)語言的解釋器“翻譯”成目標(biāo)代碼(機器語言),一邊執(zhí)行,因此效率比較低,而且不能生成可獨立執(zhí)行的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器,但這種方式比較靈活,可以動態(tài)地調(diào)整、修改應(yīng)用程序。 (2)編譯類:編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機器語言),因此其目標(biāo)程序可以脫離其語言環(huán)境獨立執(zhí)行,使用比較方便、效率較高。但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件(*.OBJ)才能執(zhí)行,只有目標(biāo)文件而沒有源代碼,修改很不方便。現(xiàn)在大多數(shù)的編程語言都是編譯型的,例如Visual Basic、Visual C++、Visual Foxpro、Delphi等。 這個問題其實很簡單。前面我們講到,程序是人與計算機進行溝通的唯一方式,因此我們要讓計算機為我們服務(wù),就必須有程序,而程序從哪里來 當(dāng)然是由我們編寫出來了?;蛟S你又會問到另一個問題:現(xiàn)在要什么程序有什么程序,我干嘛還要編程呢 這你就錯了,現(xiàn)在的程序雖然很多,需要什么樣的程序直接到網(wǎng)上不需要很長時間就可以找到類似的,而且有可能就是你所需要的。但是,就好比去買衣服,雖然賣衣服的到處都是,但是哪一件是為你“量身定做”的呢! 程序還能夠做很多事情不同的程序可以完成不同的事情。從大的方面到管理國家的財務(wù),小的方面管理家庭的帳務(wù)。 又如,如果你想要你的計算機能播放動畫,那么你的計算機中也要有相應(yīng)的動畫播放程序,下面所示的就是一個F1ssh動畫播放器。我們將會在后面的章節(jié)具體講述這個程序的編制過程。 隨著計算機的飛速發(fā)展,總會有那么一天將不會編程的人列為“文盲”。你不希望吧 那么就好好的學(xué)習(xí)一種程序設(shè)計語言吧。 編程會過時嗎 編程會過時嗎 這個問題,讓我先問你一個問題:計算機會消失嗎 這兩者答案是一樣的。知道了計算機會不會消失,就知道了編程會不會過時。 編程工具會過時,而編程卻不會過時 計算機系統(tǒng)由可以看見的硬倒:系統(tǒng)和看不見的軟件系統(tǒng)組成。要使計算機能夠正常的工作,僅僅有硬件系統(tǒng)是不行的,沒有軟倒系統(tǒng)(即沒有程序)的計算機可以說只是—堆廢鐵,什么事情都干不了。例如當(dāng)你撰寫—篇文章的時候,你需要在操作系統(tǒng)中用文字編輯軟件來實現(xiàn)文字的輸入,但如果沒有這些文字輸入軟件的話,你是否想過如何向計算機中輸入文章呢 很難想象出如何在一個沒有任何軟件的計算機(我們稱之為裸機)上進行文字的輸入。而這些軟件其實就是通常我們所說的程序。 編程會過時嗎 我們從另一個角度來考慮這個問題,計算機有——天會消失嗎 如果有一天當(dāng)世界上所有的事情處理都用不到計算機了,那么計算機將會很快的消失,那時編程不僅過時了,而且也會隨之消失了。但是計算機會消失嗎 當(dāng)然不會,如今計算機應(yīng)用到每一領(lǐng)域,為人類的發(fā)展做出了不可估量的貢獻。試想一下如果有一天全世界的計算機突然消失了,那么這個世界將變成什么樣子,或許和全世界都停電了一樣恐怖,甚至還會有更大的損失。計算機的存在必須要有軟件系統(tǒng)來維持。因此編程永遠不會、也不可能會過時。 計算機程序設(shè)計語言發(fā)展到今天,已經(jīng)從最原始的機器語言發(fā)展到如今可視化的集成開發(fā)環(huán)境,甚至集多種語言在同一開發(fā)平臺上,像微軟的NET平臺?;仡^看看程序設(shè)計語言的發(fā)展史,不難看出對于編程來說,只會出現(xiàn)編程工具的過時,不會出現(xiàn)編程本身的過時。 不斷變化的技術(shù)需要不斷變化的程序員 從二十世紀(jì)60年代以后,計算機得到了突飛猛進的發(fā)展。似乎歷史上沒有任何一門科學(xué)的發(fā)展速度超過了計算機的發(fā)展,無論硬件、軟件、還是網(wǎng)絡(luò)都以驚人的速度向前發(fā)展。計算機的硬件發(fā)展速度遵循“摩爾定律”每十八個月速度翻一倍(實際現(xiàn)在已超過了這個速度)。軟件的發(fā)展速度和硬件一樣,二十世紀(jì)九十年代中國的軟件業(yè)還不是很成熟,而現(xiàn)在大大小小的軟件企業(yè)四處聳立,共享軟件網(wǎng)上隨處可見。不斷發(fā)展的技術(shù)需要不斷變化的程序員,例如,如今Visual Basic可以快速構(gòu)Windows下的應(yīng)用程序,程序設(shè)計方面的技術(shù)不斷發(fā)展著,不斷引進新的概念、新的方法,如從結(jié)構(gòu)化的C開始,當(dāng)面向?qū)ο蟮乃枷氡惶岢龊螅霈F(xiàn)了C++,微軟在C++的基礎(chǔ)上為使用戶構(gòu)建win32應(yīng)用程序更加方便,推出了Visual C++。這也就需要程序員也要不斷的更新自己的技術(shù)。 計算機科學(xué)與別的學(xué)科很不一樣,不像語言學(xué)、歷史學(xué)那樣,幾乎是永久不變的東西。計算機科學(xué)要求不斷的更新自己的知識,否則很快就會被淘汰,即便是編程亦是如此。 編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在后面的章節(jié)中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟件管理器等。如果你愿意的話,你完全可以編寫出比這些更高級的程序來。 隨著計算機軟件業(yè)的發(fā)展,誕生了“程序員”這個職位。于是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員并不是一開始就是程序員,他們也是從現(xiàn)在我們的位置慢慢成為程序員的。 編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在后面的章節(jié)中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟件管理器等。如果你愿意的話,你完全可以編寫出比這些更高級的程序來。 編程也可以作為——種愛好或興趣,如果你對它感興趣學(xué)起來就容易多了!因為如果對編程感興趣的話,就會多看些有關(guān)方面的書、多編些小程序上機實踐,這些對于學(xué)習(xí)編程的幫助是非常大的,而且隨著學(xué)習(xí)的進程不斷的推進就會覺得它并不是很困難,相反卻是很容易的。 總之,在學(xué)習(xí)編程時一定要堅持不懈,只要有信心、有毅力就一定能學(xué)好;不能因為一些似是而非的觀念就動搖了自己的信心。 我們一起來編程 面對擺在面前的計算機該如何操作,相信這個問題已經(jīng)不再是困擾大家的首要問題了。現(xiàn)在軟件的種類那么多,在選用的時候“電腦發(fā)燒友”的心里是否也想過有一天自己能編寫一款屬于自己的軟件呢 想學(xué)習(xí)編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢 在不知如何下手的時候,朋友們的心中是不是會產(chǎn)生“我是不是可以編程”的思想呢 但是又有哪個程序員是不經(jīng)過學(xué)習(xí)就能成功的呢!其實編寫程序并不是人們所想象的那么困難、那么復(fù)雜,每個有心致力于學(xué)習(xí)計算機的朋友都是可以嘗試的! 選擇適合自己的程序語言的必要性 目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應(yīng)用程序設(shè)計的編程工具,現(xiàn)在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學(xué)者的編程工具。Visual Basic是Windows應(yīng)用程序設(shè)計中最容易上手的編程工具,學(xué)習(xí)步驟也比較容易被初學(xué)者接受。對于剛開始學(xué)習(xí)編程的初學(xué)者來說,還是選擇 Visual Basic,學(xué)習(xí)編程語言不能想象著一步登天,一步一個腳印的學(xué)習(xí)才是最佳方法。 堅定自己學(xué)習(xí)編寫程序的信心 編寫程序并不是具有專業(yè)知識的人員才有的專利,每個學(xué)習(xí)計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區(qū)別。但共同的想法就是編寫成功的程序。學(xué)習(xí)編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學(xué)習(xí)中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學(xué)習(xí)的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權(quán)利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇于進取,相信成功就會在眼前。 三、我可以編程嗎 隨著計算機軟件業(yè)的發(fā)展,誕生了“程序員”這個職位。于是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員并不是一開始就是程序員,他們也是從現(xiàn)在我們的位置慢慢成為程序員的。 編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在后面的章節(jié)中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟件管理器等。如果你愿意的話,你完全可以編寫出比這些更高級的程序來。 編程也可以作為——種愛好或興趣,如果你對它感興趣學(xué)起來就容易多了!因為如果對編程感興趣的話,就會多看些有關(guān)方面的書、多編些小程序上機實踐,這些對于學(xué)習(xí)編程的幫助是非常大的,而且隨著學(xué)習(xí)的進程不斷的推進就會覺得它并不是很困難,相反卻是很容易的。 總之,在學(xué)習(xí)編程時一定要堅持不懈,只要有信心、有毅力就一定能學(xué)好;不能因為一些似是而非的觀念就動搖了自己的信心。 四、我們一起來編程 面對擺在面前的計算機該如何操作,相信這個問題已經(jīng)不再是困擾大家的首要問題了?,F(xiàn)在軟件的種類那么多,在選用的時候“電腦發(fā)燒友”的心里是否也想過有一天自己能編寫一款屬于自己的軟件呢 想學(xué)習(xí)編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢 在不知如何下手的時候,朋友們的心中是不是會產(chǎn)生“我是不是可以編程”的思想呢 但是又有哪個程序員是不經(jīng)過學(xué)習(xí)就能成功的呢!其實編寫程序并不是人們所想象的那么困難、那么復(fù)雜,每個有心致力于學(xué)習(xí)計算機的朋友都是可以嘗試的! 選擇適合自己的程序語言的必要性 目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應(yīng)用程序設(shè)計的編程工具,現(xiàn)在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學(xué)者的編程工具。Visual Basic是Windows應(yīng)用程序設(shè)計中最容易上手的編程工具,學(xué)習(xí)步驟也比較容易被初學(xué)者接受。對于剛開始學(xué)習(xí)編程的初學(xué)者來說,還是選擇 Visual Basic,學(xué)習(xí)編程語言不能想象著一步登天,一步一個腳印的學(xué)習(xí)才是最佳方法。 堅定自己學(xué)習(xí)編寫程序的信心 編寫程序并不是具有專業(yè)知識的人員才有的專利,每個學(xué)習(xí)計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區(qū)別。但共同的想法就是編寫成功的程序。學(xué)習(xí)編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的??朔W(xué)習(xí)中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學(xué)習(xí)的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權(quán)利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇于進取,相信成功就會在眼前。 一、計算機語言的發(fā)展過程 到目前為止,世界上公布的程序設(shè)計語言有上千種之多,常用的也有三十來種,為了有21于正確選擇和使用它們,下面我們做一個簡單介紹。 (1)匯編語言: 它是依賴于具體計算機的語言,用它編寫出的程序,執(zhí)行效率高,但是只在一些特殊要求或特殊的場合才使用它。 (2)高級語言: 大家可能都聽過使用高級語言進行程序設(shè)計,但由于對其并不了解,所以總認(rèn)為這些是很高深的東西。其實并非如此,學(xué)習(xí)了后面的章節(jié),相信同學(xué)會產(chǎn)生編程原來不過如此。 但計算機是不懂得自然語言的(可以理解為高級語言),而高級語言設(shè)計出來的程序如何讓計算機去執(zhí)行呢 其實很簡單,看了下圖后相信大家會明白許多。 現(xiàn)在我們就向大家介紹幾種常見的高級語言: Fortran語言是科學(xué)和工程計算中使用的主要編程語言。目前國內(nèi)使用版本多數(shù)是Fortran 66和Fortran77兩種。Fortran語言的主要缺點是不能直接支持結(jié)構(gòu)化編程。 Cob0l語言是商業(yè)數(shù)據(jù)處理中廣泛使用的語言。由于它本身結(jié)構(gòu)上的特點,使得它能有效的支持與商業(yè)處理有關(guān)的、范圍廣泛的過程技術(shù)。它的缺點是不簡潔。 Algol語言是所有結(jié)構(gòu)化語言的先驅(qū),具有豐富的過程和數(shù)據(jù)結(jié)構(gòu)。但是,這種語言并沒有被廣泛采用,主要是由于它本身的歷史原因所造成的。 Basic語言是一種解釋執(zhí)行的會話語言。由于它簡單易學(xué)的特點,它被廣泛應(yīng)用在微型計算機系統(tǒng)中。 PL//1語言是一個用途廣泛的語言。能支持通常的科學(xué)工程和商業(yè)應(yīng)用,能描述復(fù)雜的數(shù)據(jù)結(jié)構(gòu)、多重任務(wù)處理、復(fù)雜的輸入輸出和表格處理等。 Pascal語言是70年代初期發(fā)展起來的結(jié)構(gòu)化程序設(shè)計語言,具有特別豐富的數(shù)據(jù)結(jié)構(gòu)類型。它自問世后,得到了眾人的贊賞,也得到了軟件開發(fā)者的廣泛支持。Pascal語言已用于科學(xué)、工程和系統(tǒng)程序設(shè)計中。我們教育部計算機專業(yè)教育會議曾把Pascal語言定為計算機專業(yè)程序設(shè)計語言。 C語言是作為UNIX操作系統(tǒng)的主要使用語言。由于UNIX操作系統(tǒng)的成功,現(xiàn)在C語言也得到了廣泛的使用。C語言是有經(jīng)驗的軟件工程師設(shè)計的,它具有很強的功能,以及高度的靈活性。它和其他的結(jié)構(gòu)化語言一樣,能提供豐富的數(shù)據(jù)類型、廣泛使用的指針以及—組很豐富的計算和數(shù)據(jù)處理使用的運算符。 C++語言是C語言的擴充。在1980年,貝爾實驗室的Bjarne Strotstrup博士及其同事開始對C語言進行改進和擴充,最初被稱為“帶類的C”,1983年才取名為C++。以及不斷完善和發(fā)展,成為目前的C+ +語言。一方面,它將C語言作為它的子集,使它能夠與C語言兼容。使許多C語言代碼不經(jīng)修改就可以為C++語言所用以及用C語言編寫的眾多庫函數(shù)和和實用軟件可以直接用于C++語言中;另一方面。C++語言支持面向?qū)ο蟮某绦蛟O(shè)計這是它對C語言最重要的改進。