當前位置:首頁 » 編程軟體 » 編程修辭

編程修辭

發布時間: 2022-06-27 04:52:34

Ⅰ vc屬於什麼編程語言

首先VC是一個軟體(IDE集成開發環境)(編譯、編輯、調試)

C和C++。但C++中的有些特性是不用的,例如I/O流,多態繼承

WindowsSDK(軟體開發工具)

VC的靈魂:MFC(微軟基礎類庫)

ATL(ActiveX模板類庫)

其他的SDK,如OpenGL,DirectX,ActiveMoive,DrawDib(WinG)

VC是許許多多技術的綜合,就好象少林72般絕技,一般在應用中學會其中很少一部分就夠了。我們的現在目的,其實不過是學一套少林長拳。這套長拳應包括:

1、養成一種嚴謹的軟體開發習慣,熟悉軟體工程的基本原則。

2、C語言基礎

3、C++最基本內容:類、繼承性、封裝性、多態性的概念

4、如何用向導建立一個程序框架

5、設計菜單

6、設計工具條

7、設計和使用對話框,熟悉最常用的對話框控制項:按鈕、靜態文本、編輯框等

8、知道怎樣新建類、成員函數、成員變數、消息處理函數。

9、了解最常用的Windows消息:如WM_PAINT(重繪窗口),滑鼠按下、彈起、移動,初始化對話框,等。

10、了解最簡單的GDI(圖形設備介面):寫文字、畫框、畫點、畫線、畫圓,設置畫筆、畫刷。

11、熟悉最常用的MFC類:

CWnd

CDocument

CView

CDC

CDialog

CWinApp

CGdiObject及子類

CString、CPoint、CRect、CSize等簡單數據類型

CFile

以上提到的這些內容,是每個人都會用到的內容。

二、MFC簡介

上述主要內容都是與實際操作關系非常密切的,在此不可能講清楚;而且,這些在一般的書里都會講到。我主要將最重要的MFC介紹一下。

MFC是對WindowsAPI的封裝,大大簡化了我們的工作;學VC主要就是要學MFC,大約有100多個類,但常用的也就二三十個。應該象背4級單詞一樣將這些常用類搞懂;當然不要死記,要通過看幫助、看例子、動手練習來學會它們;而且,並非每個類的內部的所有函數都要學會,要日積月累。如果真的想成為高手,做個筆記本把自己認為重要的類、函數記下來,隨時學習,也是很好的突擊方法。

下面介紹最重要的MFC。

CWnd:窗口,它是大多數「看得見的東西」的父類(Windows里幾乎所有看得見的東西都是一個窗口,大窗口裡有許多小窗口),比如視圖CView、框架窗口CFrameWnd、工具條CToolBar、對話框CDialog、按鈕CButton,etc;一個例外是菜單(CMenu)不是從窗口派生的。該類很大,一開始也不必學,知道就行了。

CDocument文檔,負責內存數據與磁碟的交互。最重要的是OnOpenDocument(讀入),OnSaveDocument(寫盤),Serialize(讀寫)

CView視圖,負責內存數據與用戶的交互。包括數據的顯示、用戶操作的響應(如菜單的選取、滑鼠的響應)。最重要的是OnDraw(重畫窗口),通常用CWnd::Invalidate()來啟動它。另外,它通過消息映射表處理菜單、工具條、快捷鍵和其他用戶消息。你自己的許多功能都要加在裡面,你打交道最多的就是它。

CDC設備文本。無論是顯示器還是列印機,都是畫圖給用戶看。這圖就抽象為CDC。CDC與其他GDI(圖形設備介面)一起,完成文字和圖形、圖像的顯示工作。把CDC想像成一張紙,每個窗口都有一個CDC相聯系,負責畫窗口。CDC有個常用子類CClientDC(窗口客戶區),畫圖通常通過CClientDC完成。

CDialog對話框

CWinApp應用程序類。似於C中的main函數,是程序執行的入口和管理者,負責程序建立、消滅,主窗口和文檔模板的建立。最常用函數InitInstance():初始化。

CGdiObject及子類,用於向設備文本畫圖。它們都需要在使用前選進DC。

CPen筆,畫線

CBrush刷子,填充

CFont字體,控制文字輸出的字體

CBitmap點陣圖

CPalette調色板

CRgn區域,指定一塊區域可以用於做特殊處理。

CFile文件。最重要的不外是Open(打開),Read(讀入),Write(寫)

CString字元串。封裝了C中的字元數組,非常實用。

CPoint點,就是(x,y)對

CRect矩形,就是(left,top,right,bottom)

CSize大小,就是(cx,cy)對(寬、高)

三、用好MSDN和例子

作為提高,推薦看的例子有:

nHello最簡單的程序框架

nScribble滑鼠繪圖。教程:編程基礎,GDI

nDiblook圖像處理最簡單範例

nMFCIE網際網路瀏覽器

nEnroll資料庫

nDaoviewDao(數據訪問對象)範例。樹型和列視控制項

nCubeOpenGL範例,畫一個不斷旋轉的方塊

nHierSvrOLE伺服器

nOclientOLE包容器

nDrawcli滑鼠繪圖。也包括OLE。

nWordPad寫字板。OLE

四、幾點經驗

A.為什麼要用Windows而不是DOS編程

Windows編程並不比DOS編程難很多,只是在剛剛接觸的時候感到頭緒繁多,不知從何下手。實際上,如果你會C語言,你會發現Windows編程的難度並不比當年學C語言時大。DOS編程要想成為高手,也需要學習幾百個函數(無論是TC、BC、MicrosoftC),並要深入了解匯編語言級的DOS功能調用。而現在在Windows下,付出相同的工作量,你卻可以獲得幾倍的收益。如果你以前熟悉DOS編程,現在再搞Windows編程,只要兩個星期肯定會感到巨大的優越性:在DOS下,每一件事都要自己干,而且還有64K內存、顯示精度等的限制,實在是事倍功半了。

B.為什麼要用VC而不是其他Windows編程語言

n大多數大型軟體(包括Windows自己)都是用C、C++編的,所以可以利用的源代碼特別多。例如Photoshop,就有VC的編程介面。的其他的語言都不如VC有歷史優勢。而且VC的開發工具特別多,從控制項公司到硬體開發商,其產品很少敢不提供VC介面的。

nVC適合組織大工程(VB就不行)

nBorlandC++或C++Builder也很不錯,並不比VC差。但BC的版本兼容性不好,從3.1到4.0就出現「代溝」,而且VC提供了極為豐富的文檔和範例,VC的參考資料也遠比BC多。並且VC與其他的VisualStudio成員可以協調工作,對軟體工程有利。

n

C.開始不要學WinAPI編程,但以後最好學學WinAPI

特別要注意,開始不要買講WindowsSDK編程的書。一個臭名昭著的例子就是「HelloWorld」。各種計算機語言在入門課中往往都給出一個例子,顯示一行文字「HelloWorld」,無論是在Basic、C、Pascal,甚至匯編中,這個最簡單的小程序都幾行就可以寫完。但在早期的Windows編程中,剛才講到的「HelloWin」這個有名的例子就要組織一個工程、寫上幾百行代碼才能實現。這就嚇跑了很多想學Windows編程的人。實際上,在Windows下顯示「Helloworld」,最簡單的方法只要5行就夠了:

#include「windows.h」

voidWinMain()

{

MessageBox(NULL,」HelloWorld!」,」MyFirstWindowsApplication」,MB_OK);

}

當然這個程序只建立了一個最簡單的對話框,但這已經夠了。

如果你沒有SDK編程的經驗,學VC就是要利用MFC繞過Windows編程的許多細節。有好的工具為什麼不用呢?現在你在VC寫一個」HelloWorld」,只要寫一行代碼就可以了。

voidCYourView::OnDraw(CDC*pDC)

{

//…….其他的代碼

pDC->TextOut(100,100,」HelloWorld!」);

}

但MFC不是萬能的,WinAPI和VC中有很多功能在MFC中並不能反映出來。在入門後,要想發揮VC的完全能力,WindowsAPI還是非常重要的。而且,這些API在其他Windows語言中也用得到。

學語言,與練武道理也差不多。VC、VB、Dlphi、VFP,以及其他的Windows編程語言,都屬於同一個門派:Windows門,雖然招式不同,但內功都是一樣的,這就是WindowsAPI(應用編程介面),大概是兩千個函數。任何武功,招式即使再復雜,通常也能在很短時間內記下來;但內功就不是一朝一夕的事。而且,各門派的內功不同,Unix、Linux門有Uinx的內功,Apple(蘋果)門有Mac的內功,java更是自成一派。我們這里說的學VC,只是學招式,學招式一個月差不多就夠了,聰明的兩個星期就可以掌握。光學招式,嚇唬人是夠了,但和高手一過招,非出醜不可。要想精通VC,必須熟悉WindowsAPI。

D.高級語言與自然語言

一門高級語言與一門自然語言是類似的。關鍵要素有三:

語法:了解C和C++基本語法,這是比較容易的。

修辭:編程的藝術和風格。通常,這是與軟體工程聯系起來的。演算法上的小伎倆並非是關鍵的。嚴謹,嚴格按照規范去做,同時又能發揮出極大的創造性,才是語言學家的本色。

詞彙:如何利用別人的工作?如何利用自己以前的工作?這是一個軟體工程師成功的關鍵。如果詞彙量不豐富,就寫不出好文章,就會有想法表達不出。一個人的語法在上小學之前就基本上學成了,修辭水平也在年輕時就確定了,惟有詞彙量需要根據需要不斷學習、不斷擴充。VC編程中,擁有大的詞彙量就意味著要掌握較多的類、函數和其他編程組件。如:WindowsSDK,MFC,以及你所專攻的領域的現成的SDK,比如3D編程中的OpenGL,多媒體編程中的DirectX,圖像處理中的Victor庫。另外,ActiveX控制項的掌握往往也是成敗的關鍵。我們這幾年的工作也總結成了一個類庫,叫IPX(圖像處理框架),大大簡化了圖像處理的工作;不過現在還有很多細節問題要解決,如果有同學感興趣可以參與這方面的工作。

學習VC,千萬不要用我們在學校里學英語的方法,而要用小孩學說話的方法。所謂學英語的方法,就是我們在本科時學C語言的那種模式:詳細搞懂每一個細節,背大量的規則,很少上機實踐,沒有實際問題供解決,最後由考試來斷定學習成果。這種模式的後果大家都清楚:我們學了十幾年英語,可有不少人還只會四五千個單詞,寫百把字的文章,不會說,不能聽;尤其要命的是,看不懂VC的幫助文檔。我們要象嬰兒一樣,在使用中學會語法、修辭和詞彙;一開始肯定只能編出最糟糕的,就好象小孩開始只會說:「爸爸坐車車」;但「爸爸」「車車」這些詞對小孩是最需要的,學習的效率反而最高。學VC的時候,應從我的需要出發,先做一個最簡單的東西,然後一點一點復雜起來,象滾雪球一樣。

學習VC尤其要和別人交流,你苦苦思考不明白的,也許別人早就解決了。一定要善於學習:從書店找出有用的書;向身邊的高手學習;尋找可以利用的源代碼、類庫、組件、控制項、庫;如果能上互連網,那就更加能解決問題了。

Ⅱ 學習編程語言應該注意些什麼!

程序學習要點:
1、首先必須要有興趣:無: 花很多精力、時間,效果很少;僅為了謀生,將會很艱難。所以要慢慢培養自己的興趣,方法是多看一些相關的名人事跡,趣聞報道等。有了興趣,事半功倍。
2、慎選語言。男怕入錯行,女怕嫁錯郎。目前主流C++、JAVA。選擇語言,即選擇以後的發展方向,所以必須要慎重。因為人的精力是有限的。選擇語言之後,就要用心鑽研。不要一出現一門新的語言就馬上轉過去。目前企業應用需要的人才最多,而最適合的語言是J。
3、不要幻想一下子成為高手,必須要腳踏實地,必須要遵循語言學習的規律。很多人一學習就開始使用全自動的J開發工具,必須要從J語言的本身入手,抓到J語言的本質,這樣才不能成為工具的奴隸,而是將工具作為奴隸。
4、最重要是:多動手。只看書能夠學到一些理論知識,但並不能發現細節問題,只要在實踐時才能發現。
5、程序最終的結果就是代碼。其它人最終也是在寫代碼,別人的編程思路也是在程序中。所以學習程序的一個捷徑就是參考別人的代碼。如去下載一些網上書店的源代碼,即使沒有書,只看源代碼也能得到較大的進步。另外,隨著水平的提高,還可以去看一些開源框架的源碼,去學習它的思想,參考它的代碼。
6、加強E文的閱讀能力。能說最好;對於開發人員,更重要的是E文閱讀能力。要學習一些新的技術,通常官方文檔都是E文的。專業詞彙本身並不多(不比得華麗的文字修辭詞彙),只要你堅持慢慢去讀,漸漸地就會發現閱讀E文並不困難。
7、有問題,怎麼辦?深有體會。很多學生恨不得找到一個絕招,三二下搞定。這種浮躁的心理表現在一有問題就問老師、同學,這樣就會推力解決問題能力。即使到了公司,一有什麼小問題,你也無法搞定。所以從一開始就要多動腦筋、培養獨立解決問題的能力。有了問題,求人不如求已,萬不得已才請教別人,請教別人也是以問提示為主----注意,培訓解決問題的能力比解決一個具體的技術問題的能力更為重要。一招鮮,吃遍天。
8、多讀好書。好書?適合你的書。開始學習,薄書--少挫折,多信心;入書的看完以後,再用一本較厚的書來多實踐。也可買一本比較全的書來作為參考。學習的方法很重要,學習的順序也很重要。
9、使用適合的工具。強調:不要一開始學習J就使用全自動的開發工具,如Eclipse、JBuilder。有錯誤,很多時間都可以利用開發工具自動修改,而自動修改並不一定是你想要的結果。所以在一門語言的基礎有所了解之前,盡量不要使用太自動的工具。
總結:以上講了程序設計的學習要點,無論你選擇什麼語言,方法都是相通的。

Ⅲ vc是什麼意思

一、VC是什麼?學VC是學什麼?

首先VC是一個軟體(IDE集成開發環境)(編譯、編輯、調試)

C和C++。但C++中的有些特性是不用的,例如I/O流,多態繼承

WindowsSDK(軟體開發工具)

VC的靈魂:MFC(微軟基礎類庫)

ATL(ActiveX模板類庫)

其他的SDK,如OpenGL,DirectX,ActiveMoive,DrawDib(WinG)

VC是許許多多技術的綜合,就好象少林72般絕技,一般在應用中學會其中很少一部分就夠了。我們的現在目的,其實不過是學一套少林長拳。這套長拳應包括:

1、養成一種嚴謹的軟體開發習慣,熟悉軟體工程的基本原則。

2、C語言基礎

3、C++最基本內容:類、繼承性、封裝性、多態性的概念

4、如何用向導建立一個程序框架

5、設計菜單

6、設計工具條

7、設計和使用對話框,熟悉最常用的對話框控制項:按鈕、靜態文本、編輯框等

8、知道怎樣新建類、成員函數、成員變數、消息處理函數。

9、了解最常用的Windows消息:如WM_PAINT(重繪窗口),滑鼠按下、彈起、移動,初始化對話框,等。

10、了解最簡單的GDI(圖形設備介面):寫文字、畫框、畫點、畫線、畫圓,設置畫筆、畫刷。

11、熟悉最常用的MFC類:

CWnd

CDocument

CView

CDC

CDialog

CWinApp

CGdiObject及子類

CString、CPoint、CRect、CSize等簡單數據類型

CFile

以上提到的這些內容,是每個人都會用到的內容。

二、MFC簡介

上述主要內容都是與實際操作關系非常密切的,在此不可能講清楚;而且,這些在一般的書里都會講到。我主要將最重要的MFC介紹一下。

MFC是對WindowsAPI的封裝,大大簡化了我們的工作;學VC主要就是要學MFC,大約有100多個類,但常用的也就二三十個。應該象背4級單詞一樣將這些常用類搞懂;當然不要死記,要通過看幫助、看例子、動手練習來學會它們;而且,並非每個類的內部的所有函數都要學會,要日積月累。如果真的想成為高手,做個筆記本把自己認為重要的類、函數記下來,隨時學習,也是很好的突擊方法。

下面介紹最重要的MFC。

CWnd:窗口,它是大多數「看得見的東西」的父類(Windows里幾乎所有看得見的東西都是一個窗口,大窗口裡有許多小窗口),比如視圖CView、框架窗口CFrameWnd、工具條CToolBar、對話框CDialog、按鈕CButton,etc;一個例外是菜單(CMenu)不是從窗口派生的。該類很大,一開始也不必學,知道就行了。

CDocument文檔,負責內存數據與磁碟的交互。最重要的是OnOpenDocument(讀入),OnSaveDocument(寫盤),Serialize(讀寫)

CView視圖,負責內存數據與用戶的交互。包括數據的顯示、用戶操作的響應(如菜單的選取、滑鼠的響應)。最重要的是OnDraw(重畫窗口),通常用CWnd::Invalidate()來啟動它。另外,它通過消息映射表處理菜單、工具條、快捷鍵和其他用戶消息。你自己的許多功能都要加在裡面,你打交道最多的就是它。

CDC設備文本。無論是顯示器還是列印機,都是畫圖給用戶看。這圖就抽象為CDC。CDC與其他GDI(圖形設備介面)一起,完成文字和圖形、圖像的顯示工作。把CDC想像成一張紙,每個窗口都有一個CDC相聯系,負責畫窗口。CDC有個常用子類CClientDC(窗口客戶區),畫圖通常通過CClientDC完成。

CDialog對話框

CWinApp應用程序類。似於C中的main函數,是程序執行的入口和管理者,負責程序建立、消滅,主窗口和文檔模板的建立。最常用函數InitInstance():初始化。

CGdiObject及子類,用於向設備文本畫圖。它們都需要在使用前選進DC。

CPen筆,畫線

CBrush刷子,填充

CFont字體,控制文字輸出的字體

CBitmap點陣圖

CPalette調色板

CRgn區域,指定一塊區域可以用於做特殊處理。

CFile文件。最重要的不外是Open(打開),Read(讀入),Write(寫)

CString字元串。封裝了C中的字元數組,非常實用。

CPoint點,就是(x,y)對

CRect矩形,就是(left,top,right,bottom)

CSize大小,就是(cx,cy)對(寬、高)

三、用好MSDN和例子

作為提高,推薦看的例子有:

nHello最簡單的程序框架

nScribble滑鼠繪圖。教程:編程基礎,GDI

nDiblook圖像處理最簡單範例

nMFCIE網際網路瀏覽器

nEnroll資料庫

nDaoviewDao(數據訪問對象)範例。樹型和列視控制項

nCubeOpenGL範例,畫一個不斷旋轉的方塊

nHierSvrOLE伺服器

nOclientOLE包容器

nDrawcli滑鼠繪圖。也包括OLE。

nWordPad寫字板。OLE

四、幾點經驗

A.為什麼要用Windows而不是DOS編程

Windows編程並不比DOS編程難很多,只是在剛剛接觸的時候感到頭緒繁多,不知從何下手。實際上,如果你會C語言,你會發現Windows編程的難度並不比當年學C語言時大。DOS編程要想成為高手,也需要學習幾百個函數(無論是TC、BC、MicrosoftC),並要深入了解匯編語言級的DOS功能調用。而現在在Windows下,付出相同的工作量,你卻可以獲得幾倍的收益。如果你以前熟悉DOS編程,現在再搞Windows編程,只要兩個星期肯定會感到巨大的優越性:在DOS下,每一件事都要自己干,而且還有64K內存、顯示精度等的限制,實在是事倍功半了。

B.為什麼要用VC而不是其他Windows編程語言

n大多數大型軟體(包括Windows自己)都是用C、C++編的,所以可以利用的源代碼特別多。例如Photoshop,就有VC的編程介面。的其他的語言都不如VC有歷史優勢。而且VC的開發工具特別多,從控制項公司到硬體開發商,其產品很少敢不提供VC介面的。

nVC適合組織大工程(VB就不行)

nBorlandC++或C++Builder也很不錯,並不比VC差。但BC的版本兼容性不好,從3.1到4.0就出現「代溝」,而且VC提供了極為豐富的文檔和範例,VC的參考資料也遠比BC多。並且VC與其他的VisualStudio成員可以協調工作,對軟體工程有利。

n

C.開始不要學WinAPI編程,但以後最好學學WinAPI

特別要注意,開始不要買講WindowsSDK編程的書。一個臭名昭著的例子就是「HelloWorld」。各種計算機語言在入門課中往往都給出一個例子,顯示一行文字「HelloWorld」,無論是在Basic、C、Pascal,甚至匯編中,這個最簡單的小程序都幾行就可以寫完。但在早期的Windows編程中,剛才講到的「HelloWin」這個有名的例子就要組織一個工程、寫上幾百行代碼才能實現。這就嚇跑了很多想學Windows編程的人。實際上,在Windows下顯示「Helloworld」,最簡單的方法只要5行就夠了:

#include「windows.h」

voidWinMain()

{

MessageBox(NULL,」HelloWorld!」,」MyFirstWindowsApplication」,MB_OK);

}

當然這個程序只建立了一個最簡單的對話框,但這已經夠了。

如果你沒有SDK編程的經驗,學VC就是要利用MFC繞過Windows編程的許多細節。有好的工具為什麼不用呢?現在你在VC寫一個」HelloWorld」,只要寫一行代碼就可以了。

voidCYourView::OnDraw(CDC*pDC)

{

//…….其他的代碼

pDC->TextOut(100,100,」HelloWorld!」);

}

但MFC不是萬能的,WinAPI和VC中有很多功能在MFC中並不能反映出來。在入門後,要想發揮VC的完全能力,WindowsAPI還是非常重要的。而且,這些API在其他Windows語言中也用得到。

學語言,與練武道理也差不多。VC、VB、Dlphi、VFP,以及其他的Windows編程語言,都屬於同一個門派:Windows門,雖然招式不同,但內功都是一樣的,這就是WindowsAPI(應用編程介面),大概是兩千個函數。任何武功,招式即使再復雜,通常也能在很短時間內記下來;但內功就不是一朝一夕的事。而且,各門派的內功不同,Unix、Linux門有Uinx的內功,Apple(蘋果)門有Mac的內功,Java更是自成一派。我們這里說的學VC,只是學招式,學招式一個月差不多就夠了,聰明的兩個星期就可以掌握。光學招式,嚇唬人是夠了,但和高手一過招,非出醜不可。要想精通VC,必須熟悉WindowsAPI。

