C C VC 三者之間的區別。

2021-06-14 03:57:41 字數 2285 閱讀 6989

整理自:

c語言是一種古老而又經久不衰的計算機程式語言,大約誕生於上個世紀60年代。由於它的設計有很多優點,多年以來深受廣大程式設計人員的喜愛,並逐漸 淘汰了很多其它程式語言。我們平時使用的大多數軟體都是用c語言開發的。

很多後來出現的一些語言也沿用了很多它的東西。c語言的程式設計方式是一種稱為

面向過程的開發方式。也就是說,解決問題的時候,程式設計師需要思考計算機應該如何一步一步完成這個問題,然後將相應過程轉化為**。

當軟體變得越來越複雜,**越來越長的時候,乙個人的腦力有限,用面向過程的方法很難開發,往往寫著後面的,就忘了前面寫 了什麼了。而且複雜軟體往往需要很多人協同開發,更加大了開發難度。一種稱為物件導向的軟體開發方法應運而生。物件導向的思想用幾句話很難說清楚。

國內的計算機教材在講到這裡的時候往往也都說不清楚什麼叫物件導向。這個詞語也許只能意會不能言傳吧。需要開發過一些相關軟體才能領會。這裡還是不具體說了吧。 c語言不是物件導向的,而程式設計師又離不開c語言,因此有人在c語言的基礎上新增了物件導向的功能,就是c++.同時,c++修改了c語言中一些不方便的規定,使c語言用起來更方便了。

這裡需要注意兩點:

1.譚浩強那本書後面用了幾張篇幅簡要介紹了c++,但是他講的c++只是上面提到的修改c語言不方便的規定,涉及到物件導向的內容一點沒有。

2.c++是在c語言的基礎上發展來的,但是並不是c++比c語言高階,兩者的程式設計思想不一樣,應用的領域也不一樣。在各自的領域,誰也不能替代誰。而且,windows作業系統出現以後,開發windows平台的圖形介面程式成為一大難題。用c語言雖然能開發,但是程式設計師要花費很大的精力處理圖形介面。

同時,windows平台圖形介面的程式又都有很多相似點。為了解放程式設計師,讓他們把精力主要放在程式功能上,而不是放在圖形介面上,microsoft公 司推出了

visual系列軟體開發環境

,包括為c++程式設計師提供的

visual c++.程式設計師能用c++語言在其上開發圖形介面的軟體。微軟隨visual c++提供了很多用於顯示windows介面的庫函式。可以說visual c++就是c++加上windows圖形介面

那是不是想學c++和c語言的話,只要去學visual c++就行了呢?大錯特錯!市面上任何一本visual c++教材都是假設使用者已經掌握了c++語言,重點在講和windows程式設計相關的東西,而且往往都要講mfc(「還有:

qtwxwindow wtlgtkvcffltknotus.... 」;「qt和wxwindows都是很好的跨平台gui庫,用dev-c++編譯。。」;「如果是在windows下,visual c++和c++ builder都提供了成熟的圖形介面類庫;

如果是在linux下,kde和gnome也都提供了圖形開發庫;」——2023年)。

沒有c++基礎,根本無法理解mfc的任何東西。

很多人急功近利,覺得花費半年甚至一年時間學習c++.連個圖形介面的程式都開發不出來,太不划算。這種想法也是錯誤的。世界上的軟體只有一部分具有圖形介面,執行在windows平台,需要用visual c++開發。學好了c++,即使不學visual c++,也是大有作為的。

還有很多人,要學c++或者c語言,先整個visual c++裝上。其實這是一種誤區。visual c++操作複雜,而且幫助開發者做了很多事情。對於初學者來說,操作複雜的話要花很多時間用在掌握visual c++的用法上。幫開發者做的那些事情,往往是初學者需要了解的,自己親手做一下,對學習更有好處。

再說了,大家裝的往往都是非法版本,這種事情不是人家不追究就萬事大吉了。自己良心有愧啊。

但是,個人見解:如果我們的很多編譯軟體都是需要收費,並且具有唯一的鎖定碼,那可能這樣的一些編譯軟體就沒辦法普及,對於商家來說可能就不能創造那麼巨大的使用者群體,產生不了那麼多的網路資源促進技術的學習(這就是開源軟體的好處吧……)。所以像微軟等大公司的編譯軟體,雖然盜版,但是對以部分使用盜版的群體來說是一種潛在的普及和宣傳。想想visual c++6.0的普及程度也許大家就可以理解了。

本人建議c語言和c++的初學者,上機練習最好用自己喜歡的**編輯器寫好後用gcc編譯,對以後的深入學習大有好處。還是那句話,理論加實踐才是最好的老師。

var const let 三者之間的區別

1.const定義的變數不可以修改,而且必須初始化。1 const b 2 正確2 const b 錯誤,必須初始化 3 console.log 函式外const定義b b 有輸出值4 b 5 5 console.log 函式外修改const定義b b 無法輸出 2.var定義的變數可以修改,如果不...

var const let三者之間的區別

var const let三者之間的區別 1.const定義的變數不可以修改,而且必須初始化。1 const b 2 正確 2 const b 錯誤,必須初始化 3 console.log 函式外const定義b b 有輸出值 4 b 5 5 console.log 函式外修改const定義b b ...

var, let, const三者之間的區別

一 作用域 js中有全域性作用域和區域性作用域兩種,var和let 相同點 都是用來宣告變數 不同點 1 var 是全域性宣告。let是區域性宣告,只在宣告的塊中有效 塊級作用域 console.log a 1 console.log b b is not defined 2 var宣告存在變數提公...