C語言的簡介和特點說明

2020-12-19 電子發燒友

C語言的簡介和特點說明

C語言學習 發表於 2020-02-17 13:41:22

c語言是面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言具有高效、靈活、功能豐富、表達力強和較高的可移植性等特點,在程序設計中備受青睞。C語言編譯器普遍存在於各種不同的作業系統中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了眾多後來的程式語言,例如C++、Objective-C、Java、C#等

C語言是目前世界上流行、使用最廣泛的高級程序設計語言。C語言對作業系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。C語言具有繪圖能力強,可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫它是數值計算的高級語言。

常用的編譯軟體有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++, Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++, Lccwin32 C Compiler 3.1,Microsoft C,High C,等等......

C語言的發展歷史 C語言的發展頗為有趣。它的原型ALGOL 60語言。1963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮幹,提煉出它的精華。並且他用B語言寫了第一個UNIX作業系統。而在1973年,B語言也給人「煮」了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。為了使UNIX作業系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語言成為目前世界上流行最廣泛的高級程序設計語言。1988年,隨著微型計算機的日益普及, 出現了許多C語言版本。由於沒有統一的標準,使得這些C語言之間出現了一些不一致的地方。為了改變這種情況,美國國家標準研究所(ANSI)為C語言制定了一套ANSI標準, 成為現行的C語言標準。

C語言的主要特點 :

C語言發展迅速, 而且成為最受歡迎的語言之一, 主要因為它具有強大的功能。許多著名的系統軟體, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。用C語言加上一些彙編語言子程序, 就更能顯示C語言的優勢了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。

簡潔緊湊、靈活方便 C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以象彙編語言一樣對位、字節和地址進行操作, 而這三者是計算機最基本的工作單元。

運算符豐富 C的運算符包含的範圍很廣泛,共有種34個運算符。C語言把括號、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。

數據結構豐富 C的數據類型有:整型、實型、字符型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種複雜的數據類型的運算。並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。

C是結構式語言 結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控制程序流向,從而使程序完全結構化。

C語法限制不太嚴格、程序設計自由度大 一般的高級語言語法檢查比較嚴,能夠檢查出幾乎所有的語法錯誤。而C語言允許程序編寫者有較大的自由度。

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

C語言程序生成代碼質量高,程序執行效率高 一般只比彙編程序生成的目標代碼效率低10へ20%。

C語言適用範圍大,可移植性好 C語言有一個突出的優點就是適合於多種作業系統, 如DOS、UNIX,也適用於多種機型。