D.高級語言與自然語言

一門高級語言與一門自然語言是類似的。關鍵要素有三:

語法:了解C和C++基本語法,這是比較容易的。

修辭:編程的藝術和風格。通常,這是與軟體工程聯系起來的。演算法上的小伎倆並非是關鍵的。嚴謹,嚴格按照規范去做,同時又能發揮出極大的創造性,才是語言學家的本色。

詞彙:如何利用別人的工作?如何利用自己以前的工作?這是一個軟體工程師成功的關鍵。如果詞彙量不豐富,就寫不出好文章,就會有想法表達不出。一個人的語法在上小學之前就基本上學成了,修辭水平也在年輕時就確定了,惟有詞彙量需要根據需要不斷學習、不斷擴充。VC編程中,擁有大的詞彙量就意味著要掌握較多的類、函數和其他編程組件。如:WindowsSDK,MFC,以及你所專攻的領域的現成的SDK,比如3D編程中的OpenGL,多媒體編程中的DirectX,圖像處理中的Victor庫。另外,ActiveX控制項的掌握往往也是成敗的關鍵。我們這幾年的工作也總結成了一個類庫,叫IPX(圖像處理框架),大大簡化了圖像處理的工作;不過現在還有很多細節問題要解決,如果有同學感興趣可以參與這方面的工作。

學習VC,千萬不要用我們在學校里學英語的方法,而要用小孩學說話的方法。所謂學英語的方法,就是我們在本科時學C語言的那種模式:詳細搞懂每一個細節,背大量的規則,很少上機實踐,沒有實際問題供解決,最後由考試來斷定學習成果。這種模式的後果大家都清楚:我們學了十幾年英語,可有不少人還只會四五千個單詞,寫百把字的文章,不會說,不能聽;尤其要命的是,看不懂VC的幫助文檔。我們要象嬰兒一樣,在使用中學會語法、修辭和詞彙;一開始肯定只能編出最糟糕的,就好象小孩開始只會說:「爸爸坐車車」;但「爸爸」「車車」這些詞對小孩是最需要的,學習的效率反而最高。學VC的時候,應從我的需要出發,先做一個最簡單的東西,然後一點一點復雜起來,象滾雪球一樣。

學習VC尤其要和別人交流,你苦苦思考不明白的,也許別人早就解決了。一定要善於學習:從書店找出有用的書;向身邊的高手學習;尋找可以利用的源代碼、類庫、組件、控制項、庫;如果能上互連網,那就更加能解決問題了。
參考資料:http://sentven.blogchina.com/3647789.html

Ⅳ 學編程的要求有哪些

俗話說,沒有金剛鑽,就別攬瓷器活兒。套用到
IT
業,英語不行,就別做程序員。網上關
於程序員學英語的文章不少,
但我想談談我自己的看法。
首先詳細討論一下為什麼程序員離
了英語不行,然後針對程序員應該怎麼學英語說說我的體會。

英語是計算機的母語,是程序的母語,所以必然是程序員的母語。
程序中的變數名、函數名
起得好不好是決定代碼質量和可維護性的最關鍵因素。
高質量的代碼應該是這樣的:
代碼基
本上是自解釋的(
self-explanatory
),不需要太多注釋,不管代碼的規模有多大,具有相
關知識背景的讀過文檔的人都可以立刻上手、
立刻參與維護和開發。
要想使代碼能夠自解釋,
給變數和函數起個好名字很關鍵,
很顯然,
只能用英文起名字,
一是用漢語拼音起名字可讀
性很差,二是英文單詞通常比漢語更
expressive
(看吧,如果用漢語來說,就得說「表達
能力更強」、「更有表現力」這么羅嗦)
,由於程序的復雜性,變數和函數往往表示一些很
抽象的概念,
起個既准確又簡潔的名字並不容易,
可是很多時候,
用漢語需要很多字才能說
清楚的一件事,用英文一個單詞再加點詞形變化就能說清楚了。例如
APUE
上講
sleep
函數
的實現,
其中有個變數表示「本來應該睡到某個時刻,
但是提前被信號喚醒了,
喚醒時與本
來應該睡到的時刻相差的時間」,
如果為了簡潔而不求准確,
這個變數名至少也得叫「未睡
到」,而書中只用了一個單詞
unslept
,非常准確、簡潔地表達了這個意思。為了寫程序而
學英語需要學到什麼水平?我認為能起出這種變數名就夠水平了。很多在
IT
外企工作的中
國人,說話寫文章經常夾雜著英文單詞(比我嚴重多了因為我不在外企),非常可以理解,
確實是為了表達得更准確簡潔的需要,而不是純為了
play
zhuangbility
。總之,要寫程序
必須學好英語,
否則連變數名都起不好,
這雖然是一個非技術問題,但卻是個根本問題,比
任何技術問題都重要。當然,現在很多編程語言也支持用
Unicode
字元給變數和函數起名,
但是你見過有人用漢字寫程序嗎?根本不實用。
有人會辯駁說一頁英文翻譯成中文往往只佔
半頁,中文不是更簡潔嗎?但是你算算打一頁英文和打半頁中文哪個敲鍵盤次數多。另外,
要讀別人的代碼也必須學好英語,如果你不知道
unslept
是由
sleep
變形而來的,就體會
不到其中的精妙,
只有大量閱讀高質量的代碼,
才能寫出高質量的代碼,
創作都是從模仿開
始的。

說說英語對於看書學習的重要性。
中文技術書和英文技術書的水平根本不在一個量級上,

是有很多原因的,
不能全歸結於中文書的作者水平差。
最重要的是,
出中文書的低回報率決
定了作者不可能花太多心血在上面,你去
amazon
看看一本書賣多少美刀,再去
chinapub
看看一本書賣幾塊錢。
老外寫一本書,
可以做到全書沒有一個拼寫錯誤
(當然英文的拼寫檢
查工具更完善也是部分原因),中文能找出一本沒有錯別字的書嗎?
Knuth
可以懸賞讓全世
界讀者來找磋,
中文書作者有哪個敢這么做?不是因為老外態度有多認真治學有多嚴謹,

是因為他們賺到了,就應該拿出高質量的作品來,不然會被讀者罵的。

英文技術書的翻譯質量通常很差。
也不能歸結於譯者的水平差,
我也翻譯過書,
也努力想譯
好,但真的很難譯好。
IT
業的新名詞層出不窮,像「內核」、「網路」這種常見術語還好,
稍微專一點的術語都沒有統一的譯名。
我們在教學中發現,
很多學員看書時搞不清這本書的
名詞
A
和那本書的名詞
B
是什麼區別,
來問老師,
才發現原來
A

B
就是一回事兒。
這是一
個單詞對應多個譯名的情況,
還有一個譯名對應多個單詞的情況,
比如
field

domain

realm
都譯成「域」,
block

bulk
都譯成「塊」,
argument

parameter
都譯成「參數」,
attribute

property
都譯成「屬性」,雖然這些詞的意思本來就差不多,但是在一篇文章

里,作者可以換著用,不同的單詞表示不同的概念,翻譯完了一看,都成一個概念了。英文
書背後都有
index
,看到一半忘了某個名詞是怎麼定義的就可以翻
index
,而譯文通常沒有
index
,名詞都已經亂七八糟了,沒法做
index
。還有更發指的是,老外喜歡造詞,現有的
單詞上加一點變化和組合(例如有人喜歡說
automagically
),看著心領神會,想譯出來就
很費勁。
老外即使在技術書中也經常用一些生動的表達方式和俏皮話,
而中文的書面語言非
常死板,
生動的表達方式只存在於口語中,
如果寫在書上就很不像話,
這也是很難翻譯的一
個重要原因。看中文譯本,不僅質量差,而且跟不上時代,通常一本英文書出來,至少要等
一到兩年才能看到中文譯本。
兩年啊!
等你看到這本書的中文譯本時,
這個版本都快淘汰了。

然後說說英語在開發工作中的重要性。
看書學習通常只起一個引導入門的作用,
在工作中更
有用的是手冊、文檔。學完了
C
語言開始寫程序了,誰還會去查
K&R
附錄中的庫函數?查
man page
才是最有效率的。然而手冊比入門書更少有中文譯版,因為手冊是隨時變的,會
隨著軟體版本更新,
而且需要看這些開發手冊的人通常不會有英文障礙,
有英文障礙的人即
使看了翻譯的手冊也寫不出好程序來,
所以當然沒必要翻譯了。
不管什麼技術,
官方的手冊
和技術標准才是最原始的第一手資料,
看別的書都是以訛傳訛,
由於自然語言不可避免是有
歧義的,
文檔中表達得不準確的地方就會被文檔的讀者也就是技術書的作者誤解,
技術書中
再有表達不準確的地方又被譯者誤解。
我們小時候都玩過傳話的游戲,
幾個人站一排,
通過
悄悄話傳一句話,傳到最後變成什麼了?所以,學網路協議,就得看
RFC
,學
ARM
,就得看
ARM
公司的
Architecture Reference Manual
,要學習
C
語言就得看
C99
,有歧義不要緊,
自己去揣測原作者的意思,總比道聽途說的可靠。

我們的學員出去面試經常被問到的一個問題就是:
在開發工作中遇到問題,
書和文檔上都沒
有答案,網上搜一下也沒有答案,怎麼辦?要我說,能看懂源代碼的就去源代碼中找答案,
這稱為
hacking
,不管是內核、
libc
還是各種
framework
,你調用的東西有問題都能從它的
代碼中找到原因。如果沒有能力
hacking
,或者時間緊不想去
hacking
,最好的辦法就是去
官方郵件列表和
IRC
問。
如果英文不行就沒辦法了,
只能去一些中文論壇:
「各位大蝦幫忙,
小弟有一個問題求救!
跪求!

在線等!


」在線等了好幾天也無人問津,
或者答非所問。
豈不知逛這些論壇的沒有大蝦,都是菜鳥,大蝦們都在
IRC
上聊得正歡呢。我在做
Qt
開發
時曾經有一個問題,
當時在教育網,
上國外網不方便,
去各大中文論壇問了好幾天也沒人給
出滿意的回答,後來花錢連了國外網,去
trolltech
官方新聞組提問,只等了幾分鍾就得
到了滿意的解決辦法。這次經歷給我留下了深刻印象,從此以後再也沒有去中文論壇。

那麼,
如果現在英文水平很差,
又想做程序員,
應該怎麼學英語呢?我下面說的方法有兩個
前提,
一是你的英文至少達到高中畢業水平,
也就是語法基本都學完了,
即使用得不熟練也
知道有那麼回事兒,二是你希望盡快在工作中用上英語,寫程序夠用就行,而不是有考
T

G
這樣的更高要求。

學習英語有聽說讀寫四個方面的要求,
做程序員至少需要讀和寫非常流暢,
如果在外企工作
還需要聽和說的能力。技術英語和考
T

G
是不一樣的,一是聽和說不像讀和寫那麼重要,
不必擔心自己是「聾啞英語」,
沒關系,
絲毫不影響你成為編程高手,
二是要求的詞彙量要
小得多。

T

