C語言是面向過程的,而C++是面向對象的
這些是C/C++能做的
服務器開發工程師、人工智能、云計算工程師、信息安全(黑客反黑客)、大數據 、數據平臺、嵌入式工程師、流媒體服務器、數據控解、圖像處理、音頻視頻開發工程師、游戲服務器、分布式系統、游戲輔助等
C語言的發展歷史:
20世紀70年代初,貝爾實驗室的Dennis Richie 等人在B語言基礎上開發出C語言,最初是作為UNIX的開發語言;
20世紀70年代末,隨著微型計算機的發展,C語言開始移植到非UNIX環境中,并逐步成為獨立的程序設計語言;
在1978年,Kernighan和里奇的《C程序設計語言》第一版出版,在這本書中,C語言通常被表述成“K&R C”;
1988年ANSI(美國國家標準協會)對C語言進行了標準化,產生了“ANSI C”;
在ANSI標準化自己的過程中,一些新的特征被加了進去。ANSI也標準了函數庫。ANSI C標準被ISO(國際標準化組織)采納成為ISO 9899。ISO的第一個版本文件在1990年出版,誕生了“ISO C”;
標準在90年代才經歷了改進,這就是ISO9899:1999(1999年出版)。這個版本就是通常提及的C99。它被ANSI于2000年三月采用。
C語言的特點:
小編推薦一個學C語言/C++的學習裙【815393895 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多干貨和技術資料分享!
C是中級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、字節和地址進行操作, 而這三者是計算機最基本的工作單元;
C是結構式語言。結構式語言的顯著特點是代碼及數據的分割化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便于使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,并具有多種循環、條件語句控制程序流向,從而使程序完全結構化;
C語言功能齊全。具有各種各樣的數據類型,并引入了指針概念,可使程序效率更高。
C語言具有繪圖能力強,可移植性,并具備很強的數據處理能力,因此適于編寫系統軟件、三維、二維圖形和動畫,支持多種顯示器和驅動器;
C語言適用范圍大。適合于多種操作系統,如Windows、DOS、UNIX等等;也適用于多種機型。
C語言的優點:
既有高級語言的結構和編程環境,又有類似于低級語言(如匯編語言)的系統資源操縱能力。目標代碼的執行效率只比匯編低10~20% ,比其他高級語言高,適合解決有實時要求的問題;
有豐富的運算符、數據類型和表達式,對程序設計有良好的適應性;
支持以函數為基礎結構化程序設計、多文件構成及文件獨立編譯,適合大型復雜程序設計;
語言簡潔、緊湊,使用方便、靈活,書寫形式自~由;
代碼及可執行程序的可移植性好。
C語言的缺點:
C語言它的最大的缺點就是,如果你的項目很復雜,大量的開發人員互相之間需要更新大段代碼時,C語言可能會使事情變得異常麻煩。因為C是在面向對象方法流行之前開發的,這大大降低了C語言復雜設計的可能性。(不要以為C語言做不了大項目 - -世界上有太多的經典都是用C語言完成的,如果你想了解C語言的能力,不妨看看QUAKE3的源代碼——很敬佩ID的無私,這份代碼完全是公開的,任何人都可以使用它與修改它。);
輸入輸出相對很多語言都較為復雜。對于字符串的處理,只能通過字符數組實現。繪圖操作較為復雜;
C語言的缺點主要表現在數據的封裝性上,這一點使得C在數據的安全性上有很大缺陷,這也是C和C++的一大區別;
C語言的語法限制不太嚴格,對變量的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握;
指針是C語言的一大特色,可以說是C語言優于其它高級語言的一個重要原因。就是因為它有指針,可以直接進行靠近硬件的操作,但是C的指針操作也給它帶來了很多不安全的因素。C++在這方面做了很好的改進,在保留了指針操作的同時又增強了安全性。Java取消了指針操作,提高了安全性;
類型檢查機制相對較弱、缺少支持代碼重用的語言結構。
?