說了這麼多的優點,並不是說C語言就能夠一統江湖了,而是C語言是作為程式語言的入門語言,是非常"親民"的,我們可以通過學習C語言,擁有編程的思維,並且通過後期進階的學習,擁有面向對象的思維,當你能夠到達這個地步,那麼你學其它的語言將會非常容易,因為對你來說,別的就是語法不通的問題,而如果沒有學好C語言,你每學一門程式語言,就會感覺是重新學一樣,所以,我們才會強調C語言的重要性。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 單片機的程式語言:彙編語言、C語言、PL/M和BASIC語言
    作為高級語言,它更接近和體現人的設計思想。PL/M語言不僅具有一般高級語言的特點,而且還能象彙編語言那樣直接利用CPU的硬體特性進行程序設計。因而,與其它高級語言相比,功能多,用途更廣泛,尤其在16位單片機應用領域更受到人們的普遍重視。
  • C語言中「c=a+b」,這種結構合理嗎?
    C語言會同意一些"令人震驚"的結構,下面的結構是合法的嗎,我們來看看幾個例子。 c = a+++b; 以下代碼是合法的嗎,咋的一看不禁有這樣的疑問?
  • 單片機c語言教程:建立你的第一個KeilC51項目
    KEIL uVISION2 是眾多單片機應用開發軟體中優秀的軟體之一,它支持眾多不一樣公司的MCS51架構的晶片,它集編輯,編譯,仿真等於一體,同時還支持,PLM,彙編和C語言的程序設計,它的界面和常用的微軟 VC++的界面相似,界面友好,易學易用,在調試程序,軟體仿真方面也有很強大的功能。本站提供的單片機c語言教程都是基於keilc51的。
  • 單片機C語言模塊化編程方法
    模塊化的好處是很多的,不僅僅是便於分工,它還有助於程序的調試,有利於程序結構的劃分,還能增加程序的可讀性和可移植性。初學者往往搞不懂如何模塊化編程,其實它是簡單易學,而且又是組織良好程序結構行之有效的方法之一.本文將先大概講一下模塊化的方法和注意事項,最後將以初學者使用最廣的keil c編譯器為例,給出模塊化編程的詳細步驟。
  • keil C語言與彙編語言混合編程
    無參數傳遞的函數調用C51調用彙編函數1.無參數傳遞的函數調用先來個例子:其中example.c和example.a51為項目中的兩個文件*example.c*extern void delay100();main(){delay100;}*example.a51*?PR?
  • 如果是初學C語言請看完,如何學好C語言絕對精品
    還有一本《C和指針》,寫得也是相當地不錯,英文名是《Pointers on C》,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很紮實,那麼你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。
  • keil c語言編程常見問題解析(一)
    一起走向智能工業革命時代,單片機DIY、基於c語言/彙編的編程。5.建一個新的c文件,把主文件中的幾個函數移至該文件,把該文件添加到project中,注意該文件不能再選generate assembler SRC file和assemble SRC file選項。
  • C語言入門級教程:基礎數據類型與基本算法,學編程從此刻開始!
    今天帶大家了解一下學C語言必備的基本數據類型和基本算法,適合剛學C以及零基礎的小夥伴! ● 指針類型 指針是C語言的精華所在,許多程式語言中都支持某種形式的指針,但最著名的是C語言。 指針的特殊性在於它的值是一個內存地址。關於指針後面我們會詳細說明。
  • C語言的指針,簡介
    與高級語言的long類型的大小是一致的。所以在java的JNI庫裡,如果需要把native層的C結構體的指針保存到java層,一般是定義一個long類型的變量。指針指向的變量,可以是普通變量、數組變量、結構體變量,以及數組元素、結構體的成員變量,還可以是指針變量。
  • 學員問:C語言入門要掌握哪些基礎知識?
    01C語言程序的結構認識用一個簡單的c程序例子,介紹c語言的基本構成、格式、以及良好的書寫風格,使小夥伴對c語言有個初步認識。; /*把兩個數之和賦值給整型變量sum*/ }重點說明—1、任何一個c語言程序都必須包括以下格式:main() { }——這是c語言的基本結構,任何一個程序都必須包含這個結構。
  • DS80C400的Keil C語言編程
    可以被視作一個構建C或彙編程序的起跑架,它提供TINI®經過驗證的網棧、進程調度器和存儲器管理器。簡單程序,如網絡揚聲器,可以用彙編語言輕鬆實現,更複雜一點的,如HTTP伺服器這種需要與文件系統交互的程序,可以使用C語言。
  • C語言中的變量存儲類型static老手都這樣用
    1、 先來回顧C語言變量C語言中變量值的存儲位置有兩類:CPU的寄存器和內存。變量存儲類型關係到其存儲位置,除了register型存儲在CPU寄存器中,C語言提供的其它三種存儲類型(auto型、static型、extern型)的變量均存儲在內存中。
  • 怎樣學習C語言(獻給迷茫的C愛好者)!
    順便提一句,最新的《C程序設計語言》是依據C89標準修訂的,而《C語言參考手冊》描寫敘述的是C99標準,二者可能會有些出入,建議依照C99標準學習。還有一本《C和指針》,寫得也是相當地不錯,英文名是《Pointers on C》,特別地強調指針的重要性,算是本書的一個特點吧。
  • C語言基礎(下)
    C語言的世界結構體類型什麼是結構體我們觀察現實世界的時候,可以發現很多的東西它都是由不同的部分組合起來的結構體就是把這些東西組合在一起,進行統一的訪問和管理。可以理解成是對現實世界的抽象結構體不僅可以記錄不同類型的數據,而且使得數據結構是「高內聚,低耦合」的,更利於程序的閱讀理解和移植,而且結構體的存儲方式可以提高CPU對內存的訪問速度。
  • 被雙十一套路所傷的,請到這裡取暖——「 用 C語言編寫自己的程式語言 」
    如果你的目標不僅僅是一個碼農,而是軟體工程師,那你應該好好看看本課,相信會對你了解程式語言的設計思想,實現高質量編程會有很大的幫助。1. 內容簡介我們在學習程式語言的時候會學到很多的語法規則,很多巧妙的用法,這些都是怎麼實現的?
  • 單片機與C語言——keil c51教程(1)
    51的程式語言常用的有二種,一種是彙編語言,一種是C語言。彙編語言的機器代碼生成效率很高但可讀性卻並不強,複雜一點的程序就更是難讀懂,而C語言在大多數情況下其機器代碼生成效率和彙編語言相當,但可讀性和可移植性卻遠遠超過彙編語言,而且C語言還可以嵌入彙編來解決高時效性的代碼編寫問題。對於開發周期來說,中大型的軟體編寫用C語言的開發周期通常要小於彙編語言很多。
  • (精華)C語言為什麼一般不在.h中定義函數或者變量?
    好了,今天的主題是一個大家可能不太關注的主題,不過也是非常有趣的一個主題,大部分C語言模塊設計愛好者早就形成了習慣可能就不會關注這一塊的內容,不過我們今天想拿出來探個究竟.    大部分C編程愛好者都知道,在我們的.h文件裡面經常看到的是函數的聲明、變量的聲明、以及各種各樣的宏等等,而且在我前面的文章中我也提到過C語言的模塊化設計中常常說到對應的.h和.c文件認為是一個對象,那麼.h文件主要是對外的一些接口
  • 英文航海日誌的語言特點和記載要求
    本文經同意編譯於論文《英文航海日誌的語言特點和記載要求》作者:大連海事大學 沈江/王建平 營口海事局 呂志軍摘要:針對中國船員在記載英文航海日誌中出現的不規範現象,分析英文航海日誌的語言特點和記載要求然而我國很多船長和駕駛員因為不了解英 語航海日誌的語言特點而不能按船東、主管機關的要求進行記載,一些船舶的航海日誌在港口國檢查中被查官員認定為缺陷項而限期改正,還有一些船舶在遭遇海事後因為所提供的航海日誌記載不規範而影響了船東的利益。因此船舶駕駛人員應當了解航海日誌的語言特點和記載要求 ,完整和規範地 記載航海日誌。
  • 學習c語言,知道這三個資源就行了
    c語言作為目前最熱門的程式語言之一,一直是學生、程式設計師必須學習的課程之一,但目前許多學校的課程太過老舊,教材和教程也參差不齊,這裡就給大家推薦幾個比較好的學習c語言的資源。第一個推薦的就是《C Primer Plus》,作為一本廣受大家認可的工具書,書中詳細地講解了C語言的基本概念和編程技巧,並且包含了許多習題和例子,可以有效的幫助初學者建立對於C語言的知識體系,是一本對小白比較友好,且內容全面的入門教材。
  • C/C+編程筆記:在C+中如何調用C語言的代碼?你可以這樣做
    比如在C文件中存在一個函數func_c(), 該文件與C++的工程混編在一起時,可以直接在C++中調用C文件中的func_c();不需要做任何額外處理。 不過在C中,不可以調用C++的接口,也不能直接調用C語言的一些API,否則編譯會出錯。這個時候呢,就需要我們今天的主角:extern "C"了!