G
都要拿一本單詞書背,
很少有人會覺得背單詞很有意思,
至少我是覺得很
痛苦,
幸運的是看技術書不需要多少詞彙量。
技術書的描述對象都是局限於一個很窄的領域
的,
就那麼幾個單詞翻來覆去地用,
而且技術書是為了讓人看懂的
(不像詩是為了讓人看不
懂的)
,比較復雜的詞在書中都有定義或解釋。有些作者喜歡賣弄詞彙量,
用一些很生僻的

單詞,也有些作者賣弄一些典故,由於文化背景不同很難理解,不過這些通常都可以無視,
不會影響閱讀,
還是因為技術書是為了讓人看懂的。
對於學習者來說,
閱讀能力是最重要的,
等你完成了學習,成為一個合格的開發者時,
需要寫代碼注釋,需要寫文檔,需要通過郵件
交流,寫作的能力才開始重要了。所以應該首先從閱讀開始練習英語。

現在就拿起一本英文原版書開始看吧。
和學游泳一樣,
閱讀的能力只能通過閱讀本身來練習。
我的經驗是,
不必先系統學習了單詞和語法再看書,
可以在看書時用到什麼就補什麼。
我建
議初學者看電子版,
因為現在的詞典軟體都可以滑鼠取詞,
邊看邊查很方便,
很多勤快人喜
歡把查過的單詞都抄下來,我覺得沒有必要,
反正查字典很方便,
下次再看到了就再查,多
查幾次總會記住的,
抄下來就打斷了看書的思路,
而且不見得抄下來就能記住。
也許是因為
我這人比較懶,
我用的都是懶辦法。
很多人不喜歡看電子書,
理由是盯著屏幕看書太累,那
么盯著屏幕寫程序累不累?這種人顯然不適合做程序員。
語法不熟練怎麼辦?大多數情況下
單詞的意思都明白了就不影響閱讀。
技術書有時候喜歡用長句,
其中可能包含各種從句,

果實在讀不懂就去查語法書,
同樣也不需要把這種從句徹底弄明白,
只要這一句能看過去就
行了,以後多查幾遍書,自然就掌握了。另外,技術書是說明文,通常不應該有過去時,看
到過去時就需要注意了,
很可能是虛擬語氣,
如果不注意這一點,
看到的意思可能和真實的
意思正好相反。

應該從哪本書開始看起呢?從你當前最需要學的技術書看起。
看書是相當花時間的,
如果能
一邊學英語一邊學技術,
這時間利用得就很有效率。
比如,
如果你的
C
語言已經學得相當好
了,不要專門為了學英語去重看一遍原版的
K&R
。市面上有一些專門的計算機英語教材,我
的建議是不要看,浪費時間,
nonsense

初學時最好選一本有中文譯本的書,有看不懂的地
方可以翻中文版來對照,
但是不要相信中文的翻譯,
原因在前面討論過了。
如果你是初學編
程,沒有任何基礎,我可以推薦一本英文很淺顯技術也很淺顯的書:
How To Think Like a
Computer Scientist
,有
Python

Java

C++
版本,可自由下載。

要逐漸養成良好的閱讀習慣。
一是不要每個生單詞都去查,
有些單詞很生僻,
查了也記不住,
記住了也不會再見到它了,
但是前面講過,
都是作者在賣弄詞彙量,
無視它絲毫不影響閱讀,
因此要學會猜測單詞的意思,能不查就不查,繼續貫徹「懶」的原則。二是看書不要動口,
不念出聲也不行,
就是不要動口,
要努力在大腦中建立從詞形到語義的直接映射,
如果只能
從詞形到讀音再到語義就太慢了,
嚴重影響閱讀速度。
三是努力做到每句話都從頭到尾只看
一遍,
不許回頭反復看,
這一點比較難,
必須注意力高度集中,經常在記憶中暫存前面半句
的內容和句式才能做到,
但是一旦神功練成就會成倍地提高閱讀速度。
最後一層境界,
學會
skim

就是略讀,
很多優秀的作者在組織材料時會給讀者一些建議,
比如這一段是擴展的高
級話題,和主線的相關度較低,
可以先
skim
到後面,注意不是讓你
skip
到後面,這一段還
是要讀的,
但是不必逐字句地讀,
而是抓主旨,
大概講了個什麼概念
(有一些下定義的句式)

有哪些要點
(有數字編號或
bullet
列表項)

適用於哪些場合有哪些注意事項
(有
caveat

gotcha

noteworthy
這種字眼),後面可能還會碰到這個概念,雖然你沒有仔細看這是個
什麼東西,
但大體上也知道了,
這樣就能不影響後面的閱讀,
這不僅需要高度集中的注意力、
熟練的語言能力,
而且要有足夠的背景知識去猜測性地理解。
但是語言能力還是最重要的因
素,我和幾個同學交流過,他們也能熟練地看英文書,但是需要
skim
查一個東西時就覺得
還是不如中文書查得快。
skim
的技能在查閱手冊時尤其重要,沒有人會像看入門書一樣把
上千頁的手冊從頭到尾看一遍,
都是用到哪兒就查哪兒。
總之,
鍛煉各種閱讀習慣就為了一
個目的:如何在最短的時間內,
在保證正確性的前提下,
獲取盡可能多的知識。程序員的學

習時間都是非常寶貴的。

以上本著「夠用就好」的原則,
多次提到用懶辦法,
但是學技術學英語這兩件事不能懶,

在堅持。
要養成良好的閱讀習慣也有很多東西需要堅持,
其中最根本的是持續高度集中注意
力,充分調動記憶能力、推理能力、猜測能力,就像考試做閱讀題一樣看每一段話。最根本
也是最重要的,
「有英文原版就不看中文版」這個原則一定要堅持。
一開始看英文書可能會
很慢,
但只要一直堅持就會慢慢達到原來看中文書的速度,
再堅持下去就會比中文書看得更
有效率,因為避免了很多歧義和術語翻譯的問題。
有人會說,
項目緊任務急,看英文資料太
慢,
這次就先用中文盡快解決工作中的問題吧,
等以後有時間了再看英文書學習。
可是什麼
時候才會有時間呢?工作總是一個接一個的,
老闆怎麼會付了工資讓你閑著呢?如果你有這
樣的困難,
我的建議是乾脆辭職,學好了英文再去工作。
你只要想想,
你的同行們在外企全
英文的環境下工作,
英文和技術每天都在突飛猛進,
而你還在用效率極其低下的方式學習和
工作,
你和別人的差距不是越來越大了嗎?另一方面,
現在的在校學生從小學就開始抓英語,
基礎都很好,
很多高校也逐漸重視引進原版教材,
開設很多英文授課的專業課。
你再不奮起
直追,就不覺得以後的職業道路充滿危機嗎?

最後說說寫作。
剛開始練習時不要怕寫錯,
能表達清楚自己的意思即可。
我看過很多源代碼
和文檔中的英文,一看就是中國人寫的,謂語動詞不分單復數,名詞復數不加
s
,處處可見
中國式英語,
但是絲毫不影響我對這些編程大牛的景仰,
因為其中的思想我看懂了,
並且我
認為很強大。我有一個朋友,中學畢業就出來混的,由於工作的性質總要跟老外打交道,他
從來不懼和老外交流,
雖然連一個囫圇的句子都說不出來,
但總是能用中學學的那點單詞讓
老外明白他的意思,
這一點我就非常佩服。
總之就是說,
不要因為不知道怎麼寫是對的就不
敢動筆寫,
只要敢交流,
並且別人能懂你的意思,
就是很有效的交流。
而且隨著閱讀量的增
加,自然能寫出一手好英文,前面講過了,創作總是從模仿開始的。不怕出錯才能有一個好
的開始,
才能逐步練習提高,
而練習的最終目的當然還是希望寫好,
不僅字句通順無語法錯
誤,還能適當修辭。

Ⅳ VC是什麼

一、VC是什麼?學VC是學什麼?

首先VC是一個軟體(IDE集成開發環境)(編譯、編輯、調試)

C和C++。但C++中的有些特性是不用的,例如I/O流,多態繼承

WindowsSDK(軟體開發工具)

VC的靈魂:MFC(微軟基礎類庫)

ATL(ActiveX模板類庫)

其他的SDK,如OpenGL,DirectX,ActiveMoive,DrawDib(WinG)

VC是許許多多技術的綜合,就好象少林72般絕技,一般在應用中學會其中很少一部分就夠了。我們的現在目的,其實不過是學一套少林長拳。這套長拳應包括:

1、養成一種嚴謹的軟體開發習慣,熟悉軟體工程的基本原則。

2、C語言基礎

3、C++最基本內容:類、繼承性、封裝性、多態性的概念

4、如何用向導建立一個程序框架

5、設計菜單

6、設計工具條

7、設計和使用對話框,熟悉最常用的對話框控制項:按鈕、靜態文本、編輯框等

8、知道怎樣新建類、成員函數、成員變數、消息處理函數。

9、了解最常用的Windows消息:如WM_PAINT(重繪窗口),滑鼠按下、彈起、移動,初始化對話框,等。

10、了解最簡單的GDI(圖形設備介面):寫文字、畫框、畫點、畫線、畫圓,設置畫筆、畫刷。

11、熟悉最常用的MFC類:

CWnd

CDocument

CView

CDC

CDialog

CWinApp

CGdiObject及子類

CString、CPoint、CRect、CSize等簡單數據類型

CFile

以上提到的這些內容,是每個人都會用到的內容。

二、MFC簡介

上述主要內容都是與實際操作關系非常密切的,在此不可能講清楚;而且,這些在一般的書里都會講到。我主要將最重要的MFC介紹一下。

MFC是對WindowsAPI的封裝,大大簡化了我們的工作;學VC主要就是要學MFC,大約有100多個類,但常用的也就二三十個。應該象背4級單詞一樣將這些常用類搞懂;當然不要死記,要通過看幫助、看例子、動手練習來學會它們;而且,並非每個類的內部的所有函數都要學會,要日積月累。如果真的想成為高手,做個筆記本把自己認為重要的類、函數記下來,隨時學習,也是很好的突擊方法。

下面介紹最重要的MFC。

CWnd:窗口,它是大多數「看得見的東西」的父類(Windows里幾乎所有看得見的東西都是一個窗口,大窗口裡有許多小窗口),比如視圖CView、框架窗口CFrameWnd、工具條CToolBar、對話框CDialog、按鈕CButton,etc;一個例外是菜單(CMenu)不是從窗口派生的。該類很大,一開始也不必學,知道就行了。

CDocument文檔,負責內存數據與磁碟的交互。最重要的是OnOpenDocument(讀入),OnSaveDocument(寫盤),Serialize(讀寫)

CView視圖,負責內存數據與用戶的交互。包括數據的顯示、用戶操作的響應(如菜單的選取、滑鼠的響應)。最重要的是OnDraw(重畫窗口),通常用CWnd::Invalidate()來啟動它。另外,它通過消息映射表處理菜單、工具條、快捷鍵和其他用戶消息。你自己的許多功能都要加在裡面,你打交道最多的就是它。

CDC設備文本。無論是顯示器還是列印機,都是畫圖給用戶看。這圖就抽象為CDC。CDC與其他GDI(圖形設備介面)一起,完成文字和圖形、圖像的顯示工作。把CDC想像成一張紙,每個窗口都有一個CDC相聯系,負責畫窗口。CDC有個常用子類CClientDC(窗口客戶區),畫圖通常通過CClientDC完成。

