天天看點

c語言和c 程式設計的差別嗎,C語言和C有什麼差別呀?

c語言和c 程式設計的差別嗎,C語言和C有什麼差別呀?

簡單地說,它們不是一種語言,文法有差别,程式設計時具體用到的類庫或者函數庫也不一樣。

雖然它們不是一種語言,不過它們卻也有所聯系。廣泛地說,C可以看作其他三種語言的源語言,因為其他三種語言幾乎都是從C而來的,無論從資料類型還是控制語句看,其他三種語言都有從C得來的迹象。

其中C++則一般看作是對C語言的擴充。因為C語言沒有面向對象的文法結構,而當時業界又迫切需要面向對象的程式設計特性,是以貝爾實驗室的開發者就為C添加了面向對象的結構。現在C++已經不隻是C的擴充了,它已經完全可以被看作一種新的程式設計語言。雖然C的特性以及庫函數仍然被C++支援,不過C++擁有自己的獨立的類庫體系,功能相當強大。

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++也是很好的語言,因為所有平台都支援,不同的是,不同平台支援的實作不同,類庫不同,要編寫跨平台的程式,需要選擇跨平台的類庫,如标準類庫,如果标準類庫的支援不夠也隻需要附加編寫一個跨平台的支援類庫。

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

◆◆

評論讀取中....

請登入後再發表評論!

◆◆

修改失敗,請稍後嘗試