<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

            C語言的由來與發展

            時間:2024-12-27 00:06:09 C語言 我要投稿
            • 相關推薦

            C語言的由來與發展

              “C語言是在一種稱為B語言的基礎上,克服了B語言依賴于機器又無數據類型等局限性開發的語言。大家知道C語言是怎么來的嗎?下面yjbys考試網小編為大家普及以下C語言的由來與發展,希望能夠幫助大家更加了解C語言。

              1.1.1. c語言的由來

              c語言誕生干19?2年,由美國電話電報公司(AT&T)貝爾實驗室的D. M. Ritchie設計,

              并首先在一臺使用UNIX操作系統的DEC PDP-11計算機上實現。

              C語言是在一種稱為B語言的基礎上,克服了B語言依賴于機器又無數據類型等局限性開發的語言。在1970年,美國貝爾實驗室的IC. Thompson以BCPL語言為基礎,設計出一種既簡單又接近于硬件的B語言,并用它寫成了第一個UNIX操作系統,在PDP-7計算機上實現的。B語言是取了BCPL語言的第一個字母。而BCPL語言(Basic Combined ProgrammingLanguage)是3.967年英國劍橋大學的M. Richard,基于一種CPL語言(combined Program-wing Language)提出的一種改進的語言。而CPL語言又是于1963年英國劍橋大學根據AL-GOL 8。推出的一種接近硬件的語言。由此可見,G語言的根源可以追溯到ALGOL 60,它的演變過程如下所示:

              ALGOL6o(1960年)與CPL(1963年)一BCPL(1967年)iB<3970年)-->C(1972年)

              1. 1. 2C語言的發展

              C語言是在人們設想尋找一種既具有一般高級語言的特征,又具有低級語言特點的語言

              的情況下應運而生的,它具有人們的這種期望,集中了高級語言和低級語言的優點。最初的C語言就是為了描述和實現UNIX操作系統而產生的一種工具語言。1973年,貝爾實驗室的KThampson和D. M. Ri}chie兩人合作使用C語言修改了UNIX操作系統,即uNZx第5版本。原來的UNIX操作系統是用匯編語言寫的,改寫后UNIX操作系統中90%以上使用了C語言。從此,C語言的命運與UNIX操作系統便有著密切的聯系,隨著UNIX操作系統的發展和推廣,C語言也在被廣泛的使用和發展。

              C語言出世以后。在應用中不斷的改進。在1975年UN1X第6版本公布以后,C語言開始引起人們的注意,它的優點逐步被人們所認識。1977年出現了與具體機器無關的C語言編譯文本,推動了UNIX操作系統在各種機器上的迅速地實現。隨著UNIX的日益廣泛的使用,C語言也得到了迅速的推廣。1978年以后,C語言先后被移植到大、中、小和微型機上,它很快成為世界上應用最廣泛的計算機語言之一。

              1978年又推出UNIX第8版本,以該版本中的C編譯程序為基礎,B. W. Ketnigha。和D. M. Ritchie合作(被稱為K&R)出版}}The C Programming Language}(C程序設計語言)一書,被稱為標準C 1983年,ANSI(美國國家標準化協會)對G語言的各種版本進行了擴充,推出了新的標準,被稱為ANSI . 它比原來的標準C有了改進和擴充。1987年,ANSI又公布了87ANSZC新版本。目前流行的各種c語言編譯系統的版本大多數都以此為基礎,但各有其不同。當前微機上使用的C語言編譯系統多為Microsoft C, Turbo C, Borland C和QuickC等,它們略有差異,按標準C書寫的程序,基本上都可運行。讀者要了解不同版本的編譯系統的特點和區別可參閱有關的操作說明書。

              C語言的特點

              1.C語言是一種結構化的程序設計語言

              結構化程序設計的優點是便于分工合作,便于調試、維護和擴充。這種程序設計方法是將一個大程序分成若千個模塊,每個模塊完成一個功能,由一個總控模塊來控制和協調各個模塊來實現總的功能;因此,這種程序設計方法又稱為模塊化程序設計方法。在C語言中,函數是構成C諳言程序的最小模塊。實際上,C語言的程序是由一個或者多個文件組成的,每個文件叉是由一個或多個函數組成的。因此,一個程序是由一個或多個函數組成的,其中,須有且僅有一個主函數,生函數的名字規定為rnain() o這樣,組成一個程序的者干個文件中,僅有一個是主文件,只有主艾件中才含有main ( )函數。另外,函數是由若干條語句組成的,語句是由若干個單詞組成的‘單詞是由若干個字符組成的。字符是構成程序的最小單元。e語言程序的構成如下所示:

              程序~文件~函數~語句~單詞、字符。

              C語言是結構化程序設計語言,它具有構成三種基本結構模式的語句,這種結構化程序設計應具有的三種基本結構模式如下:

              順序結構棋式

              它將由若干條順序執行的語句構成,這是程序設計的最基本形式。

              分支結構模式

              C語言中具有條件語句和開關語句,它將會構成各種需要的分支結構模式。

              循環結構模式

              C語言中提供了三種循環語句(for循環,whil。循環和do-while循環),用它們可以構成

              各種循環結構模式。

              在講述C語言是一種結構化程序設計語言的同時,還必須指出它與其他結構化程序設計語言(如PASCAL語言)相比較,還有一些不完全之處,因此,C語言是一種不完全的結構化程序設計語言。其表現如下:

              第一,完全的結構化程序設計語言不允許使用goto語句,因為goto語句會破壞結構化。

              但是。got。語句在某些時候會使得程序簡練,因此,在C語言中原則上允許使用goto語句,為了減少它對結構化的影響,采取了限制使用的辦法,即規定got。語句的轉向范圍只能在一個函數體內。不得使用gates語句從一個函數體內轉向到另一個函數體中,這種限制性地使用goto語句會給編程帶來一些方便,又不會影響棋塊之間的結構化。但是,建議在G語言的程序中盡量少使用goto語句。

              第二,完全的結構化程序設計語言要求一個模塊只有一個入口和一個出口,這樣便于結構化的管理。但是,C語言程序中允許函數使用多個返回語句(return語句),即允許函數有多個出口,返回到調用函數。這樣做也是為了編程中的方便。在C語言程序中,可以使用條件語句來返回不同的函數值。

              由此可見,C語言雖然是一個不夠嚴格的結構化程序設計語言,但它是一個使用起來十分靈活的高級語言。

              C語言的語法結構

              順序結構

              順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。

              例如:a=3,b=5,現交換a、b的值,這個問題就好像交換兩個杯子里面的水,這當然要用到第三個杯子,假如第三個杯子是c,那么正確的程序為:c=a;a=b;b=c,執行結果是a=5,b=c=3,如果改變其順序,寫成:a=b;c=a;b=c;則執行結果就變成a=b=c=5,不能達到預期的目的,初學者最容易犯這種錯誤。順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算、輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s=3.14159*r*r,輸出圓的面積s。不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分支結構中的復合語句、循環結構中的循環體等。

              選擇結構

              順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對于要先做判斷再選擇的問題就要使用選擇結構。選擇結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。選擇結構的程序設計方法的關鍵在于構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的選擇語句。選擇結構適合于帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然后根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易于理解。

              循環結構

              循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do while循環和for循環。四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤。

              特別要注意在循環體內應包含趨于結束的語句(即循環變量值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。

              三個循環的異同點:用while和do while循環時,循環變量的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while循環和for循環都是先判斷表達式,后執行循環體,而do while循環是先執行循環體后判斷表達式,也就是說do while的循環體最少被執行一次,而while循環和for就可能一次都不執行。另外還要注意的是這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與if構成的循環,是不能用break和continue語句進行控制的。

              順序結構、分支結構和循環結構并不彼此孤立的,在循環中可以有分支、順序結構,分支中也可以有循環、順序結構,其實不管哪種結構,均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現各種算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長、結構重復多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。

            【C語言的由來與發展】相關文章:

            C語言的發展歷程08-10

            C語言現在的發展07-14

            C語言的發展過程10-25

            硬盤是由來及發展10-17

            C語言和C++的分別06-18

            C語言和C++的區別09-19

            C語言和C++的區別精選10-16

            C語言試題08-02

            C語言試題11-01

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看