C語言過時了?你在做夢?

為什么要使用C語言?

在過去的四十年里,C語言已經成為世界上最流行、最重要的一種編程語言。

C是一種融合了控制特性的現代語言,而我們已發現在計算機科學的理論和實踐中,控制特性是很重要的。其設計使得用戶可以自然地采用自頂向下的規劃,結構化的編程,以及模塊化的設計。這種做法使得編寫出的程序更可靠,更易懂。

?

高效性

C是一種高效的語言。 在設計上它充分利用了當前計算機在能力上的優點。C程序往往很緊湊且運行速度快。事實上,C可以表現出通常只有匯編語言才具有的精細控制能力(匯編語言是特定的CPU設計所采用的一組內部指令的助記符。不同的CPU類型使用不同的匯編語言)。如果愿意,你可以細調程序以獲得最大速度或最大內存使用率。

可移植性

C是一種可移植語言。這意味著,在一個系統上編寫的C程序經過很少改動或不經修改就可以其他系統上運行。如果修改是必要的,則通常只須改變伴隨主程序的一個頭文件中的幾項內容即可。多數語言原本都想具有可移植性,但任何曾將IBM PC BASIC 程序轉換為 Apple BASIC 程序(它們還是近親)的人,或者試圖在 UNIX 系統上運行一個 IBM 大型機 FORTRAN 程序的人都知道,移植至少是在制造麻煩。C 在可移植性方面處于領先地位。C 編譯器(將C代碼轉換為計算機內部使用的指令的程序)在大約40多種系統上可用,包括從使用8位微處理器的計算機到Cray超級計算機。不過要知道,程序中為訪問特定硬件設備(例如顯示器)或操作系統(如Windows XP或OS X)的特殊功能而專門編寫的部分,通常是不能移植的。

由于C與UNIX的緊密聯系,UNIX系統通常都帶有一個C編譯器作為程序包的一部分。Linux中同樣也包括一個C編譯器。個人計算機,包括運行不同版本的 Windows 和 Macintosh 的PC,可使用若干種C編譯器。所以不論你使用的是家用計算機,專業工作站還是大型機,都很容易得到針對你特定系統的C編譯器。

強大的功能和靈活性

C強大而又靈活(計算機世界中經常使用的兩個詞)。例如,強大而靈活的 UNIX操作系統的大部分便是用C編寫的。其他語言(如 FORTRAN,Perl,Python,Pascal,LISP,Logo和BASIC)的許多編譯器和解釋器也都用C編寫的。結果是,當你在一臺UNIX機器上使用FORTRAN時,最終是由一個C程序負責生成最后的可執行程序的。C程序已經用于解決物理學和工程學問題,甚至用來為《角斗士》這樣的電影制造特殊效果。

面向編程人員

C面向編程人員的需要。它允許你訪問硬件,并可以操縱內存中的特定位。它具有豐富的運算符供選擇,讓你能夠簡潔地表達自己的意圖。在限制你所能做的事情方面,C 不如Pascal這樣的語言嚴格。這種靈活性是優點,同時也是一種危險。優點在于:許多任務(如轉換數據形式)在C中都簡單得多。危險在于:使用C時,你可能會犯在使用其他一些語言時不可能犯的錯誤。C給予你更多的自由,但同時也讓你承擔更大的風險。

?

另外,多數C實現都有一個大型的庫,其中包含有用的C函數。這些函數能夠處理編程人員通常會面對的許多需求

?

說了這么多給各位觀眾姥爺來點實際的:

?

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

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

相關文章

C/C++的轉義字符詳解

所有的ASCII碼都可以用“\”加數字(一般是8進制數字)來表示。而C中定義了一些字母前加"\"來表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等,就稱為轉義字符,因為后面的字符,都不是它本來的ASCI…

C語言深入理解!助你向大佬邁進!

Dennis Ritchie 過世了,他發明了C語言,一個影響深遠并徹底改變世界的計算機語言。一門經歷40多年的到今天還長盛不衰的語言,今天很多語言都受到C的影響,C,Java,C#,Perl, PHP&#xf…

【初涉C語言】程序員歡迎來到C語言的世界!

計算機發展史 機器語言所有的代碼里面只有0和1優點:直接對硬件產生作用,程序的執行效率非常高缺點:指令又多又難記、可讀性差、無可移植性匯編語言符號化的機器語言,用一個符號(英文單詞、數字)來代表一條…

C語言和C++的區別整理詳解!

