C語言入門

來源:互聯網
上載者:User

標籤:

 一、C語言的曆史發展
 C語言是1972年由美國的Dennis Ritchie設計發明的,並首次在UNIX作業系統的 DEC PDP-11 電腦上使用。它由早期的程式設計語言BCPL (Basic Combind Programming Language)發展演變而來。在1970年,AT&T貝爾實驗室的Ken hompson根據BCPL語言設計出較先進的並取名為B的語言,最後導致了C語言的問世。美國國家標準研究所(ANSI)為C語言制定了一套ANSI標準,成為現行的C語言標準。

 二、C語言的優點
  C語言是一種結構化語言。它層次清晰,便於按模組化方式組織程式,易於調試和維護。C語言的表現能力和處理能力極強。它不僅具有豐富的運算子和資料類型,便於實現各類複雜的資料結構。它還可以直接存取記憶體的物理地址,進行位(bit)一級的操作。 
 1. 簡潔而靈活  
  C語言一共只有32個關鍵字,9種控制語句,程式書寫自由,主要用小寫字母表示。它把進階語言的基本結構和語句與低級語言的實用性結合起來。C語言可以象組合語言一樣對位、位元組和地址進行操作, 而這三者是電腦最基本的工作單元。 
  2. 運算子豐富 
  C的運算子包含的範圍很廣泛,共有種34個運算子。C語言把括弧、賦值、強制類型轉換等都作為運算子處理。從而使C語言的運算類型極其豐富運算式類型多樣化,靈活使用各種運算子可以實現在其它進階語言中難以實現的運算。 
  3. 資料結構豐富 
  C的資料類型有:整型、實型、字元型、數群組類型、指標類型、結構體類型、共用體類型等。能用來實現各種複雜的資料類型的運算。並引入了指標概念,使程式效率更高。另外C語言具有強大的圖形功能, 支援多種顯示器和磁碟機。且計算功能、邏輯判斷功能強大。 
  4. C語言是結構式語言 
  結構式語言的顯著特點是代碼及資料的分隔化,即程式的各個部分除了必要的資訊交流外彼此獨立。這種結構化方式可使程式層次清晰,便於使用、維護以及調試。C語言是以函數形式提供給使用者的,這些函數可方便的調用,並具有多種迴圈、條件陳述式控製程序流向,從而使程式完全結構化。 
  5. C語言允許直接存取物理地址,可以直接對硬體進行操作 
  既具有進階語言的功能,又具有低級語言的許多功能,能夠象組合語言一樣對位、位元組和地址進行操作,而這三者是電腦最基本的工作單元,可以用來寫系統軟體。 
  6. C語言適用範圍大 
 C語言有一個突出的優點就是適合於多種作業系統, 如DOS、UNIX,也適用於多種機型。

 三、C語言的缺點
 當然,C語言也有自身的不足,比如:C語言的文法限制不太嚴格,對變數的類型約束不嚴格,影響程式的安全性,對數族下標越界不作檢查等。從應用的角度,C語言比其他進階語言較難掌握

 四、函數

 雖然很多程式語言都有函數這一內容,但C語言的函數也很有魅力的。學習函數的方法是比較簡單的,只有兩個字“牢記”,即:牢記函數的功能,牢記函數的用途以及如何輸入輸出。函數從本質上講是一段通用程式,用它可以協助我們節約很多編程的時間,一個聰明的編程者在編寫程式前往往總是先找自己所編寫的程式中有多少是可以用函數來代替的。

 五、C語言的結構特點
  1.一個C語言來源程式可以由一個或多個源檔案組成。 
  2.每個源檔案可由一個或多個函數組成。 
  3.一個來源程式不論由多少個檔案組成,都有一個且只能有一個main函數,即主函數。 
  4.來源程式中可以有預先處理命令(include 命令僅為其中的一種),預先處理命令通常應放在源檔案或來源程式的最前面。 
  5.每一個說明,每一個語句都必須以分號結尾。但預先處理命令,函數頭和花括弧“}”之後不能加分號。 
 6.標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。

 六、學習C語言的方法
 學習C語言必須學習知識的重要方法,就是說,學習後面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們最不易做到的,然而卻又是最重要的。
  綜上所述,C語言既有進階語言的特點,又具有組合語言的特點;既是一個成功的系統設計語言,又是一個使用的程式設計語言;既能用來編寫不依賴電腦硬體的應用程式,又能用來編寫各種系統程式;是一種受歡迎、應用廣泛的程式設計語言C語言版本 。

http://www.lznews.gov.cn/uzt/list1/265833.html
http://www.lznews.gov.cn/uzt/list1/265830.html
http://www.lznews.gov.cn/uzt/list1/265829.html
http://www.lznews.gov.cn/uzt/list1/265828.html
http://www.lznews.gov.cn/uzt/list1/265825.html
http://www.lznews.gov.cn/uzt/list1/265823.html
http://www.lznews.gov.cn/uzt/list1/265821.html
http://www.lznews.gov.cn/uzt/list1/265808.html
http://www.lznews.gov.cn/uzt/list1/265799.html
http://www.lznews.gov.cn/uzt/list1/265788.html
http://www.lznews.gov.cn/uzt/list1/265769.html
http://www.lznews.gov.cn/uzt/list1/265756.html
http://user.qzone.qq.com/3054449816/blog/1430101772
http://user.qzone.qq.com/3054449816/blog/1430101621
http://user.qzone.qq.com/3054449816/blog/1430029608
http://user.qzone.qq.com/3054449816

 

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.