C與C的區別,C和C 的區別

時間 2022-12-03 04:50:31

1樓:帳號已登出

c是一種面向過程的語言;c#是一種物件導向的語言。

c#可認為是c的公升級加強版。

有一種有趣的說法 c添兩個+號,就是c++ 再新增兩個+號,就成了c#了(四個+ 就成了#)。

在c#裡面基本上放棄了 c的指標。

c#程式編譯為一種 中間** (il),然後通過.net framework編譯這種中間** 才能執行。所以 c#程式必須借助 .

net framework才能執行。而c是要編譯成exe的。c#的這種特性決定了c#的程式將來可能與 作業系統無關,與硬體無關。

c寫出的程式就不具有這種特性。

當然區別很多的。要想真的理解它的區別,寫一段程式吧。。

c是一種優良的程式,而且得到了普遍的推廣。隨著物件導向程式設計的興起,c有點跟不上時代,所以才出現了c++,c#。對這樣一種有著廣泛群眾基礎的語言,我們要做的是擴充套件它,而不是拋棄它。。

本人認為做程式的,語言太多,各種語言語法各異。這無疑造成了學習上的困難,和使用上的不便。作業系統的不統一可以理解,但是為什麼程式語言不統一?期待有一天大家都用一種語言來寫程式。

2樓:匿名使用者

c是面向過程的,c#是完全的物件導向的.

c一般用於編寫底層的(如系統的)**

c和c#的區別

3樓:達興老師

性質不同,c是面向過程,c#是完全的物件導向。

「面向過程」(procedure oriented)是一種以過程為中心的程式設計思想。這些都是以什麼正在發生為主要目標進行程式設計,不同於物件導向的是誰在受影響。與物件導向明顯的不同就是封裝、繼承、類。

物件導向(object oriented)是軟體開發方法,一種程式設計正規化。物件導向的概念和應用已超越了程式設計和軟體開發,擴充套件到如資料庫系統、互動式介面、應用結構、應用平台、分布式系統、網路管理結構、cad技術、人工智慧等領域。物件導向是一種對現實世界理解和抽象的方法,是計算機程式設計技術發展到一定階段後的產物。

物件導向是相對於面向過程來講的,物件導向方法,把相關的資料和方法組織為乙個整體來看待,從更高的層次來進行系統建模,更貼近事物的自然執行模式。

4樓:康良御丁

c語言是適合於底層開發,

比如驅動,

嵌入式與微控制器之類的,

比較適合.

c#比較適合web開發,

客戶端開發也有.

如windows軟體開發,手機軟體等

c#是對c++的繼承和發展,c++又是對c的繼承和發展。

c#有類,命名空間又增加了好多類庫是c沒有。

5樓:匿名使用者

c是面向過程。

c# 物件導向--oo思想

6樓:

c#是c的擴充。要學就學c學了c,基礎啊,什麼c++略微看下就懂

c、c++、c#到底有什麼區別?

7樓:

三者的區別:

1、c是完全面向過程的語言,用於開發規模較小的程式效率很高,但是程式較大,就顯得**量多,編寫效率下降了。

2、c++是半面相物件的,引入了類的封裝性、繼承性、多型性大大簡化程式編寫,提到了**重用率。

c和c++的關係:c++既面向過程又物件導向,而且她繼承了c語言的所有優點,又對c語言功能做了很多擴充,可以認為c++就是c的增強版。

3、c#是完全物件導向的語言,簡單易學,開發效率非常高。. c#不支援多重繼承,這是與c++明顯區別的地方。 在標準的c#安全**中不支援指標型別的操作。

擴充套件資料

關於c++

1、c++是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。

c++擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c++就適應的問題規模而論,大小由之。

2、c++不僅擁有計算機高效執行的實用性特徵,同時還致力於提高大規模程式的程式設計質量與程式語言的問題描述能力。

8樓:

首先他們的層級關係是c++是用c編出來的(至少核心是),c#是c和c++,編出來的;其次應用範圍c更偏重底層應用(如硬體的驅動等),c++適用於綜合應用,c#則適用於桌面系統(如資料庫應用、web應用等)。

9樓:匿名使用者

c是面向過程的程式設計,程式=資料結+演算法 [最原始,但編個程確實不易]

c++是物件導向的程式設計,程式=多個類+訊息(類=資料結+演算法)[比較容易上手]

c# 是純物件導向的語言[更加比較容易上手]vc/vc++/vc# 只是用來開發c/c++/c#應用程式的軟體中的一種。

10樓:

當然有區別,c只能執行過程式程式,c++可以把資料和操作封裝在一起,並開始提出類、繼承和多型的概念,c#則是純粹的物件導向的設計方式,貌似就沒有主函式的說法。

11樓:匿名使用者

c普通人 賺了多少花多少沒有就不花,c++ 是大老闆 有很多錢 買買買 ,c# 檢查有點像派出所什麼都不用買單位發。

12樓:匿名使用者

你問的很好,c 、c++、c# 是有本質上的區別,也叫性質上的區別。那我簡單的說一下吧。

c 是結構化程式設計語言。

c++ 是結構化+面象物件成分語言。

c# 是純物件導向的語言(oop)。

c#的純物件導向的語言具有,開發速度快,易於理解(類似於人的思維方式)等特點。還有c#執行環境需要clr(公共語言執行時)。

不多說了,怎麼樣。表達的夠精練明了吧,給分吧朋友。。

13樓:來自喬園光豔逼人的臘梅

我個人覺得c/c++不分家,如果你還處於分家階段說明你還沒有入門,或者說還要多看看開源專案,小的有伯克利db、mysql,google v8,大的有openstack ( 東西太多了... 自己去社群看吧),可別覺得c/c++只適合開發小專案,更多的高新專案只能用c/c++,比如無人機飛控,又如英偉達的gpu寫雲計算。c/c++的編譯環境太多了,各種系統各種機型,甚至於各環境之間語法都有較大出入。

c/c++寫程式,主要是演算法(數學、幾何、物理、統計學、抽象思維),是底層,但不是說它做不了上層,是因為做的不夠精彩費那個事幹嘛?

總之:c/c++ 是核** c#是衝鋒槍。

衝鋒槍津津樂道的戰績,是核武戰略威懾下不會發生的事。

如果召集會用衝鋒槍的和會用核**的分兩撥打口水仗,我猜會用衝鋒槍的會贏。

c#和c++的區別?

14樓:

一、性質不同

1、c#:c#是微軟公司發布的一種物件導向的、執行於.net framework和.net core(完全開源,跨平台)之上的高階程式語言。

2、c++:c++既可以進行過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。

二、**不同

1、c#:c##是由c和c++衍生出來的程式語言。

2、c++:c++是c語言的繼承自c的程式語言。

三、記憶體釋放不同

1、c#:c#有自動垃圾收集功能,能夠實現記憶體自動釋放。

2、c++:c++沒有自動垃圾收集功能,不能夠實現記憶體自動釋放,需要手動釋放。

15樓:貴冠朱藍

c++似乎已經是物件導向了的,樓上的說法是錯誤的,而且現在的主流還是c++,不是c#,本人沒研究過c#,就不說什麼了。

16樓:匿名使用者

c++是在c的基礎上發展的,比c稍微難點

c語言和c#,c++三者的區別是什麼?

17樓:哇哎西西

區別是:

1、語言使用難度不同

c++難度大於c#大於c語言。

2、面向的物件不同

c 語言是面向過程的,而 c++ 是物件導向的,c# 是一種完全物件導向的語言。

3、函式形式不同

c 語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在乙個標頭檔案中;而 c++ 對於大多數的函式都是有整合的很緊密,特別是 c 語言中沒有的 c++ 中的 api 是對 window 系統的大多數 api 有機的組合,是乙個集體。

c++ 不允許在乙個建構函式中呼叫另外乙個建構函式(稱為委派構造函式呼叫),而 c# 則允許。

4、圖形處理能力不同

c 語言標準中不包括圖形處理。

18樓:ooo藉口

三者都是計算機的程式語言 c語言是基礎語言 c#和c++是高階程式語言,c語言是面向過程的,主函式和函式的呼叫,但是c#和c++是物件導向的,可以通過類建立物件來實現相關功能,他們具有抽象性、封裝性、 繼承性 、多型性, 比起c語言來說跟複雜些。

c語言是面向過程的。

c++是c語言的公升級版,c是c++的子集,c是面向過程的,c++是物件導向的。

c#繼承了c和c++的許多東西,但和兩者基本上已經完全不一樣了.可以把它當作一種全新的語言來學. c# 是一種完全物件導向的語言,而 c++ 不是,另外 c# 是基於 il 中間語言和 .

net framework clr 的,在可移植性,可維護性 和強壯性都比 c++ 有很大的改進 。

19樓:鍋鋼

c語言與c++:c語言程式可直接放到c++的編譯器中編譯,所以說,c++包含了c語言,但在c++中又增加了物件導向的概念,但不是說c語言比不上c++,許多作業系統以及軟體都是用c語言程式設計出來的;

