C++課件:C++ 概述課件_第1頁(yè)
C++課件:C++ 概述課件_第2頁(yè)
C++課件:C++ 概述課件_第3頁(yè)
C++課件:C++ 概述課件_第4頁(yè)
C++課件:C++ 概述課件_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C++高級(jí)程序設(shè)計(jì)計(jì)算機(jī)程序:完成特定功能的語句序列程序設(shè)計(jì):用計(jì)算機(jī)語言編制程序的過程計(jì)算機(jī)語言:人與計(jì)算機(jī)交流的工具,一套語法規(guī)則,語句(語法、語義)C++概述1.1計(jì)算機(jī)語言與程序計(jì)算機(jī)語言與程序經(jīng)歷了以下三個(gè)階段的發(fā)展:(本部分自學(xué))機(jī)器語言匯編語言高級(jí)語言1960年開始,高級(jí)程序設(shè)計(jì)語言經(jīng)歷了如下過程:ALGOL60→CPL→BCPL→B→C→C++

1972~1973年由美國(guó)Bell實(shí)驗(yàn)室D.M.Retchie完成,與著名的UNIX操作系統(tǒng)相伴出現(xiàn)(1983年ANSIC)(1987年87ANSIC)UNIX操作系統(tǒng):90%代碼用C語言完成。由K.Thompson和D.M.Retchie開發(fā)AmericanNationalStandardInstitute1.2從C到C++C語言的特點(diǎn)(1)語言簡(jiǎn)潔、緊湊、使用方便、靈活。C語言只有32個(gè)關(guān)鍵字,程序書寫形式自由。(2)具有豐富的運(yùn)算符和數(shù)據(jù)類型。(3)C語言可以直接訪問內(nèi)存地址,能進(jìn)行位操作,使其能夠勝任開發(fā)操作系統(tǒng)的工作。(4)生成的目標(biāo)代碼質(zhì)量高,程序運(yùn)行效率高。(5)可移植性好。C語言也具有它的局限性(1)C語言數(shù)據(jù)類型檢查機(jī)制較弱,這使得程序中的一些錯(cuò)誤不能在編譯時(shí)被發(fā)現(xiàn)。(2)C語言本身幾乎沒有支持代碼重用的語言結(jié)構(gòu),因此一個(gè)程序員精心設(shè)計(jì)的程序,很難為其他程序所用。(3)當(dāng)程序達(dá)到一定規(guī)模時(shí),程序員很難控制程序的復(fù)雜性。1980年貝爾實(shí)驗(yàn)室的BjarneStroustrup博士及其同事對(duì)C語言進(jìn)行了改進(jìn)和擴(kuò)充,并引入了類的概念。1983年,由RickMascitti提議正式命名為C++(CPlusPlus)因?yàn)樵贑語言中,運(yùn)算符“++”是對(duì)變量進(jìn)行增值運(yùn)算,那么C++的喻義是對(duì)C語言進(jìn)行“增值”。目前使用較廣泛的版本有:

VC++(VisualCplusPlus)

BC++(BorlandCplusPlus)等C++語言包括過程性語言部分和類部分。過程性語言部分和C語言沒有本質(zhì)差別。類部分是C中沒有的,它是面向?qū)ο蟪绦蛟O(shè)計(jì)的主體。1.3程序設(shè)計(jì)方法1.3.1結(jié)構(gòu)化程序設(shè)計(jì)方法

結(jié)構(gòu)化程序設(shè)計(jì)的主要思想是:將任務(wù)按功能分解并逐步求精,分解成較小的、功能完整的模塊,每一個(gè)模塊用一個(gè)過程或函數(shù)完成。程序員把數(shù)據(jù)與程序分開存儲(chǔ),將程序看成處理數(shù)據(jù)的一系列過程。其主要缺點(diǎn)是,程序依賴于數(shù)據(jù),當(dāng)數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時(shí),必須對(duì)程序進(jìn)行修改。代碼不能重用。

1.3.2面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(ObjectOrientedProgramming,簡(jiǎn)稱OOP)方法是近年來十分流行的一種程序設(shè)計(jì)方法,它試圖用客觀世界中描述事物的方法來描述一個(gè)程序要解決的問題。對(duì)象是客觀世界中一個(gè)實(shí)際存在的事物,比如一個(gè)具體的人就是一個(gè)對(duì)象,將一般人的共同屬性抽象出來就可以構(gòu)成“類”,如“人”類,它的靜態(tài)屬性有姓名、年齡、性別、身高、體重,動(dòng)態(tài)屬性有思考、走路、說話、吃飯、睡覺,將靜態(tài)屬性作為類的數(shù)據(jù)成員,而將動(dòng)態(tài)屬性作為類的執(zhí)行代碼。

