技術 > 初級編程
目錄
No. 1
  簡單的說,編程就是為了藉助於計算機來達到某一目的或解决某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
  計算機雖然功能十分強大。可以供你上網、打遊戲、管理公司人事關係等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的“命令”。於是,我們要馴服它,衹有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
  程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
  寫出程序後,再由特殊的軟件將你的程序解釋或翻譯成計算機能夠識別的“計算機語言”,然後計算機就可以“聽得懂”你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是“人給計算機出規則”這麽一個過程。
  隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
  電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控製計算機一定要通過計算機語言嚮計算機發出命令。
  計算機所能識別的語言衹有機器語言,即由0和1構成的代碼。但通常人們編程時,不采用機器語言,因為它非常難於記憶和識別。
  匯編語言的實質和機器語言是相同的,都是直接對硬件操作,衹不過指令采用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
  匯編程序的每一句指令衹能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
  高級語言是目前絶大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由於省略了很多細節,所以編程者也不需要具備太多的專業知識。
  高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。
  從二十世紀60年代以後,計算機得到了突飛猛進的發展。似乎歷史上沒有任何一門科學的發展速度超過了計算機的發展,無論硬件、軟件、還是網絡都以驚人的速度嚮前發展。軟件的發展速度和硬件一樣,二十世紀九十年代中國的軟件業還不是很成熟,而現在大大小小 的軟件企業四處聳立,共享軟件網上隨處可見。不斷發展的技術需要不斷變化的程序員,例如,如今visual basic可以快速構建windows下的應用程序,程序設計方面的技術不斷發展着,不斷引進新的概念、新的方法,如從結構化的c開始,當面嚮對象的思想被提出後,出現了c++,微軟在c++的基礎上為使用戶構建win32應用程序更加方便,推出了visual c++。這也就需要程序員也要不斷的更新自己的技術。
  目前常用的基本程序語言的種類比較繁多,比較簡單的有:pascal、c語言、qbasic、 fortran、visual basic等等。但前幾種都是在dos下進行編程的工具,visual basic是在 windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用dos了,因此我們通常會選擇visual basic作為初學者的編程工具。visual basic是windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇visual basic,學習編程語言不能想象着一步登天,一步一個腳印的學習纔是最佳方法。
  文字
  c語言是國際上廣泛流行的、很有發展前途的計算機高級語言。它適合作為係統描述語言,即可用來編寫係統軟件,也可用來編寫應用軟件。
  早期的操作係統等係統軟件主要是用匯編語言編寫的(包括 unix操作係統在內)。由於匯編語言依賴於計算機硬件,程序的可讀性和可移植性都比較差。為了提高可讀性和可移植性,最好改用高級語言,但一般的高級語言難以實現匯編語言的某些功能(匯編語言可以直接對硬件進行操作),例如:對內存地址的操作、位操作等)。人們設想能否找到一種既具有一般高級語言特性,又具有低級語言特性的語言,集它們的優點於一身。於是,c語言就在這種情況下應運而生了。
  c語言是在b語言的基礎上發展起來的,它的根源可以追溯到algol 60。 1960年出現的algol 60是一種面嚮問題的高級語言,它離硬件比較遠,不宜用來編寫係統程序。1963年英國的劍橋大學推出了cpl(combinedprogram- ming language)語言。cpl語言在algol 60的基礎上接近了硬件一些,但規模比較大,難以實現。1967年英國劍橋大學的matin richards對 cpl語言作了簡化,推出了bcpl(basic combined programming language)語言。1970年美國貝爾實驗室的 ken thompson以 bcpl語言為基礎,又作了進一步簡化,設計出了很簡單的而且很接近硬件的 b語言( 取 bcpl的第一個字母),並用 b語言寫第一個unix操作係統,在pdp-7上實現。 1971年在pdp-11/20上實現了b語言,並寫了unix操作係統。但b語言過於簡單,功能有限。1972年至 1973年間,貝爾實驗室的 d.m.ritchie在b語言的基礎上設計出了c語言(取 bcpl的第二個字母)。c語言既保持了bcpl和b語言的優點(精練、接近硬件),又剋服了它們的缺點(過於簡單、數據無類型等)。 最初的c語言衹是為描述和實現unix操作係統提供一種工作語言而設計的。1973年,k.thom- pson和d.m.ritchie兩人合作把unix的90%以上用 c改寫(unix第5版。原來的 unix操作係統是1969年由美國的貝爾實驗室的 k.thompson和d.m.ritchie開發成功的,是用匯編語言寫的)。
  後來,c語言多次作了改進,但主要還是在貝爾實驗室內部使用。直到1- 975年unix第6版公佈後 ,c語言的突出優點纔引起人們普遍註意。1977年出現了不依賴於具體機器的c語言編譯文本《可移植c語言編譯程序》,使c移植到其它機器時所做的工作大大簡化了,這也推動了unix操作係統迅速地在各種機器上實現。例如,vax,at&t等計算機係統都相繼開發了unix。隨着 unix的日益廣泛使用,c語言也迅速得到推廣。c語言和unix可以說是一對孿生兄弟,在發展過程中相輔相成。1978年以後,c語言已先後移植到大、中、小、微型機上,已獨立於unix和pdp了。現在c語言已風靡全世界,成為世界上應用最廣泛的幾種計算機語言之一。
  以1978年發表的unix第7版中的c編譯程序為基礎,brian w.kernighan和 dennis m.ritchie(合稱k&r)合著了影響深遠了名著《the c programming lan- guage》,這本書中介紹的c語言成為後來廣泛使用的c語言版本的基礎,它被稱為標準c。1983年,美國國傢標準化協會(ansi)根據c語言問世以來各種版本對c的發展和擴充 ,製定了新的標準,稱為ansi c。ansi c比原來的標準c有了很大的發展。k&r在1988年修改了他們的經典著作《the c progra- mming language》 ,按照ansi c的標準重新寫了該書。1987年,ansi c又公佈了新標準--87 ansi c 。目前流行的c編譯係統都是以它為基礎的。
  c++ 是脫胎自 c 語言的一種中級語言. 從計算機角度看, 它可以嵌入asm等低端語言; 從面嚮對象的程序設計角度看, 它有具備oop的三個基本特徵 -- 抽象, 封裝和繼承; 同時從市場角度來看, 它又不是純面嚮對象, 其實那些純粹的面嚮對象語言的陣地衹是在實驗室.
  比較c語言. c++ 的幾個顯著變化或者解决的問題就是
  1. 名字空間的問題, 原始的c語言使用公共的名字空間, 這樣無論是開發本人還是第三方團隊都面臨變量名字耗盡的問題. 而c++提供獨立的名字空間, 而且對象的引入也為名字空間提供了進一步劃分
  2. 代碼復用的問題, c語言使用函數庫的方式或者dll方式實現代碼復用, 在接口穩定的前提下實現內部修改和數據及其實現的封裝. c++提供了類庫機製實現了具有層次的代碼復用, 和多種繼承機製, 同時重載等各種機製提供了進一步的復用實現. 使得類庫和代碼更加容易維護, 雖然建立類庫在人員, 組織等各個方面還是比較麻煩的.
  3. 安全機製. 因為有了類機製, 有一些初始化操作可以自動實現
  4. 效率問題. 因為c語言本質上是站在計算機立場的非常註重效率的問題, 但是事物總是具備矛盾的兩面, 過於偏重效率和軟件危機的出現, 反而增加了程序設計的難度. 而ooa的現實世界角度的考慮問題更加貼近自然, 使得代碼或者程序更加具備穩定性, 可擴展性和可維護性.
  為此, 和經典物理同量子物理一樣. c/c++ 今天在不同領域各自發揮着最大的效率.
