




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C 語言程序設(shè)計C第一章第一章 概述概述(2)第二章第二章 算法算法(1)第三章第三章 數(shù)據(jù)類型、運算符與表達式數(shù)據(jù)類型、運算符與表達式(3)第四章第四章 語句和控制流語句和控制流(4)第五章第五章 數(shù)組數(shù)組(4)第六章第六章 函數(shù)函數(shù)(4)第七章第七章 編譯預(yù)處理編譯預(yù)處理(1)第八章第八章 指針指針(5)第九章第九章 結(jié)構(gòu)體和共用體結(jié)構(gòu)體和共用體(2)第十章第十章 文件文件(2)第一章第一章 概概 述述C目錄1.1 程序設(shè)計語言簡介1.2 C語言的歷史和發(fā)展狀況1.3 C語言的特點1.4 簡單的C程序1.5 C程序的上機步驟C1.1 程序設(shè)計語言簡介語言是信息交流工具?;谝唤M記號與符號由
2、人工構(gòu)造的形式化的系統(tǒng)(如符號邏輯),包括合法表達式的形成規(guī)則和轉(zhuǎn)換規(guī)則。在計算領(lǐng)域,也存在不同層次的語言,這里所論及的是實現(xiàn)層次的語言,即程序設(shè)計語言。程序設(shè)計語言=字符集+規(guī)則集(用于組合字符)C機器語言匯編語言高級語言面向過程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000 加 10010000 減用助記符號描述的指令系統(tǒng)如 ADD A, B面向機器的語言程序設(shè)計是數(shù)據(jù)被加工的過程客觀世界可以分類,對象是類的實例對象是數(shù)據(jù)和方法的封裝對象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計關(guān)鍵是定義類,并由類派生對象計算機上的語言層次C 比機器或匯編語言更易于學(xué)習。記號更接近問題
3、域;更少關(guān)心物理硬件 程序設(shè)計語言書寫的程序更易于調(diào)試(程序更為短?。挥浱柋旧砀匀?,因此更多注意力可放在程序邏輯而非語法細節(jié)上)。 程序更易于理解 程序設(shè)計語言的記號自然起到了文檔的作用 上述原因?qū)е陆鉀Q問題的時間和代價減少。程序設(shè)計語言的優(yōu)點C 編譯過程需要機器時間,它可能超過易于調(diào)試所節(jié)省的時間 編譯器可能產(chǎn)生低效的代碼 如果用戶不知道機器代碼或編譯器未提供合適的調(diào)試工具,則程序調(diào)試可能非常困難。程序設(shè)計語言的缺點5260708090AdaALGOL60ALGOL68PascalModula-2CPL BCPL BCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRA
4、NPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASICVBFORTRAN90C Fortran 1956,第一個廣泛使用的高級語言,為大量的科學(xué)和工程人員打開了使用計算機的大門 Cobol 1960,最廣泛使用的數(shù)據(jù)處理語言。具有類英文的語法和機器獨立性。 Algol60 1960,用于刻劃算法。形式化語法定義,帶動了語言的理論和實現(xiàn)技術(shù)研究。 Lisp 1960,引入了函數(shù)程序設(shè)計概念,基于表處理。 Pascal 1971,在一個小語言中引入了如賦類型的新概念,并以優(yōu)美方式組合了各種著名結(jié)構(gòu)。C1.2 C語言的歷史和發(fā)展狀況C語言是一種計算機高級語言。
5、C語言既可用來編寫系統(tǒng)軟件,也可編寫應(yīng)用軟件。C語言具有一般高級語言的特性,又具有低級語言的特性,集兩者的優(yōu)點于一身。CC語言的歷史和發(fā)展狀況Algol1960CPL1963BCPL1967 B1970NB(C語言)1972Ken ThompsonDennis RitchieMartin RichardsUNIX 的創(chuàng)始者CC語言的歷史和發(fā)展狀況1978年,Brian Kernighan 和Dennis Ritchie合著了The C Programming Language,稱為標準C,80年代中期,美國國家標準化協(xié)會(ANSI)制定了新的標準,稱為ANSI C。1988年, The C P
6、rogramming Language的第二版出版(已被譯為多種語言出版)。1987年,公布了87 ANSI C,目前常用的編譯系統(tǒng)都是以它為基礎(chǔ)的。近年來的發(fā)展,有Concurrent C Gehani 1989, Objective C Cox 1986, C* Thinking1990, 和 C+ Stroustrup1986. C1.3 C語言的特點 語言表達能力強 語言簡捷,使用方便靈活,易于學(xué)習和應(yīng)用 數(shù)據(jù)類型豐富 運算符豐富 具有結(jié)構(gòu)化的控制語句 允許直接訪問物理地址,能進行位操作CC語言的特點 生成目標代碼質(zhì)量高,程序執(zhí)行效率高(僅比匯編程序生成的目標代碼執(zhí)行效率低1020%。
7、) 程序可移植性好 語法限制不嚴格,程序設(shè)計自由度大(程序員必須對大部分語法錯誤負責)。 C語言突出的優(yōu)點:高效、可移植、靈活、能力強C1.4 簡單的C程序例1.1 main() printf ( Hello,world n); 該程序的作用:在屏幕上輸出一行信息: Hello,world 本例中,主函數(shù)main()僅包含一個語句,該語句僅由printf()輸出函數(shù)構(gòu)成。語句后面有一個分號。;C簡單的C程序例1.2 求兩數(shù)之和。 main() int a, b, sum; /* 定義三個整型變量 */ a = 123; b = 456; sum = a + b; printf(sum is %
8、dn, sum); sum is 579C簡單的C程序 本程序的作用:求兩整數(shù)a、b之和sum,并在屏幕上輸出sum。 /* */中間的內(nèi)容表示“注釋”。注釋是程序員對程序某部分的功能和作用所做的說明,是給人看的,對編譯和運行不起作用。 語句 int a,b,sum;定義三個整型變量。(int = integer)語句 a = 123;是一個賦值(assign)語句,把常數(shù)123賦給變量a。語句b = 456;也是一個賦值語句。該行包括兩個語句。(C語言中,一個語句可以占多行,一行也可以有多個語句)。C簡單的C程序 語句 sum = a + b;計算a、b之和,并把和值賦變量給sum,這是一個
9、賦值語句。 printf()輸出sum的值,輸出格式用“格式字符串”%d指定。%d表示整型格式,在輸出時,該位置用對應(yīng)變量sum的值代替。程序的輸出信息為:sum is 579C例1.3 從鍵盤輸入兩個整數(shù),在屏幕上輸出它們的最大值。main() /*主函數(shù)*/int a,b,c; /*定義變量*/ scanf(“%d, %d”, &a, &b); /*輸入變量a和b的值*/ c = max(a, b); /*調(diào)用max函數(shù),將返回值賦給c*/ printf(“max = %d”, c); /*輸出c的值*/int max(x,y) /*定義max函數(shù),函數(shù)值為整型*/int
10、x, y; /*定義形式參數(shù)x,y為整型*/int z; /*定義變量z為整型*/if (xy) z = x; else z = y;return (z); /*將z值返回*/8,5 max=8C從以上三個例子中,可以看到:1. C程序主要由函數(shù)構(gòu)成,C程序中有三種類型的函數(shù):main():主函數(shù),開發(fā)系統(tǒng)提供的特殊函數(shù),每一個C程序必須且只有一個main()函數(shù)。它代表程序開始執(zhí)行的起始位置開發(fā)系統(tǒng)提供的庫函數(shù),如printf()、scanf()等程序員自己設(shè)計的函數(shù),如例1.3中的max()。C程序由函數(shù)構(gòu)成的這種特點有利于實現(xiàn)程序的結(jié)構(gòu)化。C2. 一個函數(shù)由兩部分構(gòu)成:函數(shù)的說明部分,包
11、括:函數(shù)名、函數(shù)類型(返回值類型)、函數(shù)屬性(前面的例子中未使用函數(shù)的屬性。屬性包括near和far)、形式參數(shù)名、形式參數(shù)類型。函數(shù)體,大括號 中的部分。函數(shù)體中包含變量定義部分和執(zhí)行部分。C3. 一個C程序總是從main()處開始執(zhí)行,而不管main()在源程序中的位置4. C程序書寫格式自由,一個語句可以占多行,一行也可以有多個語句5. 語句和數(shù)據(jù)定義后必須要有分號。 例、c = a + b ;6. C語言用函數(shù)進行輸入輸出,如scanf()、printf()7. C語言用/* */作注釋編輯連接編譯執(zhí)行程序代碼的錄入,生成源程序 *.c語法分析查錯,翻譯生成目標程序 *.obj與其它目
12、標程序或庫連接裝配,生成可執(zhí)行程序 *.exe1.5 C程序的上機步驟C運行一個語言程序的一般過程運行一個語言程序的一般過程 1. 進入集成環(huán)境2. 編輯(或修改)源程序3. 編譯。如果編譯成功,則可進行下一步操作;否則,返回2修改源程序,再重新編譯,直至編譯成功4. 連接。如果鏈接成功,則可進行下一步操作;否則,根據(jù)系統(tǒng)的錯誤提示,進行相應(yīng)修改,再重新連接,直至鏈接成功5. 運行。通過觀察程序運行結(jié)果,驗證程序的正確性。如果出現(xiàn)邏輯錯誤,則必須返回2修改源程序,再重新編譯、連接和運行,直至程序正確6. 退出集成環(huán)境,結(jié)束本次程序運行第二章第二章 算算 法法C2.1 算法基本概念 程序的構(gòu)成:
13、數(shù)據(jù) 對數(shù)據(jù)的處理。 計算機科學(xué)家沃思提出的公式: 程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法對數(shù)據(jù)的描述:數(shù)據(jù)的類型和數(shù)據(jù)的組織形式對操作的描述:操作的步驟程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法 + 程序設(shè)計方法 + 語言工具和環(huán)境考慮程序設(shè)計方法和使用的語言及開發(fā)環(huán)境,表達為:C簡單算法舉例 例2.1 求1231002100100)(1第一種方法: 12,再加3,一直加到100,得到結(jié)果5050第二種方法: (199)(298) (4951)5010049100501005050第三種方法:5050C2.2 算法的特性 有窮性 確定性 有零個或多個輸入 有一個或多個輸出 有效性 C2.3 算法的表示方法 自然語言
14、 流程圖 偽代碼 計算機語言 CThe C Programming Language, Second EditionCThe C Programming Language, Second EditionCThe C Programming Language, Second EditionCC語言是面向結(jié)構(gòu)設(shè)計的語言,通用性好。不局限于某種機器。它能直接處理數(shù)字、字符和地址,可以完成通常由硬件實現(xiàn)的算術(shù)、邏輯運算,可以取代匯編語言來編寫系統(tǒng)軟件和應(yīng)用軟件。以UNIX系統(tǒng)為例。UNIX系統(tǒng)主要分為三層:核心(操作系統(tǒng))、與外層的接口shell命令解釋順序以及外層大量的子系統(tǒng),包括各種軟件工具、實用
15、程序和應(yīng)用軟件,除了核心內(nèi)部的1000行左右(占核心的10)是用匯編語言書寫之外,其余的都是用C語言寫的。如FORTRON、APL、PASCAL、LISP、LOGO、BASIC的編譯程序或解釋程序是用C寫成的。C將成為當今最重要的語言之一。CC語言只有32個關(guān)鍵字,程序書寫形式自由,輸入工作量小auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch ty
16、pedef unsigned union voidvolatile whileCC語言有9種控制語句if( )elsefor( )while( )dowhile( )continuebreakswitchgotoreturnC34種運算符:算術(shù)運算符:+ - * / % + -關(guān)系運算符: = !=邏輯運算符:! & |位運算符 : | &賦值運算符:= 及其擴展條件運算符:?:逗號運算符:,指針運算符:* &求字節(jié)數(shù) :sizeof強制類型轉(zhuǎn)換:(類型)分量運算符:. -下標運算符:其它 :( ) -CC數(shù)據(jù)類型有整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型和共
17、用體類型等,可用來實現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu),如鏈表、樹、棧等的運算C流程圖流程圖:用一些規(guī)定的簡單圖形來表示算法起、止輸入輸出判斷處理連接點流程線開始1i輸入ni,gii+1ii501igi80打印ni,gii+1ii50結(jié)束YNYNY流程圖流程圖C用偽代碼表示算法 用流程圖或是N-S流程圖表示算法,是在算法已形成條件下,在初期的設(shè)計算法過程中,用偽代碼更方便。實際上就是不畫框圖,用詞、句子(主要是英文)和C的控制語句及其它符號將算法的思路表達出來,特點是方便靈活,容易修改。C用設(shè)計語言表示算法 算法確定之后,要實現(xiàn)所設(shè)計的功能,必須用符合C語法規(guī)則的語句將算法表述出來,這樣就得到了解決相應(yīng)問題
18、的C源程序。C 語言發(fā)展可追溯到1945年,德國的Konrad Zuse設(shè)計了“Plankalkul”,未實現(xiàn)。 1954年,Laning和Zierler開發(fā)了一個用于數(shù)學(xué)計算的高級語言,運行于M.I.T的Whirlwind上,這大概是第一個運行的編譯器。它可以書寫數(shù)學(xué)表達式(具有上、下標)、賦值、分叉、輸入/輸出、子程序,并處理微分方程 第一個廣泛使用的高級語言是Fortran。IBM的John Backus領(lǐng)頭在50年代中期完成,初衷是解決科學(xué)及工程計算,但后也用于更多領(lǐng)域,甚至寫編譯器。該語言證明了高級語言的可行性,奠定了后來語言研究的基礎(chǔ)。程序設(shè)計語言的發(fā)展C 1958年,ACM和歐洲
19、的GAMM聯(lián)合開發(fā)用于算法處理的語言IAL(International Algebraic Language),最終修改變成了Algol60(較早的版本是Algol58),Algol58和Algol60導(dǎo)致了很多相關(guān)的程序設(shè)計語言研究和編譯技術(shù)開發(fā)的發(fā)展。在實踐方面Fortran有很大影響,但Algol帶動了語言的理論研究熱潮。 50年代中期,Remington Rand Univac的Grace Hopper及其同事設(shè)計了Flow-Matic,該語言面向商業(yè)數(shù)據(jù)處理,這是第一個面向英語的語言,并成為Cobol的主要源泉。程序設(shè)計語言的發(fā)展C 1959年,在DoD贊助下,組織了一批計算機制造商
20、和用戶開發(fā)了Cobol(Common Business Oriented Language),該語言在商業(yè)數(shù)據(jù)處理領(lǐng)域的影響甚至大于Fortran在科學(xué)計算領(lǐng)域的影響。 1958、1959可能是語言歷史上生產(chǎn)率最大的兩年。M.I.T的Victor Yngve開發(fā)了Comit,這是串處理語言,用于翻譯自然語言。M.I.T的John McCarthy和其學(xué)生開發(fā)了人工智能語言Lisp。Lisp至今仍在使用,Comit后來變成了Snobol(Bell電話實驗室于60年代中期開發(fā))程序設(shè)計語言的發(fā)展C 科學(xué)計算和數(shù)據(jù)處理是計算機早期的主要應(yīng)用,語言也是如此,向跨兩個領(lǐng)域的通用性發(fā)展。 1959-196
21、0,System Development Corporation和Jules Schwartz在Algol58基礎(chǔ)上開發(fā)了Jovial,這是第一次通用性嘗試。 19671977,在美國,在給定年度內(nèi)使用的語言數(shù)大概是170種,同時,每年或每兩年有2530種的增減。1978年HOPL會議,討論的語言滿足如下標準:程序設(shè)計語言的發(fā)展C a.1967年時已出版并被使用。 b.1977年仍在使用。 c.在計算領(lǐng)域有很大影響。選出的語言有:Algol, Apl, APT, Basic, Cobol, Fortran, GPSS, Joss,Jovial, Lisp, PL/I, Simula, Snob
22、ol。80年代的兩個重要語言PASCAL(Niklaus Wirth, 1968)和Ada未列入。 PASCAL在70年代后期成為非常重要的語言,特別是在計算機教學(xué)方面。程序設(shè)計語言的發(fā)展CE.Sammet在“Programming Language: History and Future”,Communications of the ACM中列出了若干代表性語言: APT 1956,第一個專用領(lǐng)域語言 Fortran 1956,第一個廣泛使用的高級語言,為大量的科學(xué)和工程人員打開了使用計算機的大門 Flow-Matic 1956,第一個商業(yè)數(shù)據(jù)處理語言 IPL-V 1958,第一個表處理語言
23、 Comit 1957,第一個實用的串處理和模式匹配語言。 Cobol 1960,最廣泛使用的數(shù)據(jù)處理語言。具有類英文的語法和機器獨立性。程序設(shè)計語言的發(fā)展C Algol60 1960,用于刻劃算法。形式化語法定義,帶動了語言的理論和實現(xiàn)技術(shù)研究。 Lisp 1960,引入了函數(shù)程序設(shè)計概念,基于表處理。 Jovial 1960,第一次包含了科學(xué)計算,I/O信息的邏輯操作、數(shù)據(jù)存貯和處理等能力。大多數(shù)Jovial編譯器用Jovial書寫。 GPSS 1961,第一個仿真語言。 Joss 1964,第一個交互式語言。程序設(shè)計語言的發(fā)展C Formac 1964,第一個廣泛使用的形式代數(shù)操作語言。
24、 APL/360 1967,引入了許多高級操作子,允許很短的算法,產(chǎn)生了看問題的新方式。 Pascal 1971,在一個小語言中引入了如賦類型的新概念,并以優(yōu)美方式組合了各種著名結(jié)構(gòu)。程序設(shè)計語言的發(fā)展C Formac 1964,第一個廣泛使用的形式代數(shù)操作語言。 APL/360 1967,引入了許多高級操作子,允許很短的算法,產(chǎn)生了看問題的新方式。 Pascal 1971,在一個小語言中引入了如賦類型的新概念,并以優(yōu)美方式組合了各種著名結(jié)構(gòu)。程序設(shè)計語言的發(fā)展C早期,計算機非常昂貴,語言設(shè)計是為了更高效地執(zhí)行程序,高級語言需和匯編語言競爭。60年代中期,程序設(shè)計發(fā)生了變化,機器價格下降,程序
25、設(shè)計價格上升。程序移植的需求越來越多,軟件的維護占用了大量的計算資源。此時的目標不再是編譯程序后使其高效地運行,高級語言的任務(wù)變成使其易于開發(fā)正確的程序以解決某給定應(yīng)用領(lǐng)域中的問題。編譯技術(shù)成熟于60、70年代,語言技術(shù)以解決特定領(lǐng)域問題為中心,如:Fortran用于科學(xué)計算,COBOL用于商業(yè)應(yīng)用,JOVIAL用于軍事應(yīng)用,LISP用于人工智能應(yīng)用,以及Ada用于嵌入式軍事應(yīng)用等。程序設(shè)計語言的作用C程序設(shè)計語言也會進化和消亡,如:Algol已不再使用,Cobol使用正在下降,Pascal的很多結(jié)構(gòu)仍在Ada中存在,但其黃金時代已過去。仍在使用的舊語言也經(jīng)歷了不斷的修訂以反應(yīng)來自其他計算領(lǐng)域
26、的影響,F(xiàn)ortran和Cobol已有多個標準化標本。Ada有1995年新標準。Lisp修訂后有Scheme和Common Lisp。C+和ML則反應(yīng)了人們在設(shè)計和使用語言中獲得的經(jīng)驗的混合。程序設(shè)計語言的作用C影響語言發(fā)展的因素主要有:計算機能力、應(yīng)用、程序設(shè)計方法、實現(xiàn)方法和標準化等,以下是相關(guān)的技術(shù)影響。195155:硬件:電子管計算機,水銀延遲線內(nèi)存方法:匯編語言,基礎(chǔ)概念:子程序,數(shù)據(jù)結(jié)構(gòu)語言:表達式編譯器的實驗性使用195660:硬件:磁帶存儲器,磁芯內(nèi)存,晶體管電路方法:早期編譯技術(shù),BNF文法,代碼優(yōu)化,解釋器,動態(tài)存儲方法和表處理語言:FORTRAN,ALGOL 58,ALG
27、OL 60,COBOL,LISP程序設(shè)計語言和硬件的關(guān)系C196165硬件:可兼容的體系結(jié)構(gòu)家族,磁盤存儲器方法:多道程序設(shè)計操作系統(tǒng),語法制導(dǎo)的編譯器語言:COBOL 61,ALGOL 60(修訂),SNOBOL,JOVIAL,APL符號體系19661970硬件:增加尺寸和速度并降低成本,小型計算機,微程序設(shè)計,集成電路方法:分時和交互式系統(tǒng),優(yōu)化編譯器,翻譯器書寫系統(tǒng)語言:APL,F(xiàn)ORTRAN 66,COBOL 65,ALGOL 68,SNOBOL 4,BASIC,PL/1,SIMULA 67,ALGOLW程序設(shè)計語言和硬件的關(guān)系C197175硬件:微型計算機,小型計算機時代,小型大規(guī)模
28、存儲系統(tǒng),磁性內(nèi)存的衰落和半導(dǎo)體內(nèi)存的興起方法:程序驗證,結(jié)構(gòu)化程序設(shè)計,軟件工程作為一門學(xué)科的早期發(fā)展語言:PASCAL,COBOL 74,PL/1(標準),C,Scheme,Prolog1976-80硬件:商用質(zhì)量的微機,大型大規(guī)模存儲系統(tǒng),分布式計算方法:數(shù)據(jù)抽象,形式化語義,并發(fā)、嵌入式、和實時程序設(shè)計技術(shù)語言:Smalltalk,Ada,F(xiàn)ORTRAN 77,ML程序設(shè)計語言和硬件的關(guān)系C198185硬件:個人計算機,第一代工作站,視頻游戲,局域網(wǎng),Arpanet方法:面向?qū)ο蟪绦蛟O(shè)計,交互式環(huán)境,語法制導(dǎo)編輯器語言:Turbo Pascal,Smalltalk 80,Prolog的
29、發(fā)展,Ada 83,Postscript198690硬件:微機時代,工程工作站的上升,RISC體系結(jié)構(gòu),全域網(wǎng),Internet方法:客戶/服務(wù)器計算語言:FORTRAN 90,C+,SML(標準ML)程序設(shè)計語言和硬件的關(guān)系C199195硬件:非??斓牧畠r工作站和微機,大規(guī)模并行體系結(jié)構(gòu),語音,視頻,傳真,多媒體方法:開放系統(tǒng),環(huán)境框架,國家信息基礎(chǔ)設(shè)施(信息高速公路)語言:Ada 95,過程語言(TCL,PERL)19962000硬件:二代Internet,機群,網(wǎng)絡(luò)計算機(NC)方法:軟件構(gòu)件技術(shù),Agent,中間件,瀏覽器/服務(wù)器計算,Internet計算語言:JAVA,XML,IDL
30、程序設(shè)計語言和硬件的關(guān)系C1. 熟悉電腦的一些最基本的原理和操作;2. 學(xué)習BASIC語言;3. 學(xué)習C(注意不是C+),如果感覺有困難也可以先學(xué)Pascal過渡一下。4. 學(xué)習數(shù)據(jù)結(jié)構(gòu)。要學(xué)會用數(shù)據(jù)結(jié)構(gòu)的知識來規(guī)范自己的程序設(shè)計和提高程序的效率;5. 學(xué)習匯編??梢詫/O有了個很徹底的認識;6. 學(xué)習編譯原理。增強對程序語言的控制能力;7. 學(xué)習C+,學(xué)習面向?qū)ο蟮某绦蛟O(shè)計;8. 學(xué)習操作平臺。如win32 api、MFC、VCL、VC、C+Builder及OLE(ActiveX),.NET成為一個好的程序員的道路CC語言的歷史和發(fā)展狀況C語言是由貝爾實驗室的Dennis Ritchie在
31、1972年所發(fā)明的,當時他正與Ken Thompson共同設(shè)計UNIX操作系統(tǒng)。當然C語言并不是憑空想象出來的而是源于Thompson的B語言,此又源自BCPL(basic combined programming language)的組合語言,由Martin Richards所開發(fā)。至于BCPL是如何產(chǎn)生的呢?可以追溯至1960年C語言最早的前身Algol,可Algol在美國沒有廣泛地流行。CPL修改Algol,使其能夠直接作較低層次的操作。跟A1gol一樣,CPL有太多特性,使得它很難了解,因此BCPL的出現(xiàn)乃是針對此問題而產(chǎn)生的語言。CC語言的歷史和發(fā)展狀況1973年Thompson和R
32、itchie將UNIX系統(tǒng)用C重寫,即UNIX5,由此奠定了UNIX系統(tǒng)的基礎(chǔ),今天,UNIX系統(tǒng)幾乎成了16位微型機的標準操作系統(tǒng),如PDP11,VAX11,AT&T,IBM370等。而C語言已成為獨立于UNIX和PDP在從微型機到巨型機上都能見到的世界上應(yīng)用最廣泛的程序設(shè)計語言之一。CC語言的歷史和發(fā)展狀況1978年,Brian Kernighan 和Dennis Ritchie合著了The C Programming Language,稱為標準C,80年代中期,美國國家標準化協(xié)會(ANSI)制定了新的標準,稱為ANSI C。1988年, The C Programming Language的第二版出版(已被譯為多種語言出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教A版高一(下)數(shù)學(xué)必修第二冊6.1平面向量的概念【教學(xué)設(shè)計】
- 五年級上冊數(shù)學(xué)教案-2.1 軸對稱再認識(一)|北師大版
- 2025年外國游戲大陸推廣代理合同韓文版
- (高清版)DB45∕T 477-2022 綠色食品 黑木耳生產(chǎn)技術(shù)規(guī)程
- 《第2課電視與生活 1 電視百寶箱》(教學(xué)設(shè)計)-2023-2024學(xué)年四年級下冊綜合實踐活動安徽大學(xué)版
- 2025年海南工商職業(yè)學(xué)院單招職業(yè)傾向性測試題庫學(xué)生專用
- 第3課 建造塔臺(教學(xué)設(shè)計)-2023-2024學(xué)年六年級下冊科學(xué) 教科版
- 2025年度個人單位間借款擔保合同
- 產(chǎn)業(yè)園區(qū)室內(nèi)外裝修合同
- 2025年度商鋪房屋租賃與智能管理系統(tǒng)合作協(xié)議
- 2024-2029年擴展塢行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃投資研究報告
- SH/T 3003-2024 石油化工合理利用能源設(shè)計導(dǎo)則(正式版)
- 中國人民大學(xué)613衛(wèi)生統(tǒng)計歷年真題12-16
- 人事聘用合同范本標準版
- 新疆地方教材可愛的中國第二單元教學(xué)設(shè)計
- 米-伊林《十萬個為什么》閱讀練習+答案
- 三年級奧數(shù)專項練習-和差問題
- 強化學(xué)習 課件 第1章 強化學(xué)習概述
- 《鄧稼先》省公開課一等獎全國示范課微課金獎?wù)n件
- GJB9001C-2017管理手冊、程序文件及表格匯編
- 核心素養(yǎng)目標新課標北師大版小學(xué)數(shù)學(xué)三年級下冊全冊教案
評論
0/150
提交評論