CDialog對話框

CWinApp應用程序類。似於C中的main函數,是程序執行的入口和管理者,負責程序建立、消滅,主窗口和文檔模板的建立。最常用函數InitInstance():初始化。

CGdiObject及子類,用於向設備文本畫圖。它們都需要在使用前選進DC。

CPen筆,畫線

CBrush刷子,填充

CFont字體,控制文字輸出的字體

CBitmap點陣圖

CPalette調色板

CRgn區域,指定一塊區域可以用於做特殊處理。

CFile文件。最重要的不外是Open(打開),Read(讀入),Write(寫)

CString字元串。封裝了C中的字元數組,非常實用。

CPoint點,就是(x,y)對

CRect矩形,就是(left,top,right,bottom)

CSize大小,就是(cx,cy)對(寬、高)

三、用好MSDN和例子

作為提高,推薦看的例子有:

nHello最簡單的程序框架

nScribble滑鼠繪圖。教程:編程基礎,GDI

nDiblook圖像處理最簡單範例

nMFCIE網際網路瀏覽器

nEnroll資料庫

nDaoviewDao(數據訪問對象)範例。樹型和列視控制項

nCubeOpenGL範例,畫一個不斷旋轉的方塊

nHierSvrOLE伺服器

nOclientOLE包容器

nDrawcli滑鼠繪圖。也包括OLE。

nWordPad寫字板。OLE

四、幾點經驗

A.為什麼要用Windows而不是DOS編程

Windows編程並不比DOS編程難很多,只是在剛剛接觸的時候感到頭緒繁多,不知從何下手。實際上,如果你會C語言,你會發現Windows編程的難度並不比當年學C語言時大。DOS編程要想成為高手,也需要學習幾百個函數(無論是TC、BC、MicrosoftC),並要深入了解匯編語言級的DOS功能調用。而現在在Windows下,付出相同的工作量,你卻可以獲得幾倍的收益。如果你以前熟悉DOS編程,現在再搞Windows編程,只要兩個星期肯定會感到巨大的優越性:在DOS下,每一件事都要自己干,而且還有64K內存、顯示精度等的限制,實在是事倍功半了。

B.為什麼要用VC而不是其他Windows編程語言

n大多數大型軟體(包括Windows自己)都是用C、C++編的,所以可以利用的源代碼特別多。例如Photoshop,就有VC的編程介面。的其他的語言都不如VC有歷史優勢。而且VC的開發工具特別多,從控制項公司到硬體開發商,其產品很少敢不提供VC介面的。

nVC適合組織大工程(VB就不行)

nBorlandC++或C++Builder也很不錯,並不比VC差。但BC的版本兼容性不好,從3.1到4.0就出現「代溝」,而且VC提供了極為豐富的文檔和範例,VC的參考資料也遠比BC多。並且VC與其他的VisualStudio成員可以協調工作,對軟體工程有利。

n

C.開始不要學WinAPI編程,但以後最好學學WinAPI

特別要注意,開始不要買講WindowsSDK編程的書。一個臭名昭著的例子就是「HelloWorld」。各種計算機語言在入門課中往往都給出一個例子,顯示一行文字「HelloWorld」,無論是在Basic、C、Pascal,甚至匯編中,這個最簡單的小程序都幾行就可以寫完。但在早期的Windows編程中,剛才講到的「HelloWin」這個有名的例子就要組織一個工程、寫上幾百行代碼才能實現。這就嚇跑了很多想學Windows編程的人。實際上,在Windows下顯示「Helloworld」,最簡單的方法只要5行就夠了:

#include「windows.h」

voidWinMain()

{

MessageBox(NULL,」HelloWorld!」,」MyFirstWindowsApplication」,MB_OK);

}

當然這個程序只建立了一個最簡單的對話框,但這已經夠了。

如果你沒有SDK編程的經驗,學VC就是要利用MFC繞過Windows編程的許多細節。有好的工具為什麼不用呢?現在你在VC寫一個」HelloWorld」,只要寫一行代碼就可以了。

voidCYourView::OnDraw(CDC*pDC)

{

//…….其他的代碼

pDC->TextOut(100,100,」HelloWorld!」);

}

但MFC不是萬能的,WinAPI和VC中有很多功能在MFC中並不能反映出來。在入門後,要想發揮VC的完全能力,WindowsAPI還是非常重要的。而且,這些API在其他Windows語言中也用得到。

學語言,與練武道理也差不多。VC、VB、Dlphi、VFP,以及其他的Windows編程語言,都屬於同一個門派:Windows門,雖然招式不同,但內功都是一樣的,這就是WindowsAPI(應用編程介面),大概是兩千個函數。任何武功,招式即使再復雜,通常也能在很短時間內記下來;但內功就不是一朝一夕的事。而且,各門派的內功不同,Unix、Linux門有Uinx的內功,Apple(蘋果)門有Mac的內功,Java更是自成一派。我們這里說的學VC,只是學招式,學招式一個月差不多就夠了,聰明的兩個星期就可以掌握。光學招式,嚇唬人是夠了,但和高手一過招,非出醜不可。要想精通VC,必須熟悉WindowsAPI。

D.高級語言與自然語言

一門高級語言與一門自然語言是類似的。關鍵要素有三:

語法:了解C和C++基本語法,這是比較容易的。

修辭:編程的藝術和風格。通常,這是與軟體工程聯系起來的。演算法上的小伎倆並非是關鍵的。嚴謹,嚴格按照規范去做,同時又能發揮出極大的創造性,才是語言學家的本色。

詞彙:如何利用別人的工作?如何利用自己以前的工作?這是一個軟體工程師成功的關鍵。如果詞彙量不豐富,就寫不出好文章,就會有想法表達不出。一個人的語法在上小學之前就基本上學成了,修辭水平也在年輕時就確定了,惟有詞彙量需要根據需要不斷學習、不斷擴充。VC編程中,擁有大的詞彙量就意味著要掌握較多的類、函數和其他編程組件。如:WindowsSDK,MFC,以及你所專攻的領域的現成的SDK,比如3D編程中的OpenGL,多媒體編程中的DirectX,圖像處理中的Victor庫。另外,ActiveX控制項的掌握往往也是成敗的關鍵。我們這幾年的工作也總結成了一個類庫,叫IPX(圖像處理框架),大大簡化了圖像處理的工作;不過現在還有很多細節問題要解決,如果有同學感興趣可以參與這方面的工作。

學習VC,千萬不要用我們在學校里學英語的方法,而要用小孩學說話的方法。所謂學英語的方法,就是我們在本科時學C語言的那種模式:詳細搞懂每一個細節,背大量的規則,很少上機實踐,沒有實際問題供解決,最後由考試來斷定學習成果。這種模式的後果大家都清楚:我們學了十幾年英語,可有不少人還只會四五千個單詞,寫百把字的文章,不會說,不能聽;尤其要命的是,看不懂VC的幫助文檔。我們要象嬰兒一樣,在使用中學會語法、修辭和詞彙;一開始肯定只能編出最糟糕的,就好象小孩開始只會說:「爸爸坐車車」;但「爸爸」「車車」這些詞對小孩是最需要的,學習的效率反而最高。學VC的時候,應從我的需要出發,先做一個最簡單的東西,然後一點一點復雜起來,象滾雪球一樣。

學習VC尤其要和別人交流,你苦苦思考不明白的,也許別人早就解決了。一定要善於學習:從書店找出有用的書;向身邊的高手學習;尋找可以利用的源代碼、類庫、組件、控制項、庫;如果能上互連網,那就更加能解決問題了。

Ⅵ 什麼是VB什麼是VC它們有什麼區別

VB 是Visual Basic編程語言

1991年,美國微軟公司推出了Visual Basic(可簡稱VB),目前的最新版本是VB 2005(VB8)中文版。

Visual 意即可視的、可見的,指的是開發像windows操作系統的圖形用戶界面(Graphic User Interface,GUI)的方法,它不需要編寫大量代碼去描述界面元素的外觀和位置,只要把預先建立好的對象拖放到屏幕上相應的位置即可。

Basic指的是Beginners all_purpose symbolic instruction code 初始者通用符號指令代碼語言。

Visual Basic有學習版、專業版和企業版三種版本,以滿足不同的開發需要。學習版適用於普通學習者及大多數使用Visual Basic開發一般Windows應用程序的人員,但是;專業版適用於計算機專業開發人員,包括了學習版的全部內容功能以及Internet控制項開發工具之類的高級特性;企業版除包含專業版全部的內容外,還有自動化構件管理器等工具,使得專業編程人員能夠開發功能強大的組骨子裡分布式應用程序。

VB是一種可視化的、面向對象和採用事件驅動方式的結構化高級程序設計語言,可用於開發Windows環境下的各類應用程序。它簡單易學、效率高,且功能強大可以與Windowsr專業開發工具SDK相媲美。在Visual Basic環境下,利用事件驅動的編程機制、新穎易用的可視化設計工具,使用Windows內部的廣泛應用程序介面(API)函數,以用動態鏈接庫(DLL)、對象的鏈接與世隔嵌入(OLE)、開放式數據連接(ODBC)等技術,可以高效、快速地開發Windows環境下功能強大、圖形界面豐富的應用軟體系統。隨著版本的提高,Visual Basic的功能也越來越強。5.0版以後,Visual Basic推出了中文版,與前個版本相比,其功能有了很大提升。

在二十一世紀初,microsoft公司推出Visual Studio 2003與Visual Basic之間有了重大變化,Visual Studio為各種編程工具做了一個平台,Visual Basic.NET可在這種平台上運行。相對於傳統VB,有很大的不同。VB.Net,首次使用.Net構架進行可視化編程,並且能很好地與COM構架兼容。2005年Visual Studio 2005則運用了NET 2.0的技術,更加的方便了程序員的工作。可是新的程序對系統配置要求也較高,需要微軟.Net Framework 2.0以上的.Net構架支持。

另外VB(V代表Vitamin)還有一個意思:維生素B

維生素B包括維生素B1、維生素B2、維生素B6、維生素B12、煙酸、泛酸、葉酸。這些B族維生素是推動體內代謝,把糖、脂肪、蛋白質等轉化成熱量時不可缺少的物質。如果缺少維生素B,則細胞功能馬上降低,引起代謝障礙,這時人體會出現怠滯和食慾不振。相反喝酒過多等導致肝臟損害,在許多場合下是和維生素B缺乏症並行的。

以下是含有豐富維生素B的食品:

①含有豐富維生素B1的食品:小麥胚芽、豬腿肉、大豆、花生、里肌肉、火腿、黑米、雞肝、胚芽米等。

②含有豐富維生素B2的食品:七腮鰻、牛肝、雞肝、香菇、小麥胚芽、雞蛋、乳酪等。

③含有維生素B6、維生素B12、煙酸、泛酸和葉酸等食品: 肝、肉類、牛奶、酵母、魚、豆類、蛋黃、堅果類、菠菜、乳酪等。其中的維生素B1在人體內無法貯存,所以應每天補充。

B族維生素若想全部攝取比較困難,但是認真選擇食物就可以簡單且方便的攝取。上述含有維生素B的食物可以分為①和②③兩組。看看上述分類就可以明白,②和⑧全都含在大體相同的食物中。因此①作為一組食物,②和③合在一起形成一組食物,組合選擇兩組食物,基本上可以把B族維生素攝取到手。

