【C語言】01-C語言概述

來源:互聯網
上載者:User

說明:這個C語言專題,是學習iOS開發的前奏。也為了讓有物件導向語言開發經驗的程式員,能夠快速上手C語言。如果你還沒有編程經驗,或者對C語言、iOS開發不感興趣,請忽略

為什麼iOS開發要先學C語言?

iOS開發的核心語言是Objective-C,Objective-C是在C語言的基礎加了一層物件導向的文法。為了能夠更好地掌握Objective-C,我們可以先學習C語言,然後在C語言的基礎上升華到Objective-C。當然,你也可以直接學習Objective-C,只是我個人建議先學習C語言,再學習Objective-C,最後學習iOS開發,這樣效果會好一點。

 

一、C語言簡史
  • C語言於1972年發明,首次使用是用於重寫UINX作業系統(UNIX以前是用彙編寫的)
  • 隨著UNIX作業系統的成功,C語言也得到了大幅度地推廣,至今還是世界上最流行、使用最廣泛的進階程式設計語言之一
  • C語言是一門面向過程的語言,非物件導向的語言

下面是2013年3月份的程式設計語言熱門熱門排行榜

從C語言誕生至今,它的熱度一點也沒減過,前兩名基本上都是Java和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語言文法預覽

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.