版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C++高級程序設計計算機程序:完成特定功能的語句序列程序設計:用計算機語言編制程序的過程計算機語言:人與計算機交流的工具,一套語法規(guī)則,語句(語法、語義)C++概述1.1計算機語言與程序計算機語言與程序經歷了以下三個階段的發(fā)展:(本部分自學)機器語言匯編語言高級語言1960年開始,高級程序設計語言經歷了如下過程:ALGOL60→CPL→BCPL→B→C→C++
1972~1973年由美國Bell實驗室D.M.Retchie完成,與著名的UNIX操作系統(tǒng)相伴出現(1983年ANSIC)(1987年87ANSIC)UNIX操作系統(tǒng):90%代碼用C語言完成。由K.Thompson和D.M.Retchie開發(fā)AmericanNationalStandardInstitute1.2從C到C++C語言的特點(1)語言簡潔、緊湊、使用方便、靈活。C語言只有32個關鍵字,程序書寫形式自由。(2)具有豐富的運算符和數據類型。(3)C語言可以直接訪問內存地址,能進行位操作,使其能夠勝任開發(fā)操作系統(tǒng)的工作。(4)生成的目標代碼質量高,程序運行效率高。(5)可移植性好。C語言也具有它的局限性(1)C語言數據類型檢查機制較弱,這使得程序中的一些錯誤不能在編譯時被發(fā)現。(2)C語言本身幾乎沒有支持代碼重用的語言結構,因此一個程序員精心設計的程序,很難為其他程序所用。(3)當程序達到一定規(guī)模時,程序員很難控制程序的復雜性。1980年貝爾實驗室的BjarneStroustrup博士及其同事對C語言進行了改進和擴充,并引入了類的概念。1983年,由RickMascitti提議正式命名為C++(CPlusPlus)因為在C語言中,運算符“++”是對變量進行增值運算,那么C++的喻義是對C語言進行“增值”。目前使用較廣泛的版本有:
VC++(VisualCplusPlus)
BC++(BorlandCplusPlus)等C++語言包括過程性語言部分和類部分。過程性語言部分和C語言沒有本質差別。類部分是C中沒有的,它是面向對象程序設計的主體。1.3程序設計方法1.3.1結構化程序設計方法
結構化程序設計的主要思想是:將任務按功能分解并逐步求精,分解成較小的、功能完整的模塊,每一個模塊用一個過程或函數完成。程序員把數據與程序分開存儲,將程序看成處理數據的一系列過程。其主要缺點是,程序依賴于數據,當數據結構發(fā)生變化時,必須對程序進行修改。代碼不能重用。
1.3.2面向對象的程序設計方法(ObjectOrientedProgramming,簡稱OOP)方法是近年來十分流行的一種程序設計方法,它試圖用客觀世界中描述事物的方法來描述一個程序要解決的問題。對象是客觀世界中一個實際存在的事物,比如一個具體的人就是一個對象,將一般人的共同屬性抽象出來就可以構成“類”,如“人”類,它的靜態(tài)屬性有姓名、年齡、性別、身高、體重,動態(tài)屬性有思考、走路、說話、吃飯、睡覺,將靜態(tài)屬性作為類的數據成員,而將動態(tài)屬性作為類的執(zhí)行代碼。
優(yōu)點是代碼可以重用。
面向對象的程序設計的要素為:
1.封裝性2.繼承性3.重載性4.多態(tài)性
這部分內容,隨著課程深入,再逐步講解。1.4簡單的C++程序介紹[例1.1]一個簡單的C++程序#include<iostream.h>voidmain(void){intnum,square;//定義變量num、squarecout<<"num=";/*輸出提示信息*/cin>>num;//輸入變量num的值
square=num*num;//求num的平方
cout<<"num的平方為:"<<square<<'\n';//輸出}函數體程序運行時,輸出:num=6回車(輸入)
輸出:num的平方為:36表示主函數字符串換行符輸入輸出流頭文件f函數體中…[例1.2]一個由兩個函數構成的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}解釋函數及函數調用,形參和實參,函數的返回值。C++程序的構成1.函數構成:一個主函數、若干個函數2.一個函數由兩部分組成:(1)函數首部說明(函數名、函數參數)(2)函數體部分最外層{}中內容(變量定義、執(zhí)行部分)3.不論main()位置如何,程序總是從main開始執(zhí)行。4.可一行多句,可一句多行。5.語句和定義結束符;不可少。6.可以用/*.....*/或//對程序的任何部分進行注釋。庫函數自定義函數1.5用VisualC++開發(fā)程序1.5.1C++程序的開發(fā)步驟和上機調試流程
C++是編譯型語言,設計好一個C++源程序后,需要經過編譯,再連接生成可執(zhí)行的程序文件,然后執(zhí)行。一個C++程序的具體開發(fā)步驟為:⑴分析問題,產生解題步驟,即解題算法。⑵根據解題算法編寫C++源程序。⑶利用編輯器編輯源程序并保存。C++源程序文件的擴展名為“.cpp”。⑷編譯源程序,并產生目標程序。在Windows操作系統(tǒng)中,目標程序文件的擴展名為“.obj”。⑸連接。將一個或多個目標程序與本程序所引用的庫函數進行連接后,產生一個可執(zhí)行文件。在Windows操作系統(tǒng)中,可執(zhí)行文件的擴展名為“.exe”。⑹調試程序。運行可執(zhí)行文件,分析運行結果。若結果不正確,則要修改源程序,并重復以上過程,直至得到正確的結果為止。⑺優(yōu)化。進一步提高程序的運行效率,主要通過改進所用算法,縮短程序運行時間;通過合理分配使用內存,減少所用存儲空間。1.5.2VisualC++6.0調試C++程序的操作過程
使用AppWizard建立一個控制臺應用程序的步驟如下:⑴啟動集成開發(fā)環(huán)境(如圖1.5所示),進入VisualC++6.0環(huán)境(如圖1.6所示)。圖1.5啟動集成開發(fā)環(huán)境圖1.6VisualC++6.0界面⑵選擇【File】菜單下的【New】菜單項,出現New對話框;選擇【Projects】標簽,從列表中單擊Win32ConsoleApplication項;在右側的Projectsname編輯框中輸入工程的名稱(如test),在Location編輯框中指定該工程文件的保存路徑,然后單擊【OK】按鈕(如圖1.7所示)。圖1.7New對話框⑶接著出現一個詢問項目類型的程序向導,如圖1.8所示。圖1-8詢問項目類型對話框選項的含義:Anemptyproject:此選項將創(chuàng)建一個沒有任何文件的空工程,文件待以后添加。Asimpleapplication:一個簡單的應用程序。工程內包含一個文件,該文件內已定義好了main()函數。A“HellowWorld”application:一個能顯示HellowWorld的應用程序。工程內已包含一個文件,該文件內已定義好了main()函數,且main()函數內包含了顯示HellowWorld的代碼。AnapplicationthatsupportsMFC:一個支持MFC的應用程序,且已定義好了全局對象theApp。選取Anemptyproject選項后,單擊【Finish】按鈕,出現NewProjectInformation對話框,這個對話框中只是總結了新工程的一些信息,直接單擊【OK】按鈕完成新工程的創(chuàng)建。⑷創(chuàng)建完EmptyProject工程后,整個工程只是一個“空殼”,需再向工程內添加各種文件,本例只向工程內添加一個C++源程序文件。步驟如下:選取【Project|AddToProject|New】菜單,出現New對話框,選擇Files標簽,再選取C++SourceFile選項,在右側的文件編輯框中給文件起個名字,如hello(擴展名自動為.cpp),其他輸入框中內容不用動(確保AddtoProject復選框為選中狀態(tài)),單擊【OK】按鈕(如圖1.9所示)。圖1.9New對話框完成以上工作后,為了打開剛添加的文件,在工程工作空間窗口Workspace中選取FileView頁,該頁中列出了當前工程的所有文件,點擊testfiles左邊的+號,再點擊Sourcefiles左邊的+號,可以看到hello.cpp文件,雙擊之,右側代碼區(qū)即為該文件的編輯區(qū)。在該區(qū)域內輸入程序代碼即可(如圖1.10所示)。圖1.10為hello.cpp輸入代碼習題11.單項選擇題(1)一個c++程序可以包含任意多個函數,但有且僅有一個——,一個c++程序總是從——開始執(zhí)行。A.過程B.主函數C.函數D.include(2)在c++中,每個語句和數據定義是用——結束。A.句號B.逗號C.分號D.括號(3)c++規(guī)定:在一個源程序中,main函數的位置——。A.必須在最開始B.必須在系統(tǒng)調用的庫函數的后面C.可以在任意位置D.必須在源文件的最后(4)面向對象程序設計將數據與——放在一起,作為一個相互依存、不可分割的整體來處理。A.對數據的操作B.信息C.數據隱藏D.數據抽象習題12.概念題(1)簡述面向過程和面向對象程序設計的基本思路。(2)面向對象程序設計語言有哪些特征?(3)簡述c++程序開發(fā)的步驟。(4)在Visualc++6.0集成環(huán)境下,如何創(chuàng)建一個控制臺工程?3.用傳統(tǒng)流程圖或N-S流程圖表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省金華市2024年中考數學一模試題含答案
- 開封文化藝術職業(yè)學院《創(chuàng)新與創(chuàng)業(yè)管理A》2023-2024學年第一學期期末試卷
- 江蘇警官學院《現代舞基訓》2023-2024學年第一學期期末試卷
- 吉安職業(yè)技術學院《機器人技術基礎B》2023-2024學年第一學期期末試卷
- 湖南理工學院南湖學院《廣播電視新聞播音與主持》2023-2024學年第一學期期末試卷
- 黑龍江建筑職業(yè)技術學院《CA課件設計》2023-2024學年第一學期期末試卷
- 高考物理總復習《磁場的性質》專項測試卷帶答案
- 重慶對外經貿學院《快速建筑設計》2023-2024學年第一學期期末試卷
- 鎮(zhèn)江市高等專科學?!妒称芳庸ぐ踩刂啤?023-2024學年第一學期期末試卷
- 浙江交通職業(yè)技術學院《粉體工程與設備》2023-2024學年第一學期期末試卷
- 《榜樣9》觀后感心得體會四
- 《住院患者身體約束的護理》團體標準解讀課件
- 酒店一線員工績效考核指標體系優(yōu)化研究
- 全面設備管理(TPM)培訓資料-課件
- 高中地理《外力作用與地表形態(tài)》優(yōu)質課教案、教學設計
- 車間生產管理流程圖模板
- 河北省邢臺市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 市場部績效考核表
- 10000中國普通人名大全
- 學霸高中數學高中數學筆記全冊(最終)
- 熱棒的要點及要求
評論
0/150
提交評論