優(yōu)點(diǎn)是代碼可以重用。

面向?qū)ο蟮某绦蛟O(shè)計(jì)的要素為:

1.封裝性2.繼承性3.重載性4.多態(tài)性

這部分內(nèi)容,隨著課程深入,再逐步講解。1.4簡(jiǎn)單的C++程序介紹[例1.1]一個(gè)簡(jiǎn)單的C++程序#include<iostream.h>voidmain(void){intnum,square;//定義變量num、squarecout<<"num=";/*輸出提示信息*/cin>>num;//輸入變量num的值

square=num*num;//求num的平方

cout<<"num的平方為:"<<square<<'\n';//輸出}函數(shù)體程序運(yùn)行時(shí),輸出:num=6回車(輸入)

輸出:num的平方為:36表示主函數(shù)字符串換行符輸入輸出流頭文件f函數(shù)體中…[例1.2]一個(gè)由兩個(gè)函數(shù)構(gòu)成的C++程序#include<iostream.h>intsum(intx,inty)//A{ intz; z=x+y; returnz;//B

}voidmain(void){ inta,b,c;//定義變量a和b a=3;b=5;//給變量a和b賦值

c=sum(a,b);//C

求a與b之和,賦給變量c cout<<c<<'\n';//輸出c}解釋函數(shù)及函數(shù)調(diào)用,形參和實(shí)參,函數(shù)的返回值。C++程序的構(gòu)成1.函數(shù)構(gòu)成:一個(gè)主函數(shù)、若干個(gè)函數(shù)2.一個(gè)函數(shù)由兩部分組成:(1)函數(shù)首部說明(函數(shù)名、函數(shù)參數(shù))(2)函數(shù)體部分最外層{}中內(nèi)容(變量定義、執(zhí)行部分)3.不論main()位置如何,程序總是從main開始執(zhí)行。4.可一行多句,可一句多行。5.語句和定義結(jié)束符;不可少。6.可以用/*.....*/或//對(duì)程序的任何部分進(jìn)行注釋。庫(kù)函數(shù)自定義函數(shù)1.5用VisualC++開發(fā)程序1.5.1C++程序的開發(fā)步驟和上機(jī)調(diào)試流程

C++是編譯型語言,設(shè)計(jì)好一個(gè)C++源程序后,需要經(jīng)過編譯,再連接生成可執(zhí)行的程序文件,然后執(zhí)行。一個(gè)C++程序的具體開發(fā)步驟為:⑴分析問題,產(chǎn)生解題步驟,即解題算法。⑵根據(jù)解題算法編寫C++源程序。⑶利用編輯器編輯源程序并保存。C++源程序文件的擴(kuò)展名為“.cpp”。⑷編譯源程序,并產(chǎn)生目標(biāo)程序。在Windows操作系統(tǒng)中,目標(biāo)程序文件的擴(kuò)展名為“.obj”。⑸連接。將一個(gè)或多個(gè)目標(biāo)程序與本程序所引用的庫(kù)函數(shù)進(jìn)行連接后,產(chǎn)生一個(gè)可執(zhí)行文件。在Windows操作系統(tǒng)中,可執(zhí)行文件的擴(kuò)展名為“.exe”。⑹調(diào)試程序。運(yùn)行可執(zhí)行文件,分析運(yùn)行結(jié)果。若結(jié)果不正確,則要修改源程序,并重復(fù)以上過程,直至得到正確的結(jié)果為止。⑺優(yōu)化。進(jìn)一步提高程序的運(yùn)行效率,主要通過改進(jìn)所用算法,縮短程序運(yùn)行時(shí)間;通過合理分配使用內(nèi)存,減少所用存儲(chǔ)空間。1.5.2VisualC++6.0調(diào)試C++程序的操作過程

使用AppWizard建立一個(gè)控制臺(tái)應(yīng)用程序的步驟如下:⑴啟動(dòng)集成開發(fā)環(huán)境(如圖1.5所示),進(jìn)入VisualC++6.0環(huán)境(如圖1.6所示)。圖1.5啟動(dòng)集成開發(fā)環(huán)境圖1.6VisualC++6.0界面⑵選擇【File】菜單下的【New】菜單項(xiàng),出現(xiàn)New對(duì)話框;選擇【Projects】標(biāo)簽,從列表中單擊Win32ConsoleApplication項(xiàng);在右側(cè)的Projectsname編輯框中輸入工程的名稱(如test),在Location編輯框中指定該工程文件的保存路徑,然后單擊【OK】按鈕(如圖1.7所示)。圖1.7New對(duì)話框⑶接著出現(xiàn)一個(gè)詢問項(xiàng)目類型的程序向?qū)В鐖D1.8所示。圖1-8詢問項(xiàng)目類型對(duì)話框選項(xiàng)的含義:Anemptyproject:此選項(xiàng)將創(chuàng)建一個(gè)沒有任何文件的空工程,文件待以后添加。Asimpleapplication:一個(gè)簡(jiǎn)單的應(yīng)用程序。工程內(nèi)包含一個(gè)文件,該文件內(nèi)已定義好了main()函數(shù)。A“HellowWorld”application:一個(gè)能顯示HellowWorld的應(yīng)用程序。工程內(nèi)已包含一個(gè)文件,該文件內(nèi)已定義好了main()函數(shù),且main()函數(shù)內(nèi)包含了顯示HellowWorld的代碼。AnapplicationthatsupportsMFC:一個(gè)支持MFC的應(yīng)用程序,且已定義好了全局對(duì)象theApp。選取Anemptyproject選項(xiàng)后,單擊【Finish】按鈕,出現(xiàn)NewProjectInformation對(duì)話框,這個(gè)對(duì)話框中只是總結(jié)了新工程的一些信息,直接單擊【OK】按鈕完成新工程的創(chuàng)建。⑷創(chuàng)建完EmptyProject工程后,整個(gè)工程只是一個(gè)“空殼”,需再向工程內(nèi)添加各種文件,本例只向工程內(nèi)添加一個(gè)C++源程序文件。步驟如下:選取【Project|AddToProject|New】菜單,出現(xiàn)New對(duì)話框,選擇Files標(biāo)簽,再選取C++SourceFile選項(xiàng),在右側(cè)的文件編輯框中給文件起個(gè)名字,如hello(擴(kuò)展名自動(dòng)為.cpp),其他輸入框中內(nèi)容不用動(dòng)(確保AddtoProject復(fù)選框?yàn)檫x中狀態(tài)),單擊【OK】按鈕(如圖1.9所示)。圖1.9New對(duì)話框完成以上工作后,為了打開剛添加的文件,在工程工作空間窗口Workspace中選取FileView頁(yè),該頁(yè)中列出了當(dāng)前工程的所有文件,點(diǎn)擊testfiles左邊的+號(hào),再點(diǎn)擊Sourcefiles左邊的+號(hào),可以看到hello.cpp文件,雙擊之,右側(cè)代碼區(qū)即為該文件的編輯區(qū)。在該區(qū)域內(nèi)輸入程序代碼即可(如圖1.10所示)。圖1.10為hello.cpp輸入代碼習(xí)題11.單項(xiàng)選擇題(1)一個(gè)c++程序可以包含任意多個(gè)函數(shù),但有且僅有一個(gè)——,一個(gè)c++程序總是從——開始執(zhí)行。A.過程B.主函數(shù)C.函數(shù)D.include(2)在c++中,每個(gè)語句和數(shù)據(jù)定義是用——結(jié)束。A.句號(hào)B.逗號(hào)C.分號(hào)D.括號(hào)(3)c++規(guī)定:在一個(gè)源程序中,main函數(shù)的位置——。A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面C.可以在任意位置D.必須在源文件的最后(4)面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)與——放在一起,作為一個(gè)相互依存、不可分割的整體來處理。A.對(duì)數(shù)據(jù)的操作B.信息C.數(shù)據(jù)隱藏D.數(shù)據(jù)抽象習(xí)題12.概念題(1)簡(jiǎn)述面向過程和面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路。(2)面向?qū)ο蟪绦蛟O(shè)計(jì)語言有哪些特征?(3)簡(jiǎn)述c++程序開發(fā)的步驟。(4)在Visualc++6.0集成環(huán)境下,如何創(chuàng)建一個(gè)控制臺(tái)工程?3.用傳統(tǒng)流程圖或N-S流程圖表

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論