c語言與c#:c#是微軟公司開發出來的物件導向程式設計語言,繼承了c/c++的許多方面的特點,同時去掉了一些c/c++的複雜特性。

20樓:匿名使用者

java語言是一種完全的物件導向語言,雖然它的底層(執行時庫)是用c語言開發的,可是並不依賴於c。因為java的執行是在執行時庫的支援下進行的,所以執行效率比起可以更接近底層的c/c++來說效率會有所影響,不過java的類庫採用很好的設計理念設計,非常好用,也非常實用,已經成為業界的一種標準開發語言。它的跨平台的特性尤其讓很多開發者歡迎,你只需要開發一次就能在所有安裝了java執行時庫的系統上執行。

java發展了十幾年了,可以應用領域非常之廣泛,web開發有jsp,j2ee,桌面領域現在有javafx。

c#是微軟開發的一種程式語言,語法類似java,幾乎就是從java的翻版。執行原理和java也類似,也是通過執行時庫的支援執行。不過支援的平台還很有限。

java幾乎被所有平台支援,而c#目前只被windows和linux支援,windows下的支援當然是由微軟自己開發的,而linux下的支援則有mono支援。實際上,mono也是把c#應用轉化為java應用而已,所以本質上,c#仍然只是被微軟自己的作業系統支援。應用平台受到限制,是它最大的缺點。

c/c++的優點在於與底層比較接近,可以控制的粒度更加精細,是開發系統級應用的最佳選擇。關於缺點,我想正是源於其優點,因為它們能控制的程式設計元素粒度精細,所以程式設計比較困難,煩瑣,容易出錯。

java和c#都比較高階,可以看作高階語言的高階語言,優點是開發容易,但執行效率不如更為底層的c/c++。

具體選擇使用的時候,可以根據實際的專案需要選擇。執行效率要求高的,底層控制要求高的用c/c++,否則可以選擇java或c#;跨平台的要求高的可以用java。

關於跨平台,c/c++也是很好的語言,因為所有平台都支援,不同的是,不同平台支援的實現不同,類庫不同,要編寫跨平台的程式,需要選擇跨平台的類庫,如標準類庫,如果標準類庫的支援不夠也只需要附加編寫乙個跨平台的支援類庫。

幾種語言內容都很多,在這裡就不詳細列舉了,要學好每一種都需要花費相當大的精力,祝你能有所成就

C過載,C重寫和C隱藏的區別,c 過載 與重寫的區別

過載 相同的函式名稱,引數列表不同的函式,可以根據不同的引數來實現不同的邏輯。重寫 子類重寫基類的虛函式,這樣不同的子類就可以以不同的方式實現同乙個功能。比如定義乙個鳥類基類,在基類中定義乙個飛翔的虛函式,實現子類燕子與蜂鳥,顯然燕子與蜂鳥的飛行方式是不同的,這時就可以用到重寫了。隱藏 子類使用ne...

c中與的區別,c 中 與 的區別

c 中乙個等號是表示賦值,兩個等號才表示判斷相等,所以if語句中判斷相等用兩個等號 用於賦值,比如 int i 3 用於比較,比如i 3 當i等於3時為真 否則為假 是賦值用的 如 int i 0 是判斷用的 如 if i 0 i的值 是否等於0 用來表示賦值操作 表示邏輯關係相等 是賦值,是比較的...

C與C 的不同之處,C語言和C 的區別

c語言與c 的區別有很多 1,全新的程式程式思維,c語言是面向過程的,而c 是物件導向的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在乙個標頭檔案中 而c 對於大多數的函式都是有整合的很緊密,特別是c語言中沒有的c 中的api是對window系統的大多數api有機的組合,是乙個集體...

c語言與c 還有c有什麼區別,c語言與C 還有C 有什麼區別

是公升級版的意思,c語言是最早的,c 是進步版的,c 相當於c 也就是寫來錯開,但是就語言還是有區別的。比如輸入輸出c語言和c 就不一樣,還有就是c 中有類等,c 中的輸入輸出和前兩者都不一樣,不過c 有很多 是系統自動生成的 所以就比前兩者化簡了。我來原創吧。c是c 他老爸,但是c 青出於藍而勝於...

C 與C有什麼區別於聯絡,C 與C有什麼區別於聯絡?

c是乙個結構化語言,它的重點在於演算法和資料結構,它設計首先考慮的是如何通過乙個過程,對輸入進行運算處理得到輸出。對於c 首先考慮的是如何構造乙個物件模型,讓這個模型能夠配合對應的問題,這樣就可以通過獲取物件的狀態資訊得到輸出或實現過程控制。因此,c與c 的最大區別在於他們解決問題的思想方法不一樣。...