c和c主要區別 根據書中的描述,進行了整理 推薦一個我自己的C/C交流裙815393895 1、 源代碼文件的擴展名 摘自1.4.1 C實現源代碼文件的擴展名UNIXC、cc、cxx、cGNU CC、cc、cxx、cpp、cDigital Marscpp、cxxBorland CcppWatcomcppMicrosoft Visual Ccpp、cxx、cc…

揭示C語言函數調用的本質解析

C語言是面向過程的,而C++是面向對象的C和C的區別: C是一個結構化語言,它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到…

C語言的關鍵字和詳細介紹

C語言是面向過程的,而C++是面向對象的C和C的區別: C是一個結構化語言,它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到…

【C語言簡介】C語言的前世今生

C語言的發展歷史: 20世紀70年代初,貝爾實驗室的Dennis Richie 等人在B語言基礎上開發出C語言,最初是作為UNIX的開發語言; 20世紀70年代末,隨著微型計算機的發展,C語言開始移植到非UNIX環境中,并…

C語言/C++編程學習:不找C/C++的工作也要學C/C++的原因

C語言是面向過程的,而C++是面向對象的 C和C的區別: C是一個結構化語言,它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得…

C\C++中聲明與定義的區別

C語言是面向過程的,而C++是面向對象的 C和C的區別: C是一個結構化語言,它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得…

C++ 虛函數和虛繼承解析

本文針對C里的虛函數,虛繼承表現和原理進行一些簡單分析,有不對的地方請指出。下面都是以VC2008編譯器對這兩種機制內部實現為例。 有喜歡或者想學習C/C的朋友加一下我的C/C交流群815393895。謝謝大家的支持 虛函數 以下是百度百科對于虛函數的解釋&a…

【網絡攻防】精通C語言的黑客才是真正的黑客!

精通C語言的黑客才是真正的黑客 黑客界,有兩樣重要的課程,一是計算機的本質,二是編譯原理。相對于匯編等底層語言,它簡單;相對于其它高級語言,它更為接近計算機;同樣它對黑客的兩大課程很有幫助…

我兩小時學完指針,你學會數組/指針與函數需要多久?

數組與函數: 這段函數中 函數的參數是數組,注意數組作為函數參數時,數組名和數組元素個數時分別傳遞的。 指針與函數: 這段函數中的參數是指針變量,傳入的是數組的數組名或者首元素的地址,然后用引領操作…

【C語言】C語言結構解析

C 程序結構 在我們學習 C 語言的基本構建塊之前,讓我們先來看看一個最小的 C 程序結構,在接下來的章節中可以以此作為參考。 喜歡編程的或者想學習編程的朋友可以加一下我的C語言編程交流群815393895,謝謝大家的支持 C Hello World 實例 C…

每一個程序員都是自學成才?

為什么CS學位并非是成為開發人員的唯一路徑,因為每個開發人員在工作于他們的項目時學到了很多很多。 學習編程并不難 有興趣學習或者已經在學習C語言的朋友可以加一下我的編程交流群815393895 除了CS學位,還有很多成為程序員的方法。如果你正行進在一…

不妨問問自己,學習C語言是為了什么?

1、首先是雞湯,也就是為什么要學C語言。你可以先問自己,為什么我要學C語言?是為了應付考試,還是為了應聘,還是為了提高自己的編程能力。我想說的是,如果你打算以后長期從事計算機方面的工作,你就…

C語言靈魂——算法!

程序的靈魂—算法 一個程序應包括: 對數據的描述。在程序中要指定數據的類型和數據的組織形式,即數據結構(data structure)。 對操作的描述。即操作步驟,也就是算法(algorithm)。 Nikiklaus Wir…

為什么會有那么多人放棄編程?

為什么許多編程人員最后都放棄了呢?小編幫你理清下原因,主要有以下幾個 為什么這么多人選擇放棄學習編程? 加班加點是家常便飯 在軟件行業不加班的公司不是很多,區別就是加班強度。為什么程序員需要加這么多班,軟件是一…

C語言基礎知識梳理

C語言是面向過程的,而C++是面向對象的 C和C的區別: C是一個結構化語言,它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到…

很多人大一就開始學習C語言,你真的學到了嗎?

好多人大一就學了C語言,但你有沒有感覺學的不深,不扎實。或者說越學越迷茫,不知道它能做什么 我相信,這可能是很多朋友的問題,其實,這是很多初學者都會踩到的一個坑!C語言本身是一門很簡單的語言…

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

C語言是面向過程的,而C++是面向對象的 這些是C/C能做的 服務器開發工程師、人工智能、云計算工程師、信息安全(黑客反黑客)、大數據 、數據平臺、嵌入式工程師、流媒體服務器、數據控解、圖像處理、音頻視頻開發工程…