VB的還有第三種意思

價鍵理論
valence-bond theory

一種獲得分子薛定諤方程近似解的處理方法。又稱電子配對法。歷史上最早發展起來的化學鍵理論。主要描述分子中的共價鍵和共價結合,其核心思想是電子配對形成定域化學鍵。
1927年W.H.海特勒和F.W.倫敦首次完成了氫分子中電子對鍵的量子力學近似處理,這是近代價鍵理論的基礎。L.C.鮑林等加以發展,引入雜化軌道概念,綜合成價鍵理論,成功地應用於雙原子分子和多原子分子的結構。
價鍵理論是海特勒倫敦處理氫分子方法的推廣,要點如下:①若兩原子軌道互相重疊,兩個軌道上各有一個電子,且電子自旋方向相反,則電子配對給出單重態,形成一個電子對鍵。②兩個電子相互配對後,不能再與第三個電子配對,這就是共價鍵的飽和性。③遵循最大重疊原則,共價鍵沿著原子軌道重疊最大的方向成鍵。共價鍵具有方向性。原子軌道通常在某個特定方向上有最大值,只有在此方向上軌道間才有最大重疊而形成共價鍵。不同原子軌道有不同成鍵能力。原子軌道的最大值作為原子軌道成鍵能力的度量,鮑林給出s、p、d、f等原子軌道成鍵能力依次為1、3、5、7。在主量子數相同時,成鍵能力大的軌道形成的共價鍵較牢固。
價鍵理論與化學家所熟悉的經典電子對鍵概念相吻合,一出現就得到迅速發展。但價鍵理論計算比較復雜,使得後來發展緩慢。隨著計算技術日益提高,該理論還會有新發展。

在乙太網技術中,VB稱做:虛擬網橋(Virtual Bridge)
VB其實是為了管理方便對管理域的一個劃分,相當於一個虛擬的L2 Lanswitch。在城域網的應用中,VB是基於用戶劃分的。即:每個用戶都有自己獨立的VB,其中包含多個vlan標簽和mac地址。由於各個VB之間相互隔離,不同的VB可分配相同的vlan而互不影響,而基於vlan劃分VB的L2晶元不能區分不同用戶的相同vlan。

一、VC是什麼?學VC是學什麼?

首先VC是一個軟體(IDE集成開發環境)(編譯、編輯、調試)

C和C++。但C++中的有些特性是不用的,例如I/O流,多態繼承

WindowsSDK(軟體開發工具)

VC的靈魂:MFC(微軟基礎類庫)

ATL(ActiveX模板類庫)

其他的SDK,如OpenGL,DirectX,ActiveMoive,DrawDib(WinG)

VC是許許多多技術的綜合,就好像少林72般絕技,一般在應用中學會其中很少一部分就夠了。我們的現在目的,其實不過是學一套少林長拳。這套長拳應包括:

1、養成一種嚴謹的軟體開發習慣,熟悉軟體工程的基本原則。

2、C語言基礎

3、C++最基本內容:類、繼承性、封裝性、多態性的概念

4、如何用向導建立一個程序框架

5、設計菜單

6、設計工具條

7、設計和使用對話框,熟悉最常用的對話框控制項:按鈕、靜態文本、編輯框等

8、知道怎樣新建類、成員函數、成員變數、消息處理函數。

9、了解最常用的Windows消息:如WM_PAINT(重繪窗口),滑鼠按下、彈起、移動,初始化對話框,等。

10、了解最簡單的GDI(圖形設備介面):寫文字、畫框、畫點、畫線、畫圓,設置畫筆、畫刷。

11、熟悉最常用的MFC類:

CWnd

CDocument

CView

CDC

CDialog

CWinApp

CGdiObject及子類

CString、CPoint、CRect、CSize等簡單數據類型

CFile

以上提到的這些內容,是每個人都會用到的內容。

二、MFC簡介

上述主要內容都是與實際操作關系非常密切的,在此不可能講清楚;而且,這些在一般的書里都會講到。我主要將最重要的MFC介紹一下。

MFC是對WindowsAPI的封裝,大大簡化了我們的工作;學VC主要就是要學MFC,大約有100多個類,但常用的也就二三十個。應該象背4級單詞一樣將這些常用類搞懂;當然不要死記,要通過看幫助、看例子、動手練習來學會它們;而且,並非每個類的內部的所有函數都要學會,要日積月累。如果真的想成為高手,做個筆記本把自己認為重要的類、函數記下來,隨時學習,也是很好的突擊方法。

下面介紹最重要的MFC。

CWnd:窗口,它是大多數「看得見的東西」的父類(Windows里幾乎所有看得見的東西都是一個窗口,大窗口裡有許多小窗口),比如視圖CView、框架窗口CFrameWnd、工具條CToolBar、對話框CDialog、按鈕CButton,etc;一個例外是菜單(CMenu)不是從窗口派生的。該類很大,一開始也不必學,知道就行了。

CDocument文檔,負責內存數據與磁碟的交互。最重要的是OnOpenDocument(讀入),OnSaveDocument(寫盤),Serialize(讀寫)

CView視圖,負責內存數據與用戶的交互。包括數據的顯示、用戶操作的響應(如菜單的選取、滑鼠的響應)。最重要的是OnDraw(重畫窗口),通常用CWnd::Invalidate()來啟動它。另外,它通過消息映射表處理菜單、工具條、快捷鍵和其他用戶消息。你自己的許多功能都要加在裡面,你打交道最多的就是它。

CDC設備文本。無論是顯示器還是列印機,都是畫圖給用戶看。這圖就抽象為CDC。CDC與其他GDI(圖形設備介面)一起,完成文字和圖形、圖像的顯示工作。把CDC想像成一張紙,每個窗口都有一個CDC相聯系,負責畫窗口。CDC有個常用子類CClientDC(窗口客戶區),畫圖通常通過CClientDC完成。

CDialog對話框

CWinApp應用程序類。似於C中的main函數,是程序執行的入口和管理者,負責程序建立、消滅,主窗口和文檔模板的建立。最常用函數InitInstance():初始化。

CGdiObject及子類,用於向設備文本畫圖。它們都需要在使用前選進DC。

CPen筆,畫線

CBrush刷子,填充

CFont字體,控制文字輸出的字體

CBitmap點陣圖

CPalette調色板

CRgn區域,指定一塊區域可以用於做特殊處理。

CFile文件。最重要的不外是Open(打開),Read(讀入),Write(寫)

CString字元串。封裝了C中的字元數組,非常實用。

CPoint點,就是(x,y)對

CRect矩形,就是(left,top,right,bottom)

CSize大小,就是(cx,cy)對(寬、高)

三、用好MSDN和例子

作為提高,推薦看的例子有:

nHello最簡單的程序框架

nScribble滑鼠繪圖。教程:編程基礎,GDI

nDiblook圖像處理最簡單範例

nMFCIE網際網路瀏覽器

nEnroll資料庫

nDaoviewDao(數據訪問對象)範例。樹型和列視控制項

nCubeOpenGL範例,畫一個不斷旋轉的方塊

nHierSvrOLE伺服器

nOclientOLE包容器

nDrawcli滑鼠繪圖。也包括OLE。

nWordPad寫字板。OLE

四、幾點經驗

A.為什麼要用Windows而不是DOS編程

Windows編程並不比DOS編程難很多,只是在剛剛接觸的時候感到頭緒繁多,不知從何下手。實際上,如果你會C語言,你會發現Windows編程的難度並不比當年學C語言時大。DOS編程要想成為高手,也需要學習幾百個函數(無論是TC、BC、MicrosoftC),並要深入了解匯編語言級的DOS功能調用。而現在在Windows下,付出相同的工作量,你卻可以獲得幾倍的收益。如果你以前熟悉DOS編程,現在再搞Windows編程,只要兩個星期肯定會感到巨大的優越性:在DOS下,每一件事都要自己干,而且還有64K內存、顯示精度等的限制,實在是事倍功半了。

B.為什麼要用VC而不是其他Windows編程語言

n大多數大型軟體(包括Windows自己)都是用C、C++編的,所以可以利用的源代碼特別多。例如Photoshop,就有VC的編程介面。的其他的語言都不如VC有歷史優勢。而且VC的開發工具特別多,從控制項公司到硬體開發商,其產品很少敢不提供VC介面的。

nVC適合組織大工程(VB就不行)

nBorlandC++或C++Builder也很不錯,並不比VC差。但BC的版本兼容性不好,從3.1到4.0就出現「代溝」,而且VC提供了極為豐富的文檔和範例,VC的參考資料也遠比BC多。並且VC與其他的VisualStudio成員可以協調工作,對軟體工程有利。

n

C.開始不要學WinAPI編程,但以後最好學學WinAPI

特別要注意,開始不要買講WindowsSDK編程的書。一個臭名昭著的例子就是「HelloWorld」。各種計算機語言在入門課中往往都給出一個例子,顯示一行文字「HelloWorld」,無論是在Basic、C、Pascal,甚至匯編中,這個最簡單的小程序都幾行就可以寫完。但在早期的Windows編程中,剛才講到的「HelloWin」這個有名的例子就要組織一個工程、寫上幾百行代碼才能實現。這就嚇跑了很多想學Windows編程的人。實際上,在Windows下顯示「Helloworld」,最簡單的方法只要5行就夠了:

#include「windows.h」

voidWinMain()

{

MessageBox(NULL,」HelloWorld!」,」MyFirstWindowsApplication」,MB_OK);

}

當然這個程序只建立了一個最簡單的對話框,但這已經夠了。

如果你沒有SDK編程的經驗,學VC就是要利用MFC繞過Windows編程的許多細節。有好的工具為什麼不用呢?現在你在VC寫一個」HelloWorld」,只要寫一行代碼就可以了。

voidCYourView::OnDraw(CDC*pDC)

{

//…….其他的代碼

pDC->TextOut(100,100,」HelloWorld!」);

}

但MFC不是萬能的,WinAPI和VC中有很多功能在MFC中並不能反映出來。在入門後,要想發揮VC的完全能力,WindowsAPI還是非常重要的。而且,這些API在其他Windows語言中也用得到。

學語言,與練武道理也差不多。VC、VB、Dlphi、VFP,以及其他的Windows編程語言,都屬於同一個門派:Windows門,雖然招式不同,但內功都是一樣的,這就是WindowsAPI(應用編程介面),大概是兩千個函數。任何武功,招式即使再復雜,通常也能在很短時間內記下來;但內功就不是一朝一夕的事。而且,各門派的內功不同,Unix、Linux門有Uinx的內功,Apple(蘋果)門有Mac的內功,Java更是自成一派。我們這里說的學VC,只是學招式,學招式一個月差不多就夠了,聰明的兩個星期就可以掌握。光學招式,嚇唬人是夠了,但和高手一過招,非出醜不可。要想精通VC,必須熟悉WindowsAPI。

D.高級語言與自然語言

一門高級語言與一門自然語言是類似的。關鍵要素有三:

語法:了解C和C++基本語法,這是比較容易的。

修辭:編程的藝術和風格。通常,這是與軟體工程聯系起來的。演算法上的小伎倆並非是關鍵的。嚴謹,嚴格按照規范去做,同時又能發揮出極大的創造性,才是語言學家的本色。