介紹
  簡單的說,編程就是為了藉助於計算機來達到某一目的或解决某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
  計算機雖然功能十分強大。可以供你上網、打遊戲、管理公司人事關係等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的“命令”。於是,我們要馴服它,衹有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
  程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
  寫出程序後,再由特殊的軟件將你的程序解釋或翻譯成計算機能夠識別的“計算機語言”,然後計算機就可以“聽得懂”你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是“人給計算機出規則”這麽一個過程。
  隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
  電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控製計算機一定要通過計算機語言嚮計算機發出命令。
  計算機所能識別的語言衹有機器語言,即由0和1構成的代碼。但通常人們編程時,不采用機器語言,因為它非常難於記憶和識別。
匯編語言
  匯編語言的實質和機器語言是相同的,都是直接對硬件操作,衹不過指令采用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
匯編程序
  匯編程序的每一句指令衹能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言
  高級語言是目前絶大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由於省略了很多細節,所以編程者也不需要具備太多的專業知識。
  高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
  從二十世紀60年代以後,計算機得到了突飛猛進的發展。似乎歷史上沒有任何一門科學的發展速度超過了計算機的發展,無論硬件、軟件、還是網絡都以驚人的速度嚮前發展。軟件的發展速度和硬件一樣,二十世紀九十年代中國的軟件業還不是很成熟,而現在大大小小 的軟件企業四處聳立,共享軟件網上隨處可見。不斷發展的技術需要不斷變化的程序員,例如,如今Visual Basic可以快速構建Windows下的應用程序,程序設計方面的技術不斷發展着,不斷引進新的概念、新的方法,如從結構化的C開始,當面嚮對象的思想被提出後,出現了C++,微軟在C++的基礎上為使用戶構建win32應用程序更加方便,推出了Visual C++。這也就需要程序員也要不斷的更新自己的技術。
  目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇Visual Basic,學習編程語言不能想象着一步登天,一步一個腳印的學習纔是最佳方法。
