「C語言」- C語言入門概述!小白必看

虎牙來了 發佈 2020-01-09T18:59:52+00:00

由於C語言具有強大的數據處理能力,而且允許直接訪問物理地址,直接對硬體操作,因此它適於編寫系統軟體、圖形處理、單片機程序、嵌入式系統開發甚至是用於科研 很多作業系統的底層都是用C語言寫的,比如android iOS開發中的核心語言是Objective-C,OC是在C語言的基礎上加

一、C語言簡史

C語言於1972年發明,首次使用是用於重寫UINX作業系統(UNIX以前是用彙編寫的)。

隨著UNIX作業系統的成功,C語言也得到了大幅度地推廣,至今還是世界上最流行、使用最廣泛的高級程序設計語言之一。

C語言是一門面向過程的語言,非面向對象的語言。

從C語言誕生至今,它的熱度一點也沒減過,前兩名基本上都是Java和C/C++。


二、C語言的特點

1.豐富的運算符

計算機的基本功能就是計算,因此一門程序設計語言的計算能力是非常重要的。C語言提供了34種運算符,計算類型及其豐富,其中包括了最基本的加減乘除運算。

2.豐富的數據類型

C語言之所以生命力如何強大,很大一部分是因為它擁有豐富的數據類型。

C語言的數據類型有:整型(int)、實型(float)、字符型(char)、數組類型(int [])、指針類型(void *)、結構體類型(struct)、共用體類型(union)等。眾多數據類型中,最強大的是指針,通過指針我們可以直接訪問內存地址。指針使用得當的話,不僅可以節省代碼量,還可以優化內存管理、提高性能。

因此,指針是一個非常重要的概念,必須重視。如果你說C語言中除了指針,其他都學得挺好的,那你乾脆說你沒學過C語言。正因為C語言數據類型豐富,運算能力極強,因此很多資料庫都是用C語言編寫的,比如DB2、Oracle等。

3.允許直接訪問物理地址,對硬體進行操作

由於C語言允許直接訪問物理地址,可以直接對硬體進行操作,因此它既具有高級語言的功能,又具有低級語言的許多功能,能夠像彙編語言一樣對位(bit)、字節和地址進行操作,而這三者是計算機最基本的工作單元。

4.高效率的目標代碼

對比彙編語言,C語言可讀性好,易於調試、修改和移植,代碼質量與彙編語言相當。

5.可移植性好

在一個環境上用C語言編寫的程序,不改動或稍加改動,就可移植到另一個完全不同的環境中運行。

▓上面說的都算是C語言的優點,不過它肯定是有缺點的:

由於C語言是面向過程的,因此它的數據封裝性差、安全性低,這就是C語言和其他面向對象語言的區別之一。面向對象語言的特性之一就是數據的封裝性

語法限制不嚴格,對變量的類型約束不嚴格,對數組下標越界不作檢查等


三、C語言能做什麼?

由於C語言具有強大的數據處理能力,而且允許直接訪問物理地址,直接對硬體操作,因此它適於編寫系統軟體、圖形處理、單片機程序、嵌入式系統開發甚至是用於科研

很多作業系統的底層都是用C語言寫的,比如android

iOS開發中的核心語言是Objective-C(簡稱OC),OC是在C語言的基礎上加了一層面向對象語法


四、C語言的版本問題

從UNIX作業系統的成功後,C語言得到了廣泛地應用,從大型主機到小型微機,都有C語言活躍的身影,也衍生了很多個版本的C語言。長期以往,C語言將可能成為一門有多個變種、鬆散的語言。

一門正式的語言,肯定要有個標準才行,不然就亂套了。為了改變這種局面,1983年美國國家標準局(American National Standards Institute,簡稱ANSI)成立了一個委員會,開始制定C語言標準的工作。1989年C語言標準被批准,這個版本的C語言標準通常被稱為ANSI C


五、C語言語法預覽

我是一名從事了10年開發在退休邊緣垂死掙扎的高齡程式設計師,最近我花了一些時間整理了一個完整的學習C語言、C++的路線,項目源碼和工具。對於想學習C/C++的小夥伴而言,學習的氛圍和志同道合的夥伴很重要,筆者推薦一個C語言/C++編程愛好者的聚集地>>>私信我【編程學習】即可!

歡迎初學和進階中的小夥伴。希望你也能憑自己的努力,成為下一個優秀的程式設計師。工作需要、感興趣、為了入行、轉行需要學習C/C++的夥伴可以一起學習!

喜歡小編的記得動動您的小指點個關注喲!最後分享C/C++學習路線圖給愛學習的小夥伴們~


免費獲取喲!

關鍵字: