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