![高級(jí)程序設(shè)計(jì)語言概述課件_第1頁(yè)](http://file4.renrendoc.com/view/78b4a016a6cca933f57caac94abdb6f2/78b4a016a6cca933f57caac94abdb6f21.gif)
![高級(jí)程序設(shè)計(jì)語言概述課件_第2頁(yè)](http://file4.renrendoc.com/view/78b4a016a6cca933f57caac94abdb6f2/78b4a016a6cca933f57caac94abdb6f22.gif)
![高級(jí)程序設(shè)計(jì)語言概述課件_第3頁(yè)](http://file4.renrendoc.com/view/78b4a016a6cca933f57caac94abdb6f2/78b4a016a6cca933f57caac94abdb6f23.gif)
![高級(jí)程序設(shè)計(jì)語言概述課件_第4頁(yè)](http://file4.renrendoc.com/view/78b4a016a6cca933f57caac94abdb6f2/78b4a016a6cca933f57caac94abdb6f24.gif)
![高級(jí)程序設(shè)計(jì)語言概述課件_第5頁(yè)](http://file4.renrendoc.com/view/78b4a016a6cca933f57caac94abdb6f2/78b4a016a6cca933f57caac94abdb6f25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一講高級(jí)語言程序設(shè)計(jì)概述金世雙編著1第一講高級(jí)語言程序設(shè)計(jì)概述金世雙編著1本講主要內(nèi)容
程序設(shè)計(jì)語言發(fā)展歷程1C與C++集成環(huán)境2C與C++的程序組成3簡(jiǎn)單輸入輸出操作42本講主要內(nèi)容程序設(shè)計(jì)語言發(fā)展歷程1C與C++集成環(huán)境2C與0.序言教學(xué)對(duì)象計(jì)算機(jī)科學(xué)與技術(shù)系教學(xué)目標(biāo)程序設(shè)計(jì)的重要性程序設(shè)計(jì)的基本概念與基本方法編程解題的思路與典型方法數(shù)學(xué)模型簡(jiǎn)介算法及算法步驟程序結(jié)構(gòu)與相應(yīng)語句編碼與上機(jī)調(diào)試30.序言教學(xué)對(duì)象3學(xué)習(xí)的重點(diǎn)程序設(shè)計(jì)的基本概念,基本方法;在C/C++語言的環(huán)境下,學(xué)會(huì)如何針對(duì)問題進(jìn)行分析,構(gòu)建數(shù)學(xué)模型,尋找算法并編程實(shí)現(xiàn);有條有理有根有據(jù)的編程實(shí)踐;養(yǎng)成良好的編程風(fēng)格與習(xí)慣;重在思維方法的學(xué)習(xí),鼓勵(lì)創(chuàng)新。4學(xué)習(xí)的重點(diǎn)4教學(xué)內(nèi)容安排1.概論:程序設(shè)計(jì)的基本概念與基本方法;怎樣才能學(xué)好這門基礎(chǔ)課2.程序的基本結(jié)構(gòu)3.編程關(guān)鍵:邏輯思維與問題求解人是怎樣讓計(jì)算機(jī)幫助自己解題的4.數(shù)據(jù)的組織方式一:數(shù)組5.模塊化:函數(shù)與函數(shù)調(diào)用6.分治思想:遞歸算法及其實(shí)現(xiàn)7.邏輯指代與物理指代:指針8.數(shù)據(jù)的組織方式二:結(jié)構(gòu)5教學(xué)內(nèi)容安排59.蒙特卡洛法10.貪心法11.動(dòng)態(tài)規(guī)劃12.數(shù)據(jù)的組織方式三:鏈表與樹13.數(shù)據(jù)的組織方式四:文件,數(shù)據(jù)的永久存儲(chǔ)與重復(fù)使用14.面向?qū)ο蟪绦蛟O(shè)計(jì)69.蒙特卡洛法61.程序設(shè)計(jì)語言發(fā)展歷程類過程面向機(jī)器的語言面向機(jī)器的語言高級(jí)語言(面向?qū)ο螅└呒?jí)語言(面向過程)匯編語言機(jī)器語言程序設(shè)計(jì)語言的軌跡71.程序設(shè)計(jì)語言發(fā)展歷程類過程面向機(jī)器的語言面向機(jī)器的語言C語言發(fā)展過程產(chǎn)生背景產(chǎn)生過程時(shí)間:1972~1973地點(diǎn):美國(guó)貝爾實(shí)驗(yàn)室目的:UNIX操作系統(tǒng)設(shè)計(jì)人:Ken.Thompson和Dennis.M.RitchieC標(biāo)準(zhǔn)標(biāo)準(zhǔn)C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年國(guó)際標(biāo)準(zhǔn)的ANSICC語言發(fā)展的歷程8C語言發(fā)展過程C語言發(fā)展的歷程8C++語言發(fā)展的歷程C++是在C語言的基礎(chǔ)上發(fā)展和完善的,而C是吸收了其它語言的優(yōu)點(diǎn)逐步成為實(shí)用性很強(qiáng)的語言。隨著20世紀(jì)70年代C語言應(yīng)用的推廣,C語言存在的一些缺陷或不足也開始流露出來,并受到大家的關(guān)注。如:C語言對(duì)數(shù)據(jù)類型檢查的機(jī)制比較弱;缺少支持代碼重用的結(jié)構(gòu);隨著軟件工程規(guī)模的擴(kuò)大,難以適應(yīng)開發(fā)特大型的程度等等。9C++語言發(fā)展的歷程C++是在C語言的基礎(chǔ)上發(fā)展和完善的,而為了克服C語言本身存在的缺點(diǎn),并保持C語言簡(jiǎn)潔、高效,并與匯編語言接近的特點(diǎn),1980年,貝爾實(shí)驗(yàn)室的BjarneStroustrup博士及其同事對(duì)C語言進(jìn)行了改進(jìn)和擴(kuò)充,并把Simula67中類的概念引入到C中。并在1983年由RickMaseitti提議正式命名為C++(CPlusPlus)。后來,又把運(yùn)算符的重載、引用、虛函數(shù)等功能加入到C++中,使C++的功能日趨完善。當(dāng)前用得較為廣泛的C++有:VC++(VisualCPlusPlus)、BC++(BorlandCPlusPlus)、AT&TC++等。10為了克服C語言本身存在的缺點(diǎn),并保持C語言簡(jiǎn)潔、高效,并與匯C++歷史上的主要事件:1983年8月,第一個(gè)C++實(shí)現(xiàn)投入使用1983年12月,RickMascitti建議命名為CPlusPlus,即C++。1985年2月,第一個(gè)C++ReleaseE發(fā)布。10月,CFront的第一個(gè)商業(yè)發(fā)布,CFrontRelease1.0。10月,Bjarne博士完成了經(jīng)典巨著TheC++ProgrammingLanguage第一版1986年11月,C++第一個(gè)商業(yè)移植CFront1.1,Glockenspiel。1987年2月,CFrontRelease1.2發(fā)布。11月,第一個(gè)USENIXC++會(huì)議在新墨西哥州舉行。1988年10月,第一次USENIXC++實(shí)現(xiàn)者工作會(huì)議在科羅拉多州舉行。1989年12月,ANSIX3J16在華盛頓組織會(huì)議。11C++歷史上的主要事件:1983年8月,第一個(gè)C++實(shí)現(xiàn)投1990年3月,第一次ANSIX3J16技術(shù)會(huì)議在新澤西州召開.5月,C++的又一個(gè)傳世經(jīng)典ARM誕生。7月,模板被加入。11月,異常被加入。1991年6月,TheC++ProgrammingLanguage第二版完成。6月,第一次ISOWG21會(huì)議在瑞典召開。10月,CFrontRelease3.0發(fā)布。1993年3月,運(yùn)行時(shí)類型識(shí)別在俄勒岡州被加入。7月,名字空間在德國(guó)慕尼黑被加入。1994年8月,ANSI/ISO委員會(huì)草案登記。1997年7月,TheC++ProgrammingLanguage第三版完成。10月,ISO標(biāo)準(zhǔn)通過表決被接受1998年11月,ISO標(biāo)準(zhǔn)被批準(zhǔn)。121990年3月,第一次ANSIX3J16技術(shù)會(huì)議在新澤西2.C與C++集成環(huán)境TurboC2.0集成環(huán)境132.C與C++集成環(huán)境TurboC2.0集成環(huán)境13C程序開發(fā)步驟編輯鏈接編譯執(zhí)行程序代碼的錄入,生成源程序*.c語法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe14C程序開發(fā)步驟編輯鏈接編譯執(zhí)行程序代碼的錄入,語法分析查錯(cuò),C++集成環(huán)境VC++集成環(huán)境15C++集成環(huán)境VC++集成環(huán)境15C++編譯過程源程序(文本文件)*.CPP目標(biāo)文件(二進(jìn)制文件)*.OBJ可執(zhí)行文件(二進(jìn)制文件)*.EXE庫(kù)文件(各種函數(shù))在VitualC++系統(tǒng)中,可直接從源程序編譯連接至可執(zhí)行程序,但依然要生成*.OBJ及*.EXE這兩個(gè)文件。F7編譯連接compilelink16C++編譯過程源程序目標(biāo)文件可執(zhí)行文件庫(kù)文件在Vitual經(jīng)典例題例題1.在顯示器上顯示“Hello,world!”要求:用C和C++兩種語言編寫。17經(jīng)典例題例題1.在顯示器上顯示“Hello,worl經(jīng)典例題例題2.求兩個(gè)數(shù)中最大的一個(gè)數(shù)。求三個(gè)數(shù)最大的一個(gè)數(shù)呢?更多個(gè)呢?要求:用C和C++兩種語言編寫。思考:求兩個(gè)數(shù)的和。求三個(gè)數(shù)的和呢?更多個(gè)呢?18經(jīng)典例題例題2.求兩個(gè)數(shù)中最大的一個(gè)數(shù)。思考:求兩個(gè)3.C與C++的程序組成C語言程序的組成一個(gè)程序由一個(gè)或多個(gè)源程序文件組成小程序往往只包括一個(gè)源程序文件一個(gè)源程序文件中可以包括三個(gè)部分:預(yù)處理指令全局聲明函數(shù)定義#include<stdio.h>等在函數(shù)之外進(jìn)行的數(shù)據(jù)聲明每個(gè)函數(shù)用來實(shí)現(xiàn)一定的功能193.C與C++的程序組成C語言程序的組成#includeC語言程序的結(jié)構(gòu)函數(shù)是C程序的主要組成部分一個(gè)C程序是由一個(gè)或多個(gè)函數(shù)組成的必須包含一個(gè)main函數(shù)(只能有一個(gè))每個(gè)函數(shù)都用來實(shí)現(xiàn)一個(gè)或幾個(gè)特定功能被調(diào)用的函數(shù)可以是庫(kù)函數(shù),也可以是自己編制設(shè)計(jì)的函數(shù)20C語言程序的結(jié)構(gòu)函數(shù)是C程序的主要組成部分20C語言程序的結(jié)構(gòu)C語言程序的結(jié)構(gòu)特點(diǎn):一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)首部intmax(intx,inty)函數(shù)類型函數(shù)名參數(shù)類型參數(shù)名若函數(shù)無參,在括弧中寫void或空括弧21C語言程序的結(jié)構(gòu)C語言程序的結(jié)構(gòu)特點(diǎn):函數(shù)類型函數(shù)名參數(shù)類型C語言程序的結(jié)構(gòu)函數(shù)體聲明部分定義在本函數(shù)中所用到的變量對(duì)本函數(shù)所調(diào)用函數(shù)進(jìn)行聲明執(zhí)行部分:由若干個(gè)語句組成,指定在函數(shù)中所進(jìn)行的操作可以是空函數(shù),如:voiddump(){}可以沒有聲明部分22C語言程序的結(jié)構(gòu)函數(shù)體可以沒有聲明部分22C語言程序的結(jié)構(gòu)特點(diǎn):
程序總是從main函數(shù)開始執(zhí)行C程序?qū)τ?jì)算機(jī)的操作由C語句完成C程序書寫格式是比較自由的一行內(nèi)可以寫幾個(gè)語句一個(gè)語句可以分寫在多行上為清晰起見,習(xí)慣上每行只寫一個(gè)語句程序總是從main函數(shù)開始執(zhí)行C程序?qū)τ?jì)算機(jī)的操作由C語句完成數(shù)據(jù)聲明和語句最后必須有分號(hào)C語言本身不提供輸入輸出語句程序應(yīng)當(dāng)包含注釋,增加可讀性23C語言程序的結(jié)構(gòu)特點(diǎn):程序總是從main函數(shù)開始執(zhí)行23C++程序的組成C++源代碼一般都由若干函數(shù)和類組成。為了便于管理,一般把不同功能的函數(shù)和類放在不同的文件中,對(duì)于類的聲明和實(shí)現(xiàn)也分別放在對(duì)應(yīng)的.h(或.hpp)和.cpp文件中。由于文件較多,所以為了便于管理,一般的集成開發(fā)工具都會(huì)提供工程(Project)管理功能來管理這些文件,對(duì)源文件進(jìn)行編譯和鏈接。24C++程序的組成C++源代碼一般都由若干函數(shù)和類組成。為了便2525經(jīng)典例題例題3.輸入下圖所示的程序。********************1********************2********************3********************要求:用C和C++兩種語言編寫。26經(jīng)典例題例題3.輸入下圖所示的程序。26經(jīng)典例題例題4.求一個(gè)數(shù)的平方。引申doublepow(doublex,doubley)庫(kù)函數(shù)27經(jīng)典例題例題4.求一個(gè)數(shù)的平方。引申doublep4.簡(jiǎn)單輸入輸出操作輸入輸出是程序中最基本的操作之一。所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的從計(jì)算機(jī)向輸出設(shè)備(如顯示器、打印機(jī)等)輸出數(shù)據(jù)稱為輸出從輸入設(shè)備(如鍵盤、磁盤、光盤、掃描儀等)向計(jì)算機(jī)輸入數(shù)據(jù)稱為輸入284.簡(jiǎn)單輸入輸出操作輸入輸出是程序中最基本的操作之一。28C語言輸入輸出語句C語言本身不提供輸入輸出語句輸入和輸出操作是由C標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)來實(shí)現(xiàn)的。主要是printf函數(shù)和scanf函數(shù)printf和scanf不是C語言的關(guān)鍵字,而只是庫(kù)函數(shù)的名字還有putchar、getchar、puts、gets等等在使用輸入輸出函數(shù)時(shí),要在程序文件的開頭用預(yù)編譯指令#include<stdio.h>
或#include″stdio.h″29C語言輸入輸出語句C語言本身不提供輸入輸出語句在使用輸入輸出printf函數(shù)輸出數(shù)據(jù)printf函數(shù)的一般格式printf(格式控制,輸出表列)例如:printf(”i=%d,c=%c\n”,i,c);格式聲明格式控制:以%開始,以一個(gè)格式字符結(jié)束,中間可以插入附加的字符。30printf函數(shù)輸出數(shù)據(jù)printf函數(shù)的一般格式格式聲明格scanf函數(shù)輸入數(shù)據(jù)scanf函數(shù)的一般形式scanf(格式控制,地址表列)31scanf函數(shù)輸入數(shù)據(jù)scanf函數(shù)的一般形式31經(jīng)典例題例題5.按照“(x+y)*z-k”的格式輸入算術(shù)表達(dá)式,并輸出結(jié)果。32經(jīng)典例題例題5.按照“(x+y)*z-k”的格式輸經(jīng)典例題例題6.輸出如圖所示的圖形。33經(jīng)典例題例題6.輸出如圖所示的圖形。33C++語言輸入輸出語句在C++中引入術(shù)語stream(流),指的是來自設(shè)備或傳給設(shè)備的一個(gè)數(shù)據(jù)流。cout表示輸出流對(duì)象,它是輸入輸出流庫(kù)的一部分。與cout相關(guān)聯(lián)的設(shè)備是顯示器。在程序中有了關(guān)聯(lián)字cout就有了將數(shù)據(jù)流傳到顯示器的條件,這時(shí)用插入操作符“<<”將其后的數(shù)據(jù)插入到該流中去。比如下面的兩條語句cout<<“welcometoJin”;cout<<endl; 插入操作符可以把多個(gè)輸出數(shù)據(jù)組合或級(jí)聯(lián)成單個(gè)的輸出語句。34C++語言輸入輸出語句在C++中引入術(shù)語stream(流cin表示輸入流對(duì)象,它也是輸入輸出流庫(kù)中的一部分,與相關(guān)聯(lián)的輸入設(shè)備是鍵盤。由鍵盤輸入的字符串形成輸入流,用提取操作符“>>”可將輸入流存儲(chǔ)到一個(gè)事先定義好的變量中。提取輸入流的示意圖X的地址cin>>3.141593.14159鍵盤35cin表示輸入流對(duì)象,它也是輸入輸出流庫(kù)中的一部分,與相關(guān)注釋及其重要性注釋(comments)是非常重要的一種機(jī)制。沒有注釋的程序不能算作合格的程序。要建立這樣的觀念:程序是給人編的,讓人家看懂是第一位重要的事情。特別是將來你可能參加一個(gè)團(tuán)隊(duì),幾十人甚至幾百人一起合作編程,相互協(xié)同,更需將注釋寫得清清楚楚、明明白白,因此,我們規(guī)定程序中須有如下內(nèi)容:程序名稱程序要實(shí)現(xiàn)的功能,比如要完成什么數(shù)學(xué)運(yùn)算程序的思路和特點(diǎn)編程的人與合作者編程的時(shí)間,修改后的第幾版本對(duì)初學(xué)者,希望每條語句都加上注釋,要求注明這條語句是做什么用的36注釋及其重要性注釋(comments)是非常重要的一種機(jī)制。經(jīng)典例題例題7.輸入十進(jìn)制的整數(shù),按照十六進(jìn)制輸出。37經(jīng)典例題例題7.輸入十進(jìn)制的整數(shù),按照十六進(jìn)制輸出。37經(jīng)典例題例題8.從鍵盤的輸入學(xué)號(hào)、姓名和性別,將結(jié)果寫入文本文件student.txt中。38經(jīng)典例題例題8.從鍵盤的輸入學(xué)號(hào)、姓名和性別,將結(jié)果寫入文本講小結(jié)作業(yè):編寫一個(gè)求3個(gè)數(shù)中最小的一個(gè)數(shù)。編寫程序輸出如下的信息:**********計(jì)算機(jī)語言發(fā)展歷程C和C++的基礎(chǔ)知識(shí)39本講小結(jié)作業(yè):計(jì)算機(jī)語言發(fā)展歷程39第一講高級(jí)語言程序設(shè)計(jì)概述金世雙編著40第一講高級(jí)語言程序設(shè)計(jì)概述金世雙編著1本講主要內(nèi)容
程序設(shè)計(jì)語言發(fā)展歷程1C與C++集成環(huán)境2C與C++的程序組成3簡(jiǎn)單輸入輸出操作441本講主要內(nèi)容程序設(shè)計(jì)語言發(fā)展歷程1C與C++集成環(huán)境2C與0.序言教學(xué)對(duì)象計(jì)算機(jī)科學(xué)與技術(shù)系教學(xué)目標(biāo)程序設(shè)計(jì)的重要性程序設(shè)計(jì)的基本概念與基本方法編程解題的思路與典型方法數(shù)學(xué)模型簡(jiǎn)介算法及算法步驟程序結(jié)構(gòu)與相應(yīng)語句編碼與上機(jī)調(diào)試420.序言教學(xué)對(duì)象3學(xué)習(xí)的重點(diǎn)程序設(shè)計(jì)的基本概念,基本方法;在C/C++語言的環(huán)境下,學(xué)會(huì)如何針對(duì)問題進(jìn)行分析,構(gòu)建數(shù)學(xué)模型,尋找算法并編程實(shí)現(xiàn);有條有理有根有據(jù)的編程實(shí)踐;養(yǎng)成良好的編程風(fēng)格與習(xí)慣;重在思維方法的學(xué)習(xí),鼓勵(lì)創(chuàng)新。43學(xué)習(xí)的重點(diǎn)4教學(xué)內(nèi)容安排1.概論:程序設(shè)計(jì)的基本概念與基本方法;怎樣才能學(xué)好這門基礎(chǔ)課2.程序的基本結(jié)構(gòu)3.編程關(guān)鍵:邏輯思維與問題求解人是怎樣讓計(jì)算機(jī)幫助自己解題的4.數(shù)據(jù)的組織方式一:數(shù)組5.模塊化:函數(shù)與函數(shù)調(diào)用6.分治思想:遞歸算法及其實(shí)現(xiàn)7.邏輯指代與物理指代:指針8.數(shù)據(jù)的組織方式二:結(jié)構(gòu)44教學(xué)內(nèi)容安排59.蒙特卡洛法10.貪心法11.動(dòng)態(tài)規(guī)劃12.數(shù)據(jù)的組織方式三:鏈表與樹13.數(shù)據(jù)的組織方式四:文件,數(shù)據(jù)的永久存儲(chǔ)與重復(fù)使用14.面向?qū)ο蟪绦蛟O(shè)計(jì)459.蒙特卡洛法61.程序設(shè)計(jì)語言發(fā)展歷程類過程面向機(jī)器的語言面向機(jī)器的語言高級(jí)語言(面向?qū)ο螅└呒?jí)語言(面向過程)匯編語言機(jī)器語言程序設(shè)計(jì)語言的軌跡461.程序設(shè)計(jì)語言發(fā)展歷程類過程面向機(jī)器的語言面向機(jī)器的語言C語言發(fā)展過程產(chǎn)生背景產(chǎn)生過程時(shí)間:1972~1973地點(diǎn):美國(guó)貝爾實(shí)驗(yàn)室目的:UNIX操作系統(tǒng)設(shè)計(jì)人:Ken.Thompson和Dennis.M.RitchieC標(biāo)準(zhǔn)標(biāo)準(zhǔn)C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年國(guó)際標(biāo)準(zhǔn)的ANSICC語言發(fā)展的歷程47C語言發(fā)展過程C語言發(fā)展的歷程8C++語言發(fā)展的歷程C++是在C語言的基礎(chǔ)上發(fā)展和完善的,而C是吸收了其它語言的優(yōu)點(diǎn)逐步成為實(shí)用性很強(qiáng)的語言。隨著20世紀(jì)70年代C語言應(yīng)用的推廣,C語言存在的一些缺陷或不足也開始流露出來,并受到大家的關(guān)注。如:C語言對(duì)數(shù)據(jù)類型檢查的機(jī)制比較弱;缺少支持代碼重用的結(jié)構(gòu);隨著軟件工程規(guī)模的擴(kuò)大,難以適應(yīng)開發(fā)特大型的程度等等。48C++語言發(fā)展的歷程C++是在C語言的基礎(chǔ)上發(fā)展和完善的,而為了克服C語言本身存在的缺點(diǎn),并保持C語言簡(jiǎn)潔、高效,并與匯編語言接近的特點(diǎn),1980年,貝爾實(shí)驗(yàn)室的BjarneStroustrup博士及其同事對(duì)C語言進(jìn)行了改進(jìn)和擴(kuò)充,并把Simula67中類的概念引入到C中。并在1983年由RickMaseitti提議正式命名為C++(CPlusPlus)。后來,又把運(yùn)算符的重載、引用、虛函數(shù)等功能加入到C++中,使C++的功能日趨完善。當(dāng)前用得較為廣泛的C++有:VC++(VisualCPlusPlus)、BC++(BorlandCPlusPlus)、AT&TC++等。49為了克服C語言本身存在的缺點(diǎn),并保持C語言簡(jiǎn)潔、高效,并與匯C++歷史上的主要事件:1983年8月,第一個(gè)C++實(shí)現(xiàn)投入使用1983年12月,RickMascitti建議命名為CPlusPlus,即C++。1985年2月,第一個(gè)C++ReleaseE發(fā)布。10月,CFront的第一個(gè)商業(yè)發(fā)布,CFrontRelease1.0。10月,Bjarne博士完成了經(jīng)典巨著TheC++ProgrammingLanguage第一版1986年11月,C++第一個(gè)商業(yè)移植CFront1.1,Glockenspiel。1987年2月,CFrontRelease1.2發(fā)布。11月,第一個(gè)USENIXC++會(huì)議在新墨西哥州舉行。1988年10月,第一次USENIXC++實(shí)現(xiàn)者工作會(huì)議在科羅拉多州舉行。1989年12月,ANSIX3J16在華盛頓組織會(huì)議。50C++歷史上的主要事件:1983年8月,第一個(gè)C++實(shí)現(xiàn)投1990年3月,第一次ANSIX3J16技術(shù)會(huì)議在新澤西州召開.5月,C++的又一個(gè)傳世經(jīng)典ARM誕生。7月,模板被加入。11月,異常被加入。1991年6月,TheC++ProgrammingLanguage第二版完成。6月,第一次ISOWG21會(huì)議在瑞典召開。10月,CFrontRelease3.0發(fā)布。1993年3月,運(yùn)行時(shí)類型識(shí)別在俄勒岡州被加入。7月,名字空間在德國(guó)慕尼黑被加入。1994年8月,ANSI/ISO委員會(huì)草案登記。1997年7月,TheC++ProgrammingLanguage第三版完成。10月,ISO標(biāo)準(zhǔn)通過表決被接受1998年11月,ISO標(biāo)準(zhǔn)被批準(zhǔn)。511990年3月,第一次ANSIX3J16技術(shù)會(huì)議在新澤西2.C與C++集成環(huán)境TurboC2.0集成環(huán)境522.C與C++集成環(huán)境TurboC2.0集成環(huán)境13C程序開發(fā)步驟編輯鏈接編譯執(zhí)行程序代碼的錄入,生成源程序*.c語法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe53C程序開發(fā)步驟編輯鏈接編譯執(zhí)行程序代碼的錄入,語法分析查錯(cuò),C++集成環(huán)境VC++集成環(huán)境54C++集成環(huán)境VC++集成環(huán)境15C++編譯過程源程序(文本文件)*.CPP目標(biāo)文件(二進(jìn)制文件)*.OBJ可執(zhí)行文件(二進(jìn)制文件)*.EXE庫(kù)文件(各種函數(shù))在VitualC++系統(tǒng)中,可直接從源程序編譯連接至可執(zhí)行程序,但依然要生成*.OBJ及*.EXE這兩個(gè)文件。F7編譯連接compilelink55C++編譯過程源程序目標(biāo)文件可執(zhí)行文件庫(kù)文件在Vitual經(jīng)典例題例題1.在顯示器上顯示“Hello,world!”要求:用C和C++兩種語言編寫。56經(jīng)典例題例題1.在顯示器上顯示“Hello,worl經(jīng)典例題例題2.求兩個(gè)數(shù)中最大的一個(gè)數(shù)。求三個(gè)數(shù)最大的一個(gè)數(shù)呢?更多個(gè)呢?要求:用C和C++兩種語言編寫。思考:求兩個(gè)數(shù)的和。求三個(gè)數(shù)的和呢?更多個(gè)呢?57經(jīng)典例題例題2.求兩個(gè)數(shù)中最大的一個(gè)數(shù)。思考:求兩個(gè)3.C與C++的程序組成C語言程序的組成一個(gè)程序由一個(gè)或多個(gè)源程序文件組成小程序往往只包括一個(gè)源程序文件一個(gè)源程序文件中可以包括三個(gè)部分:預(yù)處理指令全局聲明函數(shù)定義#include<stdio.h>等在函數(shù)之外進(jìn)行的數(shù)據(jù)聲明每個(gè)函數(shù)用來實(shí)現(xiàn)一定的功能583.C與C++的程序組成C語言程序的組成#includeC語言程序的結(jié)構(gòu)函數(shù)是C程序的主要組成部分一個(gè)C程序是由一個(gè)或多個(gè)函數(shù)組成的必須包含一個(gè)main函數(shù)(只能有一個(gè))每個(gè)函數(shù)都用來實(shí)現(xiàn)一個(gè)或幾個(gè)特定功能被調(diào)用的函數(shù)可以是庫(kù)函數(shù),也可以是自己編制設(shè)計(jì)的函數(shù)59C語言程序的結(jié)構(gòu)函數(shù)是C程序的主要組成部分20C語言程序的結(jié)構(gòu)C語言程序的結(jié)構(gòu)特點(diǎn):一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)首部intmax(intx,inty)函數(shù)類型函數(shù)名參數(shù)類型參數(shù)名若函數(shù)無參,在括弧中寫void或空括弧60C語言程序的結(jié)構(gòu)C語言程序的結(jié)構(gòu)特點(diǎn):函數(shù)類型函數(shù)名參數(shù)類型C語言程序的結(jié)構(gòu)函數(shù)體聲明部分定義在本函數(shù)中所用到的變量對(duì)本函數(shù)所調(diào)用函數(shù)進(jìn)行聲明執(zhí)行部分:由若干個(gè)語句組成,指定在函數(shù)中所進(jìn)行的操作可以是空函數(shù),如:voiddump(){}可以沒有聲明部分61C語言程序的結(jié)構(gòu)函數(shù)體可以沒有聲明部分22C語言程序的結(jié)構(gòu)特點(diǎn):
程序總是從main函數(shù)開始執(zhí)行C程序?qū)τ?jì)算機(jī)的操作由C語句完成C程序書寫格式是比較自由的一行內(nèi)可以寫幾個(gè)語句一個(gè)語句可以分寫在多行上為清晰起見,習(xí)慣上每行只寫一個(gè)語句程序總是從main函數(shù)開始執(zhí)行C程序?qū)τ?jì)算機(jī)的操作由C語句完成數(shù)據(jù)聲明和語句最后必須有分號(hào)C語言本身不提供輸入輸出語句程序應(yīng)當(dāng)包含注釋,增加可讀性62C語言程序的結(jié)構(gòu)特點(diǎn):程序總是從main函數(shù)開始執(zhí)行23C++程序的組成C++源代碼一般都由若干函數(shù)和類組成。為了便于管理,一般把不同功能的函數(shù)和類放在不同的文件中,對(duì)于類的聲明和實(shí)現(xiàn)也分別放在對(duì)應(yīng)的.h(或.hpp)和.cpp文件中。由于文件較多,所以為了便于管理,一般的集成開發(fā)工具都會(huì)提供工程(Project)管理功能來管理這些文件,對(duì)源文件進(jìn)行編譯和鏈接。63C++程序的組成C++源代碼一般都由若干函數(shù)和類組成。為了便6425經(jīng)典例題例題3.輸入下圖所示的程序。********************1********************2********************3********************要求:用C和C++兩種語言編寫。65經(jīng)典例題例題3.輸入下圖所示的程序。26經(jīng)典例題例題4.求一個(gè)數(shù)的平方。引申doublepow(doublex,doubley)庫(kù)函數(shù)66經(jīng)典例題例題4.求一個(gè)數(shù)的平方。引申doublep4.簡(jiǎn)單輸入輸出操作輸入輸出是程序中最基本的操作之一。所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的從計(jì)算機(jī)向輸出設(shè)備(如顯示器、打印機(jī)等)輸出數(shù)據(jù)稱為輸出從輸入設(shè)備(如鍵盤、磁盤、光盤、掃描儀等)向計(jì)算機(jī)輸入數(shù)據(jù)稱為輸入674.簡(jiǎn)單輸入輸出操作輸入輸出是程序中最基本的操作之一。28C語言輸入輸出語句C語言本身不提供輸入輸出語句輸入和輸出操作是由C標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)來實(shí)現(xiàn)的。主要是printf函數(shù)和scanf函數(shù)printf和scanf不是C語言的關(guān)鍵字,而只是庫(kù)函數(shù)的名字還有putchar、getchar、puts、gets等等在使用輸入輸出函數(shù)時(shí),要在程序文件的開頭用預(yù)編譯指令#include<stdio.h>
或#include″stdio.h″68C語言輸入輸出語句C語言本身不提供輸入輸出語句在使用輸入輸出printf函數(shù)輸出數(shù)據(jù)printf函數(shù)的一般格式printf(格式控制,輸出表列)例如:printf(”i=%d,c=%c\n”,i,c);格式聲明格式控制:以%開始,以一個(gè)格式字符結(jié)束,中間可以插入附加的字符。69printf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國(guó)成人電動(dòng)踏板車行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球聚酯樹脂行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)中心供氧站行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 大數(shù)據(jù)分析服務(wù)項(xiàng)目合同
- 2025合同模板股權(quán)合作協(xié)議范本
- 2025企業(yè)管理資料勞務(wù)合同樣本頁(yè)文檔范本
- 鋼質(zhì)防火門制作安裝合同
- 中介公司房產(chǎn)交易合同范本
- 奶牛場(chǎng)承包經(jīng)營(yíng)合同
- 銷售回購(gòu)合同
- 高考英語單詞3500(亂序版)
- 《社區(qū)康復(fù)》課件-第五章 脊髓損傷患者的社區(qū)康復(fù)實(shí)踐
- 北方、南方戲劇圈的雜劇文檔
- 燈謎大全及答案1000個(gè)
- 白酒銷售經(jīng)理述職報(bào)告
- 部編小學(xué)語文(6年級(jí)下冊(cè)第6單元)作業(yè)設(shè)計(jì)
- 洗衣機(jī)事業(yè)部精益降本總結(jié)及規(guī)劃 -美的集團(tuán)制造年會(huì)
- 2015-2022年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招語文/數(shù)學(xué)/英語筆試參考題庫(kù)含答案解析
- 2023年菏澤醫(yī)學(xué)??茖W(xué)校單招綜合素質(zhì)模擬試題及答案解析
- 鋁合金門窗設(shè)計(jì)說明
- 小學(xué)數(shù)學(xué)-三角形面積計(jì)算公式的推導(dǎo)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
評(píng)論
0/150
提交評(píng)論