C語言發展歷史,C語言特點,C語言利于弊,入門須知三招

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取消了指針操作,提高了安全性;

類型檢查機制相對較弱、缺少支持代碼重用的語言結構。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531159.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531159.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531159.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

程序員怎么看待C語言?最偉大?最落后?

一,前言 對我來說,C語言應該可以算得上是世界上最偉大的編程語言。全中國口氣最大的程序員,業界稱之為“垠神”,曾經發過文章吐槽過業界各種主流的編程語言(對Java,的Python稍微寬容一些)&…

如何學習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和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程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得…

Windows下設置自動關機的命令指示符

(請先看置頂博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 Windows定時操作命令:superR,輸入:??:??shutdown -s ”??“代表時間…

Win7系統轉到Win10系統的裝機方法

Windows 10的版本最好是家庭版。 1.進入PC的BIOS。進入方法與PC品牌有關,可根據對應的品牌查尋進入方法。 2.將Boot List Option 選為UEFI。有些電腦在切換UEFI后即可顯示列表,因此可跳過第三步,反之則繼續第三步的操作。 3.重啟PC&#x…

Ubuntu16.04amp;amp;Windows 10雙系統安裝教程(UEFI模式)

相信來這里的各位,都是想在Windows 10的PC上安裝Linux Ubuntu16.04,來達到雙系統并用的目的。 那么接下來,我就在默認已安裝Windows 10的基礎上介紹如何以UEFI的方式安裝Ubuntu16.04!我的PC是聯想小新潮7000—13。在裝雙系統之前…

利用軟碟通軟件制作Ubuntu16.04系統啟動盤

以下操作均在Windows系統下進行!Windows系統的啟動盤和Linux的啟動盤要分開,即需要兩個U盤來制作和存儲。(似乎無法共存于一個U盤里) (系統盤制作軟件會U盤格式化,所以U盤提前做好備份工作) 1…

Linux Ubuntu16.04界面美化

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 很多人在安裝系統之后可能對其外觀、主題或是桌面壁紙不滿意,本文給大家介紹幾種美化方法和插件! 1.可以將左側的“熱區”…

Linux16.04和Windows 10雙系統下,解決時間不一致問題

裝完雙系統,你可能會發現某一個系統的時間與現在時間不一致(中國相差八個小 時),那么如何解決這個問題呢? 1.將某一個系統的設置時間更新方式設置為“手動”,而不是“從互聯網自動獲取”。 2.進入PC的BIO…

Linux Ubuntu 16.04系統下可用的Windows應用

眾所周知,Linux系統下的生態環境不是很好,很多可以在Windows 10系統下運行的 軟件都不能在Linux下運行,那么接下來為大家推薦部分可以應用的軟件: A.Google-Chrome. 最簡單的方法是到https://www.google.cn/chrome/下載對應的Lin…

基于Vitual Box建立虛擬機,虛擬機系統為Linux Ubuntu16.04

相比于為PC機安裝雙系統,安裝虛擬機在達到相同目的的時候顯得更為方便。 那本文就詳細的為大家介紹如何在Windows 10的系統下,安裝Vitual Box,進而安裝虛擬機。 一、下載Vitual Box虛擬機制作軟件及鏡像文件 Vitual Box網址為:…

ROS安裝過程和配置過程(可能出現的問題及解決方法)

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 準備學習ROS,所以在Linux Ubuntu16.04 的系統下安裝ROS (建議初學者,先在虛擬機里進行學習和實踐&#xff0c…

閑暇所學“表白對話框”

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 相信大家都在某音上看過一段表白的視頻:打開某個文件后,彈出一個個對話框,表達對心里人的情愫,請求…

C語言(CED)編寫一個程序,求兩個字符之間的加減運算。

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 復習C語言,不同的心境遇到了不同的問題: 問題: 編寫一個程序,求兩個字符之間的加減運算。連續輸…

C語言(CED)輸入一個任意長度的正整數,將該數逆序輸出。

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 題目內容: 輸入一個任意長度的正整數,將該數逆序輸出。如,輸入正數237,則逆序顯示的結果為732。如…