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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一講高級語言程序設計概述金世雙編著1第一講高級語言程序設計概述金世雙編著1本講主要內容

程序設計語言發(fā)展歷程1C與C++集成環(huán)境2C與C++的程序組成3簡單輸入輸出操作42本講主要內容程序設計語言發(fā)展歷程1C與C++集成環(huán)境2C與0.序言教學對象計算機科學與技術系教學目標程序設計的重要性程序設計的基本概念與基本方法編程解題的思路與典型方法數(shù)學模型簡介算法及算法步驟程序結構與相應語句編碼與上機調試30.序言教學對象3學習的重點程序設計的基本概念,基本方法;在C/C++語言的環(huán)境下,學會如何針對問題進行分析,構建數(shù)學模型,尋找算法并編程實現(xiàn);有條有理有根有據(jù)的編程實踐;養(yǎng)成良好的編程風格與習慣;重在思維方法的學習,鼓勵創(chuàng)新。4學習的重點4教學內容安排1.概論:程序設計的基本概念與基本方法;怎樣才能學好這門基礎課2.程序的基本結構3.編程關鍵:邏輯思維與問題求解人是怎樣讓計算機幫助自己解題的4.數(shù)據(jù)的組織方式一:數(shù)組5.模塊化:函數(shù)與函數(shù)調用6.分治思想:遞歸算法及其實現(xiàn)7.邏輯指代與物理指代:指針8.數(shù)據(jù)的組織方式二:結構5教學內容安排59.蒙特卡洛法10.貪心法11.動態(tài)規(guī)劃12.數(shù)據(jù)的組織方式三:鏈表與樹13.數(shù)據(jù)的組織方式四:文件,數(shù)據(jù)的永久存儲與重復使用14.面向對象程序設計69.蒙特卡洛法61.程序設計語言發(fā)展歷程類過程面向機器的語言面向機器的語言高級語言(面向對象)高級語言(面向過程)匯編語言機器語言程序設計語言的軌跡71.程序設計語言發(fā)展歷程類過程面向機器的語言面向機器的語言C語言發(fā)展過程產生背景產生過程時間:1972~1973地點:美國貝爾實驗室目的:UNIX操作系統(tǒng)設計人:Ken.Thompson和Dennis.M.RitchieC標準標準C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年國際標準的ANSICC語言發(fā)展的歷程8C語言發(fā)展過程C語言發(fā)展的歷程8C++語言發(fā)展的歷程C++是在C語言的基礎上發(fā)展和完善的,而C是吸收了其它語言的優(yōu)點逐步成為實用性很強的語言。隨著20世紀70年代C語言應用的推廣,C語言存在的一些缺陷或不足也開始流露出來,并受到大家的關注。如:C語言對數(shù)據(jù)類型檢查的機制比較弱;缺少支持代碼重用的結構;隨著軟件工程規(guī)模的擴大,難以適應開發(fā)特大型的程度等等。9C++語言發(fā)展的歷程C++是在C語言的基礎上發(fā)展和完善的,而為了克服C語言本身存在的缺點,并保持C語言簡潔、高效,并與匯編語言接近的特點,1980年,貝爾實驗室的BjarneStroustrup博士及其同事對C語言進行了改進和擴充,并把Simula67中類的概念引入到C中。并在1983年由RickMaseitti提議正式命名為C++(CPlusPlus)。后來,又把運算符的重載、引用、虛函數(shù)等功能加入到C++中,使C++的功能日趨完善。當前用得較為廣泛的C++有:VC++(VisualCPlusPlus)、BC++(BorlandCPlusPlus)、AT&TC++等。10為了克服C語言本身存在的缺點,并保持C語言簡潔、高效,并與匯C++歷史上的主要事件:1983年8月,第一個C++實現(xiàn)投入使用1983年12月,RickMascitti建議命名為CPlusPlus,即C++。1985年2月,第一個C++ReleaseE發(fā)布。10月,CFront的第一個商業(yè)發(fā)布,CFrontRelease1.0。10月,Bjarne博士完成了經典巨著TheC++ProgrammingLanguage第一版1986年11月,C++第一個商業(yè)移植CFront1.1,Glockenspiel。1987年2月,CFrontRelease1.2發(fā)布。11月,第一個USENIXC++會議在新墨西哥州舉行。1988年10月,第一次USENIXC++實現(xiàn)者工作會議在科羅拉多州舉行。1989年12月,ANSIX3J16在華盛頓組織會議。11C++歷史上的主要事件:1983年8月,第一個C++實現(xiàn)投1990年3月,第一次ANSIX3J16技術會議在新澤西州召開.5月,C++的又一個傳世經典ARM誕生。7月,模板被加入。11月,異常被加入。1991年6月,TheC++ProgrammingLanguage第二版完成。6月,第一次ISOWG21會議在瑞典召開。10月,CFrontRelease3.0發(fā)布。1993年3月,運行時類型識別在俄勒岡州被加入。7月,名字空間在德國慕尼黑被加入。1994年8月,ANSI/ISO委員會草案登記。1997年7月,TheC++ProgrammingLanguage第三版完成。10月,ISO標準通過表決被接受1998年11月,ISO標準被批準。121990年3月,第一次ANSIX3J16技術會議在新澤西2.C與C++集成環(huán)境TurboC2.0集成環(huán)境132.C與C++集成環(huán)境TurboC2.0集成環(huán)境13C程序開發(fā)步驟編輯鏈接編譯執(zhí)行程序代碼的錄入,生成源程序*.c語法分析查錯,翻譯生成目標程序*.obj與其它目標程序或庫鏈接裝配,生成可執(zhí)行程序*.exe14C程序開發(fā)步驟編輯鏈接編譯執(zhí)行程序代碼的錄入,語法分析查錯,C++集成環(huán)境VC++集成環(huán)境15C++集成環(huán)境VC++集成環(huán)境15C++編譯過程源程序(文本文件)*.CPP目標文件(二進制文件)*.OBJ可執(zhí)行文件(二進制文件)*.EXE庫文件(各種函數(shù))在VitualC++系統(tǒng)中,可直接從源程序編譯連接至可執(zhí)行程序,但依然要生成*.OBJ及*.EXE這兩個文件。F7編譯連接compilelink16C++編譯過程源程序目標文件可執(zhí)行文件庫文件在Vitual經典例題例題1.在顯示器上顯示“Hello,world!”要求:用C和C++兩種語言編寫。17經典例題例題1.在顯示器上顯示“Hello,worl經典例題例題2.求兩個數(shù)中最大的一個數(shù)。求三個數(shù)最大的一個數(shù)呢?更多個呢?要求:用C和C++兩種語言編寫。思考:求兩個數(shù)的和。求三個數(shù)的和呢?更多個呢?18經典例題例題2.求兩個數(shù)中最大的一個數(shù)。思考:求兩個3.C與C++的程序組成C語言程序的組成一個程序由一個或多個源程序文件組成小程序往往只包括一個源程序文件一個源程序文件中可以包括三個部分:預處理指令全局聲明函數(shù)定義#include<stdio.h>等在函數(shù)之外進行的數(shù)據(jù)聲明每個函數(shù)用來實現(xiàn)一定的功能193.C與C++的程序組成C語言程序的組成#includeC語言程序的結構函數(shù)是C程序的主要組成部分一個C程序是由一個或多個函數(shù)組成的必須包含一個main函數(shù)(只能有一個)每個函數(shù)都用來實現(xiàn)一個或幾個特定功能被調用的函數(shù)可以是庫函數(shù),也可以是自己編制設計的函數(shù)20C語言程序的結構函數(shù)是C程序的主要組成部分20C語言程序的結構C語言程序的結構特點:一個函數(shù)包括兩個部分:函數(shù)首部intmax(intx,inty)函數(shù)類型函數(shù)名參數(shù)類型參數(shù)名若函數(shù)無參,在括弧中寫void或空括弧21C語言程序的結構C語言程序的結構特點:函數(shù)類型函數(shù)名參數(shù)類型C語言程序的結構函數(shù)體聲明部分定義在本函數(shù)中所用到的變量對本函數(shù)所調用函數(shù)進行聲明執(zhí)行部分:由若干個語句組成,指定在函數(shù)中所進行的操作可以是空函數(shù),如:voiddump(){}可以沒有聲明部分22C語言程序的結構函數(shù)體可以沒有聲明部分22C語言程序的結構特點:

程序總是從main函數(shù)開始執(zhí)行C程序對計算機的操作由C語句完成C程序書寫格式是比較自由的一行內可以寫幾個語句一個語句可以分寫在多行上為清晰起見,習慣上每行只寫一個語句程序總是從main函數(shù)開始執(zhí)行C程序對計算機的操作由C語句完成數(shù)據(jù)聲明和語句最后必須有分號C語言本身不提供輸入輸出語句程序應當包含注釋,增加可讀性23C語言程序的結構特點:程序總是從main函數(shù)開始執(zhí)行23C++程序的組成C++源代碼一般都由若干函數(shù)和類組成。為了便于管理,一般把不同功能的函數(shù)和類放在不同的文件中,對于類的聲明和實現(xiàn)也分別放在對應的.h(或.hpp)和.cpp文件中。由于文件較多,所以為了便于管理,一般的集成開發(fā)工具都會提供工程(Project)管理功能來管理這些文件,對源文件進行編譯和鏈接。24C++程序的組成C++源代碼一般都由若干函數(shù)和類組成。為了便2525經典例題例題3.輸入下圖所示的程序。********************1********************2********************3********************要求:用C和C++兩種語言編寫。26經典例題例題3.輸入下圖所示的程序。26經典例題例題4.求一個數(shù)的平方。引申doublepow(doublex,doubley)庫函數(shù)27經典例題例題4.求一個數(shù)的平方。引申doublep4.簡單輸入輸出操作輸入輸出是程序中最基本的操作之一。所謂輸入輸出是以計算機主機為主體而言的從計算機向輸出設備(如顯示器、打印機等)輸出數(shù)據(jù)稱為輸出從輸入設備(如鍵盤、磁盤、光盤、掃描儀等)向計算機輸入數(shù)據(jù)稱為輸入284.簡單輸入輸出操作輸入輸出是程序中最基本的操作之一。28C語言輸入輸出語句C語言本身不提供輸入輸出語句輸入和輸出操作是由C標準函數(shù)庫中的函數(shù)來實現(xiàn)的。主要是printf函數(shù)和scanf函數(shù)printf和scanf不是C語言的關鍵字,而只是庫函數(shù)的名字還有putchar、getchar、puts、gets等等在使用輸入輸出函數(shù)時,要在程序文件的開頭用預編譯指令#include<stdio.h>