詞彙:如何利用別人的工作?如何利用自己以前的工作?這是一個軟體工程師成功的關鍵。如果詞彙量不豐富,就寫不出好文章,就會有想法表達不出。一個人的語法在上小學之前就基本上學成了,修辭水平也在年輕時就確定了,惟有詞彙量需要根據需要不斷學習、不斷擴充。VC編程中,擁有大的詞彙量就意味著要掌握較多的類、函數和其他編程組件。如:WindowsSDK,MFC,以及你所專攻的領域的現成的SDK,比如3D編程中的OpenGL,多媒體編程中的DirectX,圖像處理中的Victor庫。另外,ActiveX控制項的掌握往往也是成敗的關鍵。我們這幾年的工作也總結成了一個類庫,叫IPX(圖像處理框架),大大簡化了圖像處理的工作;不過現在還有很多細節問題要解決,如果有同學感興趣可以參與這方面的工作。

學習VC,千萬不要用我們在學校里學英語的方法,而要用小孩學說話的方法。所謂學英語的方法,就是我們在本科時學C語言的那種模式:詳細搞懂每一個細節,背大量的規則,很少上機實踐,沒有實際問題供解決,最後由考試來斷定學習成果。這種模式的後果大家都清楚:我們學了十幾年英語,可有不少人還只會四五千個單詞,寫百把字的文章,不會說,不能聽;尤其要命的是,看不懂VC的幫助文檔。我們要象嬰兒一樣,在使用中學會語法、修辭和詞彙;一開始肯定只能編出最糟糕的,就好像小孩開始只會說:「爸爸坐車車」;但「爸爸」「車車」這些詞對小孩是最需要的,學習的效率反而最高。學VC的時候,應從我的需要出發,先做一個最簡單的東西,然後一點一點復雜起來,象滾雪球一樣。

學習VC尤其要和別人交流,你苦苦思考不明白的,也許別人早就解決了。一定要善於學習:從書店找出有用的書;向身邊的高手學習;尋找可以利用的源代碼、類庫、組件、控制項、庫;如果能上互連網,那就更加能解決問題了。

================================================

Lchrennew:

以下內容由於曾經進行編輯替換(Replace)不讓通過,所以採用附加(Append)的方式,在下面把我的版本加上,請大家對比:

VC是英文的縮寫形式,其完整形式基本上包括如下幾方面:

1. 醫學、葯品學、生物化學:Vitamins C,簡寫VC,音譯「維他命C」,中文意譯為維生素C,又被稱為抗壞血酸。

[摘自http://..com/question/5925454.html]
1907年挪威化學家霍爾斯特在檸檬汁中發現。1934年才獲得純品,是無色晶體,屬於水溶性維生素,易溶於水,水溶液呈酸性,所以稱它為抗壞血酸。在酸性溶液中穩定,在中性或鹼性溶液中易被氧化分解。鐵、銅等金屬離子能夠加速其氧化速率。

維生素C在人體內的主要功能是:參加體內的氧化還原過程,促進人體的生長發育,增強人體對疾病的抵抗能力,促進細胞間質中膠原的形成,維持牙齒、骨骼、血管和肌肉的正常功能,增強肝臟的解毒能力。當人體中缺少維生素C時,就會出現牙齦出血、牙齒松動、骨骼脆弱、粘膜及皮下易出血、傷口不易癒合等症狀。近年來,科學家們還發現,維生素C能阻止亞硝酸鹽和仲胺在胃內結合成致癌物質——亞脫胺,從而減低癌的發病率。

2. 軟體,計算機科學,Windows開發:Visual C以及Visual C++,由微軟開發的可視化集成開發環境(IDE)Visual Studio中重要的一員,其編程規范符合ANSI C/C++標准,而其集成了微軟開發的基礎類庫(MFC,即Microsoft Foundation Classes)以及可視化開發環境,VC提供了微軟Windows操作系統的大量API,從而使得開發效率較其他語言大大提高。但是使用其MFC編寫的程序只能運行在Windows操作系統下。

3. 經濟金融領域、公司運作:Venture Capitalist,風險投資商,風險投資也叫「創業投資」,一般指對高新技術產業的投資。 作為成熟市場以外的、投資風險極大的投資領域,其資本來源於金融資本、個人資本、 公司資本以及養老保險基金和醫療保險基金。就各國實踐來看, 風險投資大多採取投資基金的方式運作。

風險投資具有與一般投資不同的特點,表現在:

1)高風險性。 風險投資的對象主要是剛剛起步或還沒有起步的中小型高新技術企業,企業規模小,沒有固定資產或資金作為抵押或擔保。由於投資目標常常是「 種子」技術或是一種構想創意,而它們處於起步設計階段,尚未經過市場檢驗, 能否轉化為現實生產力,有許多不確定因素。因此,高風險性是風險投資的本質特徵。

2)高收益性。風險投資是一種前瞻性投資戰略,預期企業的高成長、高增值是其投資的內在動因。一旦投資成功,將會帶來十倍甚至百倍的投資回報。 高風險、高收益在風險投資過程中充分體現出來。

3)低流動性。風險資本在高新技術企業創立初期就投入 ,當企業發展成熟後, 才可以通過資本市場將股權變現,獲取回報,繼而進行新一輪的投資運作。因此投資期較長,通常為4~8年。另外,在風險資本最後退出時,若出口不暢,撤資將十分困難, 導致風險投資流動性降低。

從本質上來講, 風險投資是高新技術產業在投入資本並進行有效使用過程中的一個支持系統,它加速了高新技術成果的轉化,壯大了高新技術產業, 催化了知識經濟的蓬勃發展,這是它最主要的作用。當然,對於整個國家經濟而言, 風險投資在推動企業技術創新,促進產業機構的調整、改變社會就業結構、 擴大個人投資的選擇渠道、加強資本市場的深度等方面都有重要的意義。

VC 德國vision components公司的縮寫,在業界名氣很大。

德國vision components公司是世界上公認的智能攝像機領導廠商。其攝像機產品將圖像採集、處理、I\O控制及通信集於一體。並且採用了當前性能最強大的圖像處理專用DSP,智能化程度高,搭建系統成本低,是用戶構造機器視覺系統的理想選擇。
VC智能攝像機特徵:
1.與PC機相匹敵的運算速度
2.與生產線上其它設備連接方便
3.能直接在顯示器上輸出SVGA或SXGA的視頻圖像
4.提供高度開放的圖像處理庫和一些常用庫
5.能進行源碼級的二次開發
6.工作過程可完全脫離PC機

VC還是NBA著名球員文斯-卡特(Vince Carter)的縮寫

Ⅶ 編程語言和自然無言的的共同點和區別

共同點:表達人類的思想,具有詞彙、語句、段落,並遵循一定的語法規則。
不同點:
編程語言:有限的、沒有歧義的詞彙,表達的含義簡單,且具有確定性;
自然語言:詞彙具有多義性,表達方式多樣性,具有很多的修辭手段,使得語言具有豐富的內涵。

Ⅷ 我想問一些,學編程,是不是就是學函數

你學的太簡單了,沒有深入的學習一門語言,其實學習一門語言,學的是思想。你說的那些是語法,就像你會說中文,中文有語法,但是你不一定知道中國的歷史、文化。編程語言也是語言,文化就是編程思想。
1、學習編程語言的思想就要深入的了解一種語言設計出來的目的,為什麼要這么設計。比如面向對象思想,不管是java還是c#都是這個思想,只是具體的語法不同,只要你掌握了思想才能寫出高質量的程序。什麼是面向對象,面向對象有什麼優缺點,能設計出什麼樣的結構的程序,這些你懂嗎?不懂就說明你根本沒學會這門語言。你說簡單?這些都不懂怎麼能說簡單。你學的那些只是一些基本的語法。就像你出生以後才會說話一樣。只會說簡單的:我要吃飯,我要睡覺。但是不會有修辭,不會有復雜的邏輯、情緒。
2、你說的那些語法也不是那麼簡單的。雖然你看著每種語言的語法都差不多,if else,when,while等等。但是每種語言這些東西的用法都不相同,有很多獨有的用法。為什麼有這些用法?這么用有什麼道理,有什麼優缺點?這些你懂嗎?為什麼有了for還要有while,這些都值得去研究的。這些簡單的語法通過組合能達到什麼經典的效果。都很有學問的,不能只是有了一個膚淺的認識就說簡單。
你有這樣的想法其實也很正常,初學者一般都會這么認為,但是學習一門技術需要持續堅持的學習,要不斷的深入,不能停留在很淺的部分,你知道流程式控制制,表達式,循環,那麼讓你做個界面連個資料庫,進行簡單的操作,你會嗎?不會就去學吧。

Ⅸ 什麼是vc

維生素c
維生素C參加體內的氧化還原過程,促進人體的生長發育,增強人體對疾病的抵抗能力,促進細胞間質中膠原的形成,維持牙齒、骨骼、血管和肌肉的正常功能,增強肝臟的解毒能力。當人體中缺少維生素C時,就會出現牙齦出血、牙齒松動、骨骼脆弱、粘膜及皮下易出血、傷口不易癒合等症狀。近年來,科學家們還發現,維生素C能阻止亞硝酸鹽和仲胺在胃內結合成致癌物質——亞脫胺,從而減低癌的發病率。

維生素C主要生理功能:

1、 促進骨膠原的生物合成。利於組織創傷口的更快癒合;

2、 促進氨基酸中酪氨酸和色氨酸的代謝,延長肌體壽命。

3、 改善鐵、鈣和葉酸的利用。

4、 改善脂肪和類脂特別是膽固醇的代謝,預防心血管病。

5、 促進牙齒和骨骼的生長,防止牙床出血。;

6、 增強肌體對外界環境的抗應激能力和免疫力。

維生素C缺乏和疾病:

維生素C缺乏時,其症狀表現為:

1. 牙齦腫脹出血,牙床潰爛、牙齒松動。

2. 骨骼畸形、易骨折。

3. 傷口難癒合等。進一步則引起壞血症、貧血。

4. 大出血和心臟衰竭,嚴重時有猝死的危險。

5. 肌肉纖維衰退,包括心肌衰退。

含維生素C的食物很多,獼猴桃和辣椒中含量最豐富.

VC
一、VC是什麼?學VC是學什麼?

首先VC是一個軟體(IDE集成開發環境)(編譯、編輯、調試)

C和C++。但C++中的有些特性是不用的,例如I/O流,多態繼承

WindowsSDK(軟體開發工具)

VC的靈魂:MFC(微軟基礎類庫)

ATL(ActiveX模板類庫)

其他的SDK,如OpenGL,DirectX,ActiveMoive,DrawDib(WinG)

VC是許許多多技術的綜合,就好像少林72般絕技,一般在應用中學會其中很少一部分就夠了。我們的現在目的,其實不過是學一套少林長拳。這套長拳應包括:

1、養成一種嚴謹的軟體開發習慣,熟悉軟體工程的基本原則。

2、C語言基礎

3、C++最基本內容:類、繼承性、封裝性、多態性的概念

4、如何用向導建立一個程序框架

5、設計菜單

6、設計工具條

7、設計和使用對話框,熟悉最常用的對話框控制項:按鈕、靜態文本、編輯框等

8、知道怎樣新建類、成員函數、成員變數、消息處理函數。

