高級(jí)程序設(shè)計(jì)語(yǔ)言概述課件_第1頁(yè)
高級(jí)程序設(shè)計(jì)語(yǔ)言概述課件_第2頁(yè)
高級(jí)程序設(shè)計(jì)語(yǔ)言概述課件_第3頁(yè)
高級(jí)程序設(shè)計(jì)語(yǔ)言概述課件_第4頁(yè)
高級(jí)程序設(shè)計(jì)語(yǔ)言概述課件_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一講高級(jí)語(yǔ)言程序設(shè)計(jì)概述金世雙編著1第一講高級(jí)語(yǔ)言程序設(shè)計(jì)概述金世雙編著1本講主要內(nèi)容

程序設(shè)計(jì)語(yǔ)言發(fā)展歷程1C與C++集成環(huán)境2C與C++的程序組成3簡(jiǎn)單輸入輸出操作42本講主要內(nèi)容程序設(shè)計(jì)語(yǔ)言發(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)語(yǔ)句編碼與上機(jī)調(diào)試30.序言教學(xué)對(duì)象3學(xué)習(xí)的重點(diǎn)程序設(shè)計(jì)的基本概念,基本方法;在C/C++語(yǔ)言的環(huán)境下,學(xué)會(huì)如何針對(duì)問(wèn)題進(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)鍵:邏輯思維與問(wè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ù)的組織方式三:鏈表與樹(shù)13.數(shù)據(jù)的組織方式四:文件,數(shù)據(jù)的永久存儲(chǔ)與重復(fù)使用14.面向?qū)ο蟪绦蛟O(shè)計(jì)69.蒙特卡洛法61.程序設(shè)計(jì)語(yǔ)言發(fā)展歷程類過(guò)程面向機(jī)器的語(yǔ)言面向機(jī)器的語(yǔ)言高級(jí)語(yǔ)言(面向?qū)ο螅└呒?jí)語(yǔ)言(面向過(guò)程)匯編語(yǔ)言機(jī)器語(yǔ)言程序設(shè)計(jì)語(yǔ)言的軌跡71.程序設(shè)計(jì)語(yǔ)言發(fā)展歷程類過(guò)程面向機(jī)器的語(yǔ)言面向機(jī)器的語(yǔ)言C語(yǔ)言發(fā)展過(guò)程產(chǎn)生背景產(chǎn)生過(guò)程時(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語(yǔ)言發(fā)展的歷程8C語(yǔ)言發(fā)展過(guò)程C語(yǔ)言發(fā)展的歷程8C++語(yǔ)言發(fā)展的歷程C++是在C語(yǔ)言的基礎(chǔ)上發(fā)展和完善的,而C是吸收了其它語(yǔ)言的優(yōu)點(diǎn)逐步成為實(shí)用性很強(qiáng)的語(yǔ)言。隨著20世紀(jì)70年代C語(yǔ)言應(yīng)用的推廣,C語(yǔ)言存在的一些缺陷或不足也開(kāi)始流露出來(lái),并受到大家的關(guān)注。如:C語(yǔ)言對(duì)數(shù)據(jù)類型檢查的機(jī)制比較弱;缺少支持代碼重用的結(jié)構(gòu);隨著軟件工程規(guī)模的擴(kuò)大,難以適應(yīng)開(kāi)發(fā)特大型的程度等等。9C++語(yǔ)言發(fā)展的歷程C++是在C語(yǔ)言的基礎(chǔ)上發(fā)展和完善的,而為了克服C語(yǔ)言本身存在的缺點(diǎn),并保持C語(yǔ)言簡(jiǎn)潔、高效,并與匯編語(yǔ)言接近的特點(diǎn),1980年,貝爾實(shí)驗(yàn)室的BjarneStroustrup博士及其同事對(duì)C語(yǔ)言進(jìn)行了改進(jìn)和擴(kuò)充,并把Simula67中類的概念引入到C中。并在1983年由RickMaseitti提議正式命名為C++(CPlusPlus)。后來(lái),又把運(yùn)算符的重載、引用、虛函數(shù)等功能加入到C++中,使C++的功能日趨完善。當(dāng)前用得較為廣泛的C++有:VC++(VisualCPlusPlus)、BC++(BorlandCPlusPlus)、AT&TC++等。10為了克服C語(yǔ)言本身存在的缺點(diǎn),并保持C語(yǔ)言簡(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ì)議在新澤西州召開(kāi).5月,C++的又一個(gè)傳世經(jīng)典ARM誕生。7月,模板被加入。11月,異常被加入。1991年6月,TheC++ProgrammingLanguage第二版完成。6月,第一次ISOWG21會(huì)議在瑞典召開(kāi)。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)通過(guò)表決被接受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程序開(kāi)發(fā)步驟編輯鏈接編譯執(zhí)行程序代碼的錄入,生成源程序*.c語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe14C程序開(kāi)發(fā)步驟編輯鏈接編譯執(zhí)行程序代碼的錄入,語(yǔ)法分析查錯(cuò),C++集成環(huán)境VC++集成環(huán)境15C++集成環(huán)境VC++集成環(huán)境15C++編譯過(guò)程源程序(文本文件)*.CPP目標(biāo)文件(二進(jìn)制文件)*.OBJ可執(zhí)行文件(二進(jìn)制文件)*.EXE庫(kù)文件(各種函數(shù))在VitualC++系統(tǒng)中,可直接從源程序編譯連接至可執(zhí)行程序,但依然要生成*.OBJ及*.EXE這兩個(gè)文件。F7編譯連接compilelink16C++編譯過(guò)程源程序目標(biāo)文件可執(zhí)行文件庫(kù)文件在Vitual經(jīng)典例題例題1.在顯示器上顯示“Hello,world!”要求:用C和C++兩種語(yǔ)言編寫。17經(jīng)典例題例題1.在顯示器上顯示“Hello,worl經(jīng)典例題例題2.求兩個(gè)數(shù)中最大的一個(gè)數(shù)。求三個(gè)數(shù)最大的一個(gè)數(shù)呢?更多個(gè)呢?要求:用C和C++兩種語(yǔ)言編寫。思考:求兩個(gè)數(shù)的和。求三個(gè)數(shù)的和呢?更多個(gè)呢?18經(jīng)典例題例題2.求兩個(gè)數(shù)中最大的一個(gè)數(shù)。思考:求兩個(gè)3.C與C++的程序組成C語(yǔ)言程序的組成一個(gè)程序由一個(gè)或多個(gè)源程序文件組成小程序往往只包括一個(gè)源程序文件一個(gè)源程序文件中可以包括三個(gè)部分:預(yù)處理指令全局聲明函數(shù)定義#include<stdio.h>等在函數(shù)之外進(jìn)行的數(shù)據(jù)聲明每個(gè)函數(shù)用來(lái)實(shí)現(xiàn)一定的功能193.C與C++的程序組成C語(yǔ)言程序的組成#includeC語(yǔ)言程序的結(jié)構(gòu)函數(shù)是C程序的主要組成部分一個(gè)C程序是由一個(gè)或多個(gè)函數(shù)組成的必須包含一個(gè)main函數(shù)(只能有一個(gè))每個(gè)函數(shù)都用來(lái)實(shí)現(xiàn)一個(gè)或幾個(gè)特定功能被調(diào)用的函數(shù)可以是庫(kù)函數(shù),也可以是自己編制設(shè)計(jì)的函數(shù)20C語(yǔ)言程序的結(jié)構(gòu)函數(shù)是C程序的主要組成部分20C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)首部intmax(intx,inty)函數(shù)類型函數(shù)名參數(shù)類型參數(shù)名若函數(shù)無(wú)參,在括弧中寫void或空括弧21C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):函數(shù)類型函數(shù)名參數(shù)類型C語(yǔ)言程序的結(jié)構(gòu)函數(shù)體聲明部分定義在本函數(shù)中所用到的變量對(duì)本函數(shù)所調(diào)用函數(shù)進(jìn)行聲明執(zhí)行部分:由若干個(gè)語(yǔ)句組成,指定在函數(shù)中所進(jìn)行的操作可以是空函數(shù),如:voiddump(){}可以沒(méi)有聲明部分22C語(yǔ)言程序的結(jié)構(gòu)函數(shù)體可以沒(méi)有聲明部分22C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):

程序總是從main函數(shù)開(kāi)始執(zhí)行C程序?qū)τ?jì)算機(jī)的操作由C語(yǔ)句完成C程序書寫格式是比較自由的一行內(nèi)可以寫幾個(gè)語(yǔ)句一個(gè)語(yǔ)句可以分寫在多行上為清晰起見(jiàn),習(xí)慣上每行只寫一個(gè)語(yǔ)句程序總是從main函數(shù)開(kāi)始執(zhí)行C程序?qū)τ?jì)算機(jī)的操作由C語(yǔ)句完成數(shù)據(jù)聲明和語(yǔ)句最后必須有分號(hào)C語(yǔ)言本身不提供輸入輸出語(yǔ)句程序應(yīng)當(dāng)包含注釋,增加可讀性23C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):程序總是從main函數(shù)開(kāi)始執(zhí)行23C++程序的組成C++源代碼一般都由若干函數(shù)和類組成。為了便于管理,一般把不同功能的函數(shù)和類放在不同的文件中,對(duì)于類的聲明和實(shí)現(xiàn)也分別放在對(duì)應(yīng)的.h(或.hpp)和.cpp文件中。由于文件較多,所以為了便于管理,一般的集成開(kāi)發(fā)工具都會(huì)提供工程(Project)管理功能來(lái)管理這些文件,對(duì)源文件進(jìn)行編譯和鏈接。24C++程序的組成C++源代碼一般都由若干函數(shù)和類組成。為了便2525經(jīng)典例題例題3.輸入下圖所示的程序。********************1********************2********************3********************要求:用C和C++兩種語(yǔ)言編寫。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語(yǔ)言輸入輸出語(yǔ)句C語(yǔ)言本身不提供輸入輸出語(yǔ)句輸入和輸出操作是由C標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)來(lái)實(shí)現(xiàn)的。主要是printf函數(shù)和scanf函數(shù)printf和scanf不是C語(yǔ)言的關(guān)鍵字,而只是庫(kù)函數(shù)的名字還有putchar、getchar、puts、gets等等在使用輸入輸出函數(shù)時(shí),要在程序文件的開(kāi)頭用預(yù)編譯指令#include<stdio.h>

或#include″stdio.h″29C語(yǔ)言輸入輸出語(yǔ)句C語(yǔ)言本身不提供輸入輸出語(yǔ)句在使用輸入輸出printf函數(shù)輸出數(shù)據(jù)printf函數(shù)的一般格式printf(格式控制,輸出表列)例如:printf(”i=%d,c=%c\n”,i,c);格式聲明格式控制:以%開(kāi)始,以一個(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++語(yǔ)言輸入輸出語(yǔ)句在C++中引入術(shù)語(yǔ)stream(流),指的是來(lái)自設(shè)備或傳給設(shè)備的一個(gè)數(shù)據(jù)流。cout表示輸出流對(duì)象,它是輸入輸出流庫(kù)的一部分。與cout相關(guān)聯(lián)的設(shè)備是顯示器。在程序中有了關(guān)聯(lián)字cout就有了將數(shù)據(jù)流傳到顯示器的條件,這時(shí)用插入操作符“<<”將其后的數(shù)據(jù)插入到該流中去。比如下面的兩條語(yǔ)句cout<<“welcometoJin”;cout<<endl; 插入操作符可以把多個(gè)輸出數(shù)據(jù)組合或級(jí)聯(lián)成單個(gè)的輸出語(yǔ)句。34C++語(yǔ)言輸入輸出語(yǔ)句在C++中引入術(shù)語(yǔ)stream(流cin表示輸入流對(duì)象,它也是輸入輸出流庫(kù)中的一部分,與相關(guān)聯(lián)的輸入設(shè)備是鍵盤。由鍵盤輸入的字符串形成輸入流,用提取操作符“>>”可將輸入流存儲(chǔ)到一個(gè)事先定義好的變量中。提取輸入流的示意圖X的地址c

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論