C語言入門概述
發(fā)布者:網(wǎng)上發(fā)布
??C語言簡史,C語言于1972年發(fā)明,使用是用于重寫UINX操作系統(tǒng)(UNIX以前是用匯編寫的)。隨著UNIX操作系統(tǒng)的成功,C語言也得到了大幅度地推廣,至今還是世界上*流行、使用*廣泛的高級程序設(shè)計語言之一。C語言是一門面向過程的語言,非面向?qū)ο蟮恼Z言。從C語言誕生至今,它的熱度一點也沒減過,前兩名基本上都是Java和C/C++。
??C語言的特點
??1.豐富的運算符
??計算機的基本功能就是計算,因此一門程序設(shè)計語言的計算能力是非常重要的。C語言提供了34種運算符,計算類型及其豐富,其中包括了*基本的加減乘除運算。
??2.豐富的數(shù)據(jù)類型
??C語言之所以生命力如何強大,很大一部分是因為它擁有豐富的數(shù)據(jù)類型。
??C語言的數(shù)據(jù)類型有:整型(int)、實型(float)、字符型(char)、數(shù)組類型(int )、指針類型(void *)、結(jié)構(gòu)體類型(struct)、共用體類型(union)等。眾多數(shù)據(jù)類型中,*強大的是指針,通過指針我們可以直接訪問內(nèi)存地址。指針使用得當?shù)脑?,不僅可以節(jié)省代碼量,還可以優(yōu)化內(nèi)存管理、提高性能。
??因此,指針是一個非常重要的概念,必須重視。如果你說C語言中除了指針,其他都學得挺好的,那你干脆說你沒學過C語言。正因為C語言數(shù)據(jù)類型豐富,運算能力極強,因此很多數(shù)據(jù)庫都是用C語言編寫的,比如DB2、Oracle等。
??3.允許直接訪問物理地址,對硬件進行操作
??由于C語言允許直接訪問物理地址,可以直接對硬件進行操作,因此它既具有高級語言的功能,又具有低級語言的許多功能,能夠像匯編語言一樣對位(bit)、字節(jié)和地址進行操作,而這三者是計算機*基本的工作單元。
??4.率的目標代碼
??對比匯編語言,C語言可讀性好,易于調(diào)試、修改和移植,代碼質(zhì)量與匯編語言相當。
??5.可移植性好
??在一個環(huán)境上用C語言編寫的程序,不改動或稍加改動,就可移植到另一個完全不同的環(huán)境中運行。
??上面說的都算是C語言的優(yōu)點,不過它肯定是有缺點的:
??由于C語言是面向過程的,因此它的數(shù)據(jù)封裝性差、安全性低,這就是C語言和其他面向?qū)ο笳Z言的區(qū)別之一。面向?qū)ο笳Z言的特性之一就是數(shù)據(jù)的封裝性
??語法限制不嚴格,對變量的類型約束不嚴格,對數(shù)組下標越界不作檢查等
??三、C語言能做什么?
??由于C語言具有強大的數(shù)據(jù)處理能力,而且允許直接訪問物理地址,直接對硬件操作,因此它適于編寫系統(tǒng)軟件、圖形處理、單片機程序、嵌入式系統(tǒng)開發(fā)甚至是用于科研
??很多操作系統(tǒng)的底層都是用C語言寫的,比如android
??iOS開發(fā)中的核心語言是Objective-C(簡稱OC),OC是在C語言的基礎(chǔ)上加了一層面向?qū)ο笳Z法
??四、C語言的版本問題
??從UNIX操作系統(tǒng)的成功后,C語言得到了廣泛地應(yīng)用,從大型主機到小型微機,都有C語言活躍的身影,也衍生了很多個版本的C語言。長期以往,C語言將可能成為一門有多個變種、松散的語言。
??一門正式的語言,肯定要有個標準才行,不然就亂套了。為了改變這種局面,1983年美國國家標準局(American National Standards Institute,簡稱ANSI)成立了一個委員會,開始制定C語言標準的工作。1989年C語言標準被批準,這個版本的C語言標準通常被稱為ANSI C!