或#include″stdio.h″29C語言輸入輸出語句C語言本身不提供輸入輸出語句在使用輸入輸出printf函數(shù)輸出數(shù)據(jù)printf函數(shù)的一般格式printf(格式控制,輸出表列)例如:printf(”i=%d,c=%c\n”,i,c);格式聲明格式控制:以%開始,以一個格式字符結束,中間可以插入附加的字符。30printf函數(shù)輸出數(shù)據(jù)printf函數(shù)的一般格式格式聲明格scanf函數(shù)輸入數(shù)據(jù)scanf函數(shù)的一般形式scanf(格式控制,地址表列)31scanf函數(shù)輸入數(shù)據(jù)scanf函數(shù)的一般形式31經典例題例題5.按照“(x+y)*z-k”的格式輸入算術表達式,并輸出結果。32經典例題例題5.按照“(x+y)*z-k”的格式輸經典例題例題6.輸出如圖所示的圖形。33經典例題例題6.輸出如圖所示的圖形。33C++語言輸入輸出語句在C++中引入術語stream(流),指的是來自設備或傳給設備的一個數(shù)據(jù)流。cout表示輸出流對象,它是輸入輸出流庫的一部分。與cout相關聯(lián)的設備是顯示器。在程序中有了關聯(lián)字cout就有了將數(shù)據(jù)流傳到顯示器的條件,這時用插入操作符“<<”將其后的數(shù)據(jù)插入到該流中去。比如下面的兩條語句cout<<“welcometoJin”;cout<<endl; 插入操作符可以把多個輸出數(shù)據(jù)組合或級聯(lián)成單個的輸出語句。34C++語言輸入輸出語句在C++中引入術語stream(流cin表示輸入流對象,它也是輸入輸出流庫中的一部分,與相關聯(lián)的輸入設備是鍵盤。由鍵盤輸入的字符串形成輸入流,用提取操作符“>>”可將輸入流存儲到一個事先定義好的變量中。提取輸入流的示意圖X的地址c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論