文字
  C語言是國際上廣泛流行的、很有發展前途的計算機高級語言。它適合作為係統描述語言,即可用來編寫係統軟件,也可用來編寫應用軟件。
  早期的操作係統等係統軟件主要是用匯編語言編寫的(包括 UNIX操作係統在內)。由於匯編語言依賴於計算機硬件,程序的可讀性和可移植性都比較差。為了提高可讀性和可移植性,最好改用高級語言,但一般的高級語言難以實現匯編語言的某些功能(匯編語言可以直接對硬件進行操作),例如:對內存地址的操作、位操作等)。人們設想能否找到一種既具有一般高級語言特性,又具有低級語言特性的語言,集它們的優點於一身。於是,C語言就在這種情況下應運而生了。
  C語言是在B語言的基礎上發展起來的,它的根源可以追溯到ALGOL 60。 1960年出現的ALGOL 60是一種面嚮問題的高級語言,它離硬件比較遠,不宜用來編寫係統程序。1963年英國的劍橋大學推出了CPL(CombinedProgram- ming Language)語言。CPL語言在ALGOL 60的基礎上接近了硬件一些,但規模比較大,難以實現。1967年英國劍橋大學的Matin Richards對 CPL語言作了簡化,推出了BCPL(Basic Combined Programming Language)語言。1970年美國貝爾實驗室的 Ken Thompson以 BCPL語言為基礎,又作了進一步簡化,設計出了很簡單的而且很接近硬件的 B語言( 取 BCPL的第一個字母),並用 B語言寫第一個UNIX操作係統,在PDP-7上實現。 1971年在PDP-11/20上實現了B語言,並寫了UNIX操作係統。但B語言過於簡單,功能有限。1972年至 1973年間,貝爾實驗室的 D.M.Ritchie在B語言的基礎上設計出了C語言(取 BCPL的第二個字母)。C語言既保持了BCPL和B語言的優點(精練、接近硬件),又剋服了它們的缺點(過於簡單、數據無類型等)。 最初的C語言衹是為描述和實現UNIX操作係統提供一種工作語言而設計的。1973年,K.Thom- pson和D.M.ritchie兩人合作把UNIX的90%以上用 C改寫(UNIX第5版。原來的 UNIX操作係統是1969年由美國的貝爾實驗室的 K.Thompson和D.M.Ritchie開發成功的,是用匯編語言寫的)。
  後來,C語言多次作了改進,但主要還是在貝爾實驗室內部使用。直到1- 975年UNIX第6版公佈後 ,C語言的突出優點纔引起人們普遍註意。1977年出現了不依賴於具體機器的C語言編譯文本《可移植C語言編譯程序》,使C移植到其它機器時所做的工作大大簡化了,這也推動了UNIX操作係統迅速地在各種機器上實現。例如,VAX,AT&T等計算機係統都相繼開發了UNIX。隨着 UNIX的日益廣泛使用,C語言也迅速得到推廣。C語言和UNIX可以說是一對孿生兄弟,在發展過程中相輔相成。1978年以後,C語言已先後移植到大、中、小、微型機上,已獨立於UNIX和PDP了。現在C語言已風靡全世界,成為世界上應用最廣泛的幾種計算機語言之一。
  以1978年發表的UNIX第7版中的C編譯程序為基礎,Brian W.Kernighan和 Dennis M.Ritchie(合稱K&R)合著了影響深遠了名著《The C Programming Lan- guage》,這本書中介紹的C語言成為後來廣泛使用的C語言版本的基礎,它被稱為標準C。1983年,美國國傢標準化協會(ANSI)根據C語言問世以來各種版本對C的發展和擴充 ,製定了新的標準,稱為ANSI C。ANSI C比原來的標準C有了很大的發展。K&R在1988年修改了他們的經典著作《The C Progra- mming Language》 ,按照ANSI C的標準重新寫了該書。1987年,ANSI C又公佈了新標準--87 ANSI C 。目前流行的C編譯係統都是以它為基礎的。
  C++ 是脫胎自 C 語言的一種中級語言. 從計算機角度看, 它可以嵌入ASM等低端語言; 從面嚮對象的程序設計角度看, 它有具備OOP的三個基本特徵 -- 抽象, 封裝和繼承; 同時從市場角度來看, 它又不是純面嚮對象, 其實那些純粹的面嚮對象語言的陣地衹是在實驗室.
  比較C語言. C++ 的幾個顯著變化或者解决的問題就是
  1. 名字空間的問題, 原始的C語言使用公共的名字空間, 這樣無論是開發本人還是第三方團隊都面臨變量名字耗盡的問題. 而C++提供獨立的名字空間, 而且對象的引入也為名字空間提供了進一步劃分
  2. 代碼復用的問題, C語言使用函數庫的方式或者DLL方式實現代碼復用, 在接口穩定的前提下實現內部修改和數據及其實現的封裝. C++提供了類庫機製實現了具有層次的代碼復用, 和多種繼承機製, 同時重載等各種機製提供了進一步的復用實現. 使得類庫和代碼更加容易維護, 雖然建立類庫在人員, 組織等各個方面還是比較麻煩的.
  3. 安全機製. 因為有了類機製, 有一些初始化操作可以自動實現
  4. 效率問題. 因為C語言本質上是站在計算機立場的非常註重效率的問題, 但是事物總是具備矛盾的兩面, 過於偏重效率和軟件危機的出現, 反而增加了程序設計的難度. 而OOA的現實世界角度的考慮問題更加貼近自然, 使得代碼或者程序更加具備穩定性, 可擴展性和可維護性.
  下載 Visual Studio 2005 速成版産品
  使用速成版産品開發應用程序入門。速成版産品擴展了 Visual Studio 産品綫,涵蓋了許多輕型、易學易用的工具,以供那些希望構建動態 Windows 應用程序的業餘愛好者、學生和初學者使用。
  .NET Framework 2.0 SDK 和可再發行組件
  下載新的 Microsoft .NET Framework 2.0 版軟件開發工具包 (SDK) 和可再發行組件。包括開發人員在編寫、生成、測試、部署和運行 .NET Framework 應用程序時所需的一切。64 位版本和 x86 版本已發佈。
  免費試用 Visual Studio 2005!
  要評估 Visual Studio 2005,可以有從 Express Edition 到 Trial Edition 到在綫托管體驗多種選擇。找到最適合您的試用體驗,看看 Visual Studio 2005 的強大功能如何轉變您的應用程序。
  Visual C++ Express 版
  為業餘愛好者、 初學者和學生開發人員嘗試此免費、 輕便、 易用,易學的工具。 獲取比其他 Express 版本更好的控製程度的所有馬力。
  Microsoft Windows Vista SDK
  Microsoft Windows Vista 提供了大量在安全,性能,可靠性和管理性方面的新功能。下載 SDK,獲得所有所需的工具來打造托管和本機應用程序,充分利用 WindowsVista 的強大功能。
  Visual Basic 下載
  Visual Studio 開發中心:下載
  ASP.NET 主頁:下載
  Visual C# 開發中心:下載
  為此, 和經典物理同量子物理一樣. C/C++ 今天在不同領域各自發揮着最大的效率.