9、了解最常用的Windows消息:如WM_PAINT(重繪窗口),滑鼠按下、彈起、移動,初始化對話框,等。

10、了解最簡單的GDI(圖形設備介面):寫文字、畫框、畫點、畫線、畫圓,設置畫筆、畫刷。

11、熟悉最常用的MFC類:

CWnd

CDocument

CView

CDC

CDialog

CWinApp

CGdiObject及子類

CString、CPoint、CRect、CSize等簡單數據類型

CFile

以上提到的這些內容,是每個人都會用到的內容。

二、MFC簡介

上述主要內容都是與實際操作關系非常密切的,在此不可能講清楚;而且,這些在一般的書里都會講到。我主要將最重要的MFC介紹一下。

MFC是對WindowsAPI的封裝,大大簡化了我們的工作;學VC主要就是要學MFC,大約有100多個類,但常用的也就二三十個。應該象背4級單詞一樣將這些常用類搞懂;當然不要死記,要通過看幫助、看例子、動手練習來學會它們;而且,並非每個類的內部的所有函數都要學會,要日積月累。如果真的想成為高手,做個筆記本把自己認為重要的類、函數記下來,隨時學習,也是很好的突擊方法。

下面介紹最重要的MFC。

CWnd:窗口,它是大多數「看得見的東西」的父類(Windows里幾乎所有看得見的東西都是一個窗口,大窗口裡有許多小窗口),比如視圖CView、框架窗口CFrameWnd、工具條CToolBar、對話框CDialog、按鈕CButton,etc;一個例外是菜單(CMenu)不是從窗口派生的。該類很大,一開始也不必學,知道就行了。

CDocument文檔,負責內存數據與磁碟的交互。最重要的是OnOpenDocument(讀入),OnSaveDocument(寫盤),Serialize(讀寫)

CView視圖,負責內存數據與用戶的交互。包括數據的顯示、用戶操作的響應(如菜單的選取、滑鼠的響應)。最重要的是OnDraw(重畫窗口),通常用CWnd::Invalidate()來啟動它。另外,它通過消息映射表處理菜單、工具條、快捷鍵和其他用戶消息。你自己的許多功能都要加在裡面,你打交道最多的就是它。

CDC設備文本。無論是顯示器還是列印機,都是畫圖給用戶看。這圖就抽象為CDC。CDC與其他GDI(圖形設備介面)一起,完成文字和圖形、圖像的顯示工作。把CDC想像成一張紙,每個窗口都有一個CDC相聯系,負責畫窗口。CDC有個常用子類CClientDC(窗口客戶區),畫圖通常通過CClientDC完成。

CDialog對話框

CWinApp應用程序類。似於C中的main函數,是程序執行的入口和管理者,負責程序建立、消滅,主窗口和文檔模板的建立。最常用函數InitInstance():初始化。

CGdiObject及子類,用於向設備文本畫圖。它們都需要在使用前選進DC。

CPen筆,畫線

CBrush刷子,填充

CFont字體,控制文字輸出的字體

CBitmap點陣圖

CPalette調色板

CRgn區域,指定一塊區域可以用於做特殊處理。

CFile文件。最重要的不外是Open(打開),Read(讀入),Write(寫)

CString字元串。封裝了C中的字元數組,非常實用。

CPoint點,就是(x,y)對

CRect矩形,就是(left,top,right,bottom)

CSize大小,就是(cx,cy)對(寬、高)

三、用好MSDN和例子

作為提高,推薦看的例子有:

nHello最簡單的程序框架

nScribble滑鼠繪圖。教程:編程基礎,GDI

nDiblook圖像處理最簡單範例

nMFCIE網際網路瀏覽器

nEnroll資料庫

nDaoviewDao(數據訪問對象)範例。樹型和列視控制項

nCubeOpenGL範例,畫一個不斷旋轉的方塊

nHierSvrOLE伺服器

nOclientOLE包容器

nDrawcli滑鼠繪圖。也包括OLE。

nWordPad寫字板。OLE

四、幾點經驗

A.為什麼要用Windows而不是DOS編程

Windows編程並不比DOS編程難很多,只是在剛剛接觸的時候感到頭緒繁多,不知從何下手。實際上,如果你會C語言,你會發現Windows編程的難度並不比當年學C語言時大。DOS編程要想成為高手,也需要學習幾百個函數(無論是TC、BC、MicrosoftC),並要深入了解匯編語言級的DOS功能調用。而現在在Windows下,付出相同的工作量,你卻可以獲得幾倍的收益。如果你以前熟悉DOS編程,現在再搞Windows編程,只要兩個星期肯定會感到巨大的優越性:在DOS下,每一件事都要自己干,而且還有64K內存、顯示精度等的限制,實在是事倍功半了。

B.為什麼要用VC而不是其他Windows編程語言

n大多數大型軟體(包括Windows自己)都是用C、C++編的,所以可以利用的源代碼特別多。例如Photoshop,就有VC的編程介面。的其他的語言都不如VC有歷史優勢。而且VC的開發工具特別多,從控制項公司到硬體開發商,其產品很少敢不提供VC介面的。

nVC適合組織大工程(VB就不行)

nBorlandC++或C++Builder也很不錯,並不比VC差。但BC的版本兼容性不好,從3.1到4.0就出現「代溝」,而且VC提供了極為豐富的文檔和範例,VC的參考資料也遠比BC多。並且VC與其他的VisualStudio成員可以協調工作,對軟體工程有利。

n

C.開始不要學WinAPI編程,但以後最好學學WinAPI

特別要注意,開始不要買講WindowsSDK編程的書。一個臭名昭著的例子就是「HelloWorld」。各種計算機語言在入門課中往往都給出一個例子,顯示一行文字「HelloWorld」,無論是在Basic、C、Pascal,甚至匯編中,這個最簡單的小程序都幾行就可以寫完。但在早期的Windows編程中,剛才講到的「HelloWin」這個有名的例子就要組織一個工程、寫上幾百行代碼才能實現。這就嚇跑了很多想學Windows編程的人。實際上,在Windows下顯示「Helloworld」,最簡單的方法只要5行就夠了:

#include「windows.h」

voidWinMain()

{

MessageBox(NULL,」HelloWorld!」,」MyFirstWindowsApplication」,MB_OK);

}

當然這個程序只建立了一個最簡單的對話框,但這已經夠了。

如果你沒有SDK編程的經驗,學VC就是要利用MFC繞過Windows編程的許多細節。有好的工具為什麼不用呢?現在你在VC寫一個」HelloWorld」,只要寫一行代碼就可以了。

voidCYourView::OnDraw(CDC*pDC)

{

//…….其他的代碼

pDC->TextOut(100,100,」HelloWorld!」);

}

但MFC不是萬能的,WinAPI和VC中有很多功能在MFC中並不能反映出來。在入門後,要想發揮VC的完全能力,WindowsAPI還是非常重要的。而且,這些API在其他Windows語言中也用得到。

學語言,與練武道理也差不多。VC、VB、Dlphi、VFP,以及其他的Windows編程語言,都屬於同一個門派:Windows門,雖然招式不同,但內功都是一樣的,這就是WindowsAPI(應用編程介面),大概是兩千個函數。任何武功,招式即使再復雜,通常也能在很短時間內記下來;但內功就不是一朝一夕的事。而且,各門派的內功不同,Unix、Linux門有Uinx的內功,Apple(蘋果)門有Mac的內功,Java更是自成一派。我們這里說的學VC,只是學招式,學招式一個月差不多就夠了,聰明的兩個星期就可以掌握。光學招式,嚇唬人是夠了,但和高手一過招,非出醜不可。要想精通VC,必須熟悉WindowsAPI。

D.高級語言與自然語言

一門高級語言與一門自然語言是類似的。關鍵要素有三:

語法:了解C和C++基本語法,這是比較容易的。

修辭:編程的藝術和風格。通常,這是與軟體工程聯系起來的。演算法上的小伎倆並非是關鍵的。嚴謹,嚴格按照規范去做,同時又能發揮出極大的創造性,才是語言學家的本色。

詞彙:如何利用別人的工作?如何利用自己以前的工作?這是一個軟體工程師成功的關鍵。如果詞彙量不豐富,就寫不出好文章,就會有想法表達不出。一個人的語法在上小學之前就基本上學成了,修辭水平也在年輕時就確定了,惟有詞彙量需要根據需要不斷學習、不斷擴充。VC編程中,擁有大的詞彙量就意味著要掌握較多的類、函數和其他編程組件。如:WindowsSDK,MFC,以及你所專攻的領域的現成的SDK,比如3D編程中的OpenGL,多媒體編程中的DirectX,圖像處理中的Victor庫。另外,ActiveX控制項的掌握往往也是成敗的關鍵。我們這幾年的工作也總結成了一個類庫,叫IPX(圖像處理框架),大大簡化了圖像處理的工作;不過現在還有很多細節問題要解決,如果有同學感興趣可以參與這方面的工作。

學習VC,千萬不要用我們在學校里學英語的方法,而要用小孩學說話的方法。所謂學英語的方法,就是我們在本科時學C語言的那種模式:詳細搞懂每一個細節,背大量的規則,很少上機實踐,沒有實際問題供解決,最後由考試來斷定學習成果。這種模式的後果大家都清楚:我們學了十幾年英語,可有不少人還只會四五千個單詞,寫百把字的文章,不會說,不能聽;尤其要命的是,看不懂VC的幫助文檔。我們要象嬰兒一樣,在使用中學會語法、修辭和詞彙;一開始肯定只能編出最糟糕的,就好像小孩開始只會說:「爸爸坐車車」;但「爸爸」「車車」這些詞對小孩是最需要的,學習的效率反而最高。學VC的時候,應從我的需要出發,先做一個最簡單的東西,然後一點一點復雜起來,象滾雪球一樣。

學習VC尤其要和別人交流,你苦苦思考不明白的,也許別人早就解決了。一定要善於學習:從書店找出有用的書;向身邊的高手學習;尋找可以利用的源代碼、類庫、組件、控制項、庫;如果能上互連網,那就更加能解決問題了。

================================================

Lchrennew:

以下內容由於曾經進行編輯替換(Replace)不讓通過,所以採用附加(Append)的方式,在下面把我的版本加上,請大家對比:

VC是英文的縮寫形式,其完整形式基本上包括如下幾方面:

1. 醫學、葯品學、生物化學:Vitamins C,簡寫VC,音譯「維他命C」,中文意譯為維生素C,又被稱為抗壞血酸。

熱點內容
c語言點陣字模 發布:2024-04-26 22:19:35 瀏覽:918
光加密 發布:2024-04-26 22:15:28 瀏覽:352
aspnet經典源碼 發布:2024-04-26 22:14:46 瀏覽:135
linux編譯提示缺少build 發布:2024-04-26 22:14:34 瀏覽:415
編譯opengl 發布:2024-04-26 21:57:32 瀏覽:506
ubuntu查找文件夾 發布:2024-04-26 21:48:18 瀏覽:203
qq瀏覽器wifi助手怎麼查看密碼 發布:2024-04-26 21:48:18 瀏覽:669
在線安裝androidsdk 發布:2024-04-26 21:42:33 瀏覽:480
杭州地鐵wifi密碼是多少 發布:2024-04-26 21:32:45 瀏覽:320
重裝系統源碼 發布:2024-04-26 21:32:44 瀏覽:275