




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C++程序設(shè)計(jì)基礎(chǔ)第1章C++初步北京郵電大學(xué)信通院方莉mrs.fangli@
第一章C++入門C++語言是一門優(yōu)秀的程序設(shè)計(jì)語言,在計(jì)算機(jī)科學(xué)領(lǐng)域中有著廣泛的應(yīng)用。本章學(xué)習(xí):C++語言的發(fā)展史開發(fā)C++程序的步驟第一個C++程序2編輯ppt第一章C++入門1.1程序設(shè)計(jì)語言的發(fā)展1
1.2面向過程的程序設(shè)計(jì)2
1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)3
1.4C++的誕生4
1.5程序開發(fā)過程5
1.6最簡單的C++程序6
1.7內(nèi)存的表示和使用73編輯ppt第一章C++入門1.1程序設(shè)計(jì)語言的發(fā)展1
1.2面向過程的程序設(shè)計(jì)2
1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)3
1.4C++的誕生4
1.5程序開發(fā)過程5
1.6最簡單的C++程序6
1.7內(nèi)存的表示和使用74編輯ppt1.1程序設(shè)計(jì)語言的發(fā)展計(jì)算機(jī)程序計(jì)算機(jī)的工作是用程序來控制的;程序是指令的集合;指令是計(jì)算機(jī)可以識別的命令。編輯ppt1.1程序設(shè)計(jì)語言的發(fā)展機(jī)器語言簡單的“0”和“1”的組合,與硬件相關(guān)。匯編語言
將機(jī)器語言映射為一些可以被人們讀懂的助記符,如“ADD”、“SUB”等,與硬件相關(guān)。高級語言接近自然語言,與硬件無關(guān)。6編輯ppt1.1程序設(shè)計(jì)語言的發(fā)展高級語言:1、面向過程的語言
BASIC、PASCAL、C2、面向?qū)ο蟮恼Z言
C++、JAVA7編輯ppt1.1程序設(shè)計(jì)語言的發(fā)展例如:要向屏幕打印一個“A”字符1、BASIC語言:PRINT“A”2、PASCAL語言:writeln(‘A’);3、C語言: printf(“A”);4、C++語言:cout<<“A”;5、JAVA語言:System.out.print("A");8編輯ppt第一章C++入門1.1程序設(shè)計(jì)語言的發(fā)展1
1.2面向過程的程序設(shè)計(jì)2
1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)3
1.4C++的誕生4
1.5程序開發(fā)過程5
1.6最簡單的C++程序6
1.7內(nèi)存的表示和使用79編輯ppt101.2面向過程的程序設(shè)計(jì)程序的目的:用于數(shù)學(xué)計(jì)算主要工作:設(shè)計(jì)求解問題的過程缺點(diǎn):對于龐大、復(fù)雜的程序難以開發(fā)和維護(hù)編輯ppt111.2面向過程的程序設(shè)計(jì)主要設(shè)計(jì)思路自頂向下,逐步求精。采用模塊分解與功能抽象,自頂向下、分而治之。一個計(jì)算機(jī)程序可以看成是由一系列任務(wù)組成的,任何一項(xiàng)任務(wù)如果過于復(fù)雜就將其分解成一系列較小的子任務(wù),直至每一項(xiàng)任務(wù)都很小,很容易解決。編輯ppt121.2面向過程的程序設(shè)計(jì)程序結(jié)構(gòu)按功能劃分為若干個基本模塊,形成一個樹狀結(jié)構(gòu)。各模塊間的關(guān)系盡可能簡單,功能上相對獨(dú)立;每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成。其模塊化實(shí)現(xiàn)的具體方法是使用子程序。模塊采用單入單出。編輯ppt13計(jì)算每門課的平均成績多少門課學(xué)生人數(shù)每門課總分每門課總分/學(xué)生人數(shù)選課學(xué)生檔案每個學(xué)生該門課的成績累加選擇一門課選課的學(xué)生讀數(shù)據(jù)1.2面向過程的程序設(shè)計(jì)編輯ppt141.2面向過程的程序設(shè)計(jì)基本結(jié)構(gòu)1、順序2、分支3、循環(huán)編輯ppt1.2面向過程的程序設(shè)計(jì)優(yōu)點(diǎn):有效地將一個較復(fù)雜的程序系統(tǒng)設(shè)計(jì)任務(wù)分解成許多易于控制和處理的子任務(wù),便于開發(fā)和維護(hù)。編輯ppt161.2面向過程的程序設(shè)計(jì)缺點(diǎn):可重用性差、數(shù)據(jù)安全性差、難以開發(fā)大型軟件和圖形界面的應(yīng)用軟件結(jié)構(gòu)化編程將數(shù)據(jù)和過程相分離;當(dāng)數(shù)據(jù)結(jié)構(gòu)改變時,所有相關(guān)的處理過程都要進(jìn)行相應(yīng)的修改。結(jié)構(gòu)化編程對代碼重用支持不夠。每一種相對于老問題的新方法都要帶來額外的開銷。圖形用戶界面的應(yīng)用程序,很難用過程來描述和實(shí)現(xiàn),開發(fā)和維護(hù)也都很困難。編輯ppt第一章C++入門1.1程序設(shè)計(jì)語言的發(fā)展1
1.2面向過程的程序設(shè)計(jì)2
1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)3
1.4C++的誕生4
1.5程序開發(fā)過程5
1.6最簡單的C++程序6
1.7內(nèi)存的表示和使用717編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟮某绦蛟O(shè)計(jì)將數(shù)據(jù)和處理數(shù)據(jù)的過程當(dāng)成一個整體—對象。
1)封裝由對象的概念支持。只需知道外部接口,不需知道內(nèi)部實(shí)現(xiàn),就可以使用的特性。2)繼承由類的概念支持。利用已有的成果進(jìn)行擴(kuò)展,充分體現(xiàn)了代碼重用。3)多態(tài)運(yùn)行時特性。18編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)將數(shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一起,作為一個相互依存、不可分離的整體——對象。對同類型對象抽象出其共性,形成類。類通過一個簡單的外部接口,與外界發(fā)生關(guān)系。對象與對象之間通過消息進(jìn)行通訊。特性:封裝性、繼承性、多態(tài)性編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)優(yōu)點(diǎn):程序模塊間的關(guān)系更為簡單,程序模塊的獨(dú)立性、數(shù)據(jù)的安全性就有了良好的保障。通過繼承與多態(tài)性,可以大大提高程序的可重用性,使得軟件的開發(fā)和維護(hù)都更為方便。編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)一般意義上的對象:是現(xiàn)實(shí)世界中一個實(shí)際存在的事物??梢允怯行蔚模ū热缫惠v汽車),也可以是無形的(比如一項(xiàng)計(jì)劃)。是構(gòu)成世界的一個獨(dú)立單位,具有:靜態(tài)特征:可以用某種數(shù)據(jù)來描述動態(tài)特征:對象所表現(xiàn)的行為或具有的功能編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蠓椒ㄖ械膶ο螅菏窍到y(tǒng)中用來描述客觀事物的一個實(shí)體,它是用來構(gòu)成系統(tǒng)的一個基本單位。對象由一組屬性和一組行為構(gòu)成。屬性:用來描述對象靜態(tài)特征的數(shù)據(jù)項(xiàng)。行為:用來描述對象動態(tài)特征的操作序列。編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)分類—人類通常的思維方法分類所依據(jù)的原則——抽象忽略事物的非本質(zhì)特征,只注意那些與當(dāng)前目標(biāo)有關(guān)的本質(zhì)特征,從而找出事物的共性,把具有共同性質(zhì)的事物劃分為一類,得出一個抽象的概念。例如,石頭、樹木、汽車、房屋等都是人們在長期的生產(chǎn)和生活實(shí)踐中抽象出的概念。編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蠓椒ㄖ械?類"具有相同屬性和服務(wù)的一組對象的集合為屬于該類的全部對象提供了抽象的描述,包括屬性和行為兩個主要部分。類與對象的關(guān)系:猶如模具與鑄件之間的關(guān)系,一個屬于某類的對象稱為該類的一個實(shí)例。編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)封裝把對象的屬性和服務(wù)結(jié)合成一個獨(dú)立的系統(tǒng)單元。盡可能隱蔽對象的內(nèi)部細(xì)節(jié)。對外形成一個邊界(或者說一道屏障),只保留有限的對外接口使之與外部發(fā)生聯(lián)系。編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)繼承繼承對于軟件復(fù)用有著重要意義,是面向?qū)ο蠹夹g(shù)能夠提高軟件開發(fā)效率的重要原因之一。定義:特殊類的對象擁有其一般類的全部屬性與服務(wù),稱作特殊類對一般類的繼承。例如:將輪船作為一個一般類,客輪便是一個特殊類。編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)多態(tài)指在一般類中定義的屬性或行為,被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個屬性或行為在一般類及其各個特殊類中具有不同的語義。例如:數(shù)的加法->實(shí)數(shù)的加法
->復(fù)數(shù)的加法編輯ppt1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒ㄔ谲浖こ填I(lǐng)域的全面應(yīng)用。它包括:面向?qū)ο蟮姆治觯∣OA)面向?qū)ο蟮脑O(shè)計(jì)(OOD)面向?qū)ο蟮木幊蹋∣OP)面向?qū)ο蟮臏y試(OOT)面向?qū)ο蟮能浖S護(hù)(OOSM)編輯ppt第一章C++入門1.1程序設(shè)計(jì)語言的發(fā)展1
1.2面向過程的程序設(shè)計(jì)2
1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)3
1.4C++的誕生4
1.5程序開發(fā)過程5
1.6最簡單的C++程序6
1.7內(nèi)存的表示和使用729編輯ppt1.4C++的誕生C++語言從C語言的基礎(chǔ)上發(fā)展起來的。
C語言歷史:1、貝爾實(shí)驗(yàn)室的DennisRitchie開發(fā)2、在B語言的基礎(chǔ)3、作為Unix操作系統(tǒng)的開發(fā)語言優(yōu)點(diǎn):1、與硬件無關(guān)2、設(shè)計(jì)嚴(yán)謹(jǐn)30編輯ppt1.4C++的誕生1978年,BrianKernighan與DennisRitchie出版了《TheCProgrammingLanguage》是最早的經(jīng)典傳統(tǒng)C語言的書,很薄,只有兩百多頁,所以這本C語言的圣經(jīng)又稱`K&R“。當(dāng)時很快出現(xiàn)了多個不兼容的C語言版本,因此需要制訂一種標(biāo)準(zhǔn)C。所以1988年,第二版《TheCProgrammingLanguage》,是最經(jīng)典的標(biāo)準(zhǔn)C的書籍。31編輯ppt1.4C++的誕生C語言之父DennisRitchieTheCProgrammingLanguage32編輯ppt1.4C++的誕生C語言是一門面向過程的程序語言優(yōu)點(diǎn):1、豐富的運(yùn)算符和數(shù)據(jù)類型;2、可直接訪問內(nèi)存3、程序運(yùn)行效率高4、可移植性好缺點(diǎn):1、類型檢查機(jī)制較弱,許多錯誤編譯時不能發(fā)現(xiàn);2、不支持代碼重用;3、對于大規(guī)模程序,很難控制程序的復(fù)雜性。33編輯ppt1.4C++的誕生
C++語言的優(yōu)點(diǎn):
1、簡化程序復(fù)雜性2、促進(jìn)代碼重用3、使用先進(jìn)的面向?qū)ο蠹夹g(shù)Bjarne出版了的經(jīng)典C++著作《TheC++ProgrammingLanguage》,1991年第2版,1997年第3版,2000年特別版,他被譽(yù)為C++之父。
34編輯ppt1.4C++的誕生
C++之父BjarnestroustrupTheC++ProgrammingLanguage35編輯pptBjarne語錄1.不用害怕,一切都會隨著時間的推移而逐漸明朗起來。
2.你并不需要在知道了C++的所有細(xì)節(jié)之后才能寫出好的C++程序。
3.請?zhí)貏e關(guān)注程序設(shè)計(jì)技術(shù),而不是各種語言特征。
36編輯ppt1.4C++的誕生C++語言是從C語言發(fā)展演變而來。C++包含了整個C,C是建立C++的基礎(chǔ)。C++包含C的所有特征、屬性、優(yōu)缺點(diǎn),并添加了面向?qū)ο蟮闹С?。C++語言C語言面向?qū)ο?7編輯ppt第一章C++入門1.1程序設(shè)計(jì)語言的發(fā)展1
1.2面向過程的程序設(shè)計(jì)2
1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)3
1.4C++的誕生4
1.5程序開發(fā)過程5
1.6最簡單的C++程序6
1.7內(nèi)存的表示和使用738編輯ppt1.5程序開發(fā)過程基本術(shù)語
源程序用源語言寫的,有待翻譯的程序目標(biāo)程序也稱為“結(jié)果程序”,是源程序通過翻譯程序加工以后所生成的程序??蓤?zhí)行程序目標(biāo)程序和所用的其他資源進(jìn)行鏈接,生成的可以直接運(yùn)行的程序。翻譯程序:指一個把源程序翻譯成等價(jià)的目標(biāo)程序的工具。編輯ppt1.5程序開發(fā)過程三種不同類型的翻譯程序匯編程序把用匯編語言寫成的源程序,翻譯成機(jī)器語言形式的目標(biāo)程序。編譯程序若源程序是用高級程序設(shè)計(jì)語言所寫,經(jīng)翻譯程序加工生成目標(biāo)程序,那么,該翻譯程序就稱為"編譯程序"。編輯ppt1.5程序開發(fā)過程三種不同類型的翻譯程序解釋程序這也是一種翻譯程序,同樣是將高級語言源程序翻譯成機(jī)器指令。它與編譯程序不同點(diǎn)就在于:它是邊翻譯邊執(zhí)行的,即輸入一句、翻譯一句、執(zhí)行一句,直至將整個源程序翻譯并執(zhí)行完畢。編輯ppt1.5程序開發(fā)過程基本術(shù)語
鏈接程序?qū)R編程序或目標(biāo)程序與所需的其他資源進(jìn)行鏈接,生成可執(zhí)行文件的程序。編輯ppt1.5程序開發(fā)過程源程序:.cppcompile(Ctrl+F7)目標(biāo)程序:.objBuild(F7)可執(zhí)行程序:.exe43編輯ppt1.5程序開發(fā)過程編輯將源程序輸入到計(jì)算機(jī)中,生成后綴為cpp的磁盤文件。編譯將程序的源代碼轉(zhuǎn)換為機(jī)器語言代碼。鏈接將多個源程序文件以及庫中的某些文件連在一起,生成一個后綴為exe的可執(zhí)行文件。運(yùn)行調(diào)試編輯ppt第一章C++入門1.1程序設(shè)計(jì)語言的發(fā)展1
1.2面向過程的程序設(shè)計(jì)2
1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)3
1.4C++的誕生4
1.5程序開發(fā)過程5
1.6最簡單的C++程序6
1.7內(nèi)存的表示和使用745編輯ppt1.6簡單的C++程序/************************************程序文件:ch1_1.cpp程序功能:在屏幕上輸出Helloworld!作者:XXX創(chuàng)建時間:XX年XX月XX日*************************************/#include<iostream>usingnamespacestd;voidmain(){
cout<<“Helloworld!"<<endl;}注釋編譯預(yù)處理程序主體46編輯ppt1.6簡單的C++程序
“注釋”是程序員為讀者作的說明,用來提高程序的可讀性,C++程序在編譯過程中忽略注釋。1、“//”
用來注釋一行說明,在“//”之后的文字直到換行都為注釋。一般用來對于程序中難懂的代碼進(jìn)行說明。2、
“/*”和“*/”用來注釋一段說明,在“/*”和“*/”之間的部分,不管多長都為注釋。47編輯ppt1.6簡單的C++程序所有以“#”開頭的代碼,稱為編譯預(yù)處理。
例:#include<iostream>每次啟動編譯器時,先運(yùn)行預(yù)處理器,預(yù)處理器找到所有以“#”開頭的代碼行進(jìn)行處理。include是一條預(yù)處理指令,意思是“后面跟的是一個文件名,請找到該文件并將其加入?!眎ostream是系統(tǒng)定義的一個“頭文件”,它設(shè)置了C++的I/O相關(guān)環(huán)境,并定義了輸入輸出流對象cout和cin等。48編輯ppt1.6簡單的C++程序
usingnamespacestd;1998年批準(zhǔn)的標(biāo)準(zhǔn)C++使用namespace命名空間標(biāo)準(zhǔn)。iostream是一個標(biāo)準(zhǔn)函數(shù)庫,cout是標(biāo)準(zhǔn)庫函數(shù)提供的一個對象,標(biāo)準(zhǔn)庫函數(shù)在namespace說明書中被指定為“std”。因此這句代碼的意思是使用標(biāo)準(zhǔn)命名空間std中的函數(shù)。49編輯ppt1.6簡單的C++程序正式的程序從代碼“voidmain()”開始,它包含一個名為main()的函數(shù),也稱為主函數(shù)。每個C++程序有且僅有一個main()函數(shù),程序在開始運(yùn)行時會自動調(diào)用main()函數(shù)。main()前面的void表示函數(shù)的返回值的類型,意味著程序執(zhí)行結(jié)束后無需向操作系統(tǒng)返回。函數(shù):是指能實(shí)現(xiàn)一個或多個功能的代碼塊。50編輯ppt1.6簡單的C++程序
所有的函數(shù)都以左大括號{開始,右大括號}結(jié)束,在大括號{}之間的部分稱為函數(shù)體。
cout<<“Helloworld!”<<endl;
1、cout:標(biāo)準(zhǔn)輸出流對象,2、<<:插入操作符可以連續(xù)使用3、endl:代表換行符意思是使用cout將“<<”后面的內(nèi)容打印在屏幕上。在函數(shù)體的每一句代碼后面都有一個分號“;”表示一個C++語句的結(jié)束。51編輯ppt1.6簡單的C++程序操作步驟1、新建一個工程 1)啟動VC++6.0(或VC2005)2)新建一個項(xiàng)目,選擇“win32控制臺應(yīng)用程序”,空項(xiàng)目3)編寫源程序2、編譯和連接
編譯:compile(Ctrl+F7)
鏈接:Build(F7)3、運(yùn)行使用的命令:Ctrl+F552編輯ppt程序編譯環(huán)境和簡單設(shè)計(jì)及調(diào)試編譯環(huán)境:VC++6.0文件的建立1、工程的建立File---new---projects----win32ConsoleApplication調(diào)試運(yùn)行
2、文件的建立File---new----files---c++sourcefile3、調(diào)試、運(yùn)行53編輯ppt1.1程序設(shè)計(jì)語言的發(fā)展1
1.2面向過程的程序設(shè)計(jì)2
1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)3
1.4C++的誕生4
1.5程序開發(fā)過程5
1.6最簡單的C++程序6
1.7內(nèi)存的表示和使用7第一章C++入門編輯ppt1.7內(nèi)存的抽象表示和使用內(nèi)存的抽象表示每個存儲單元可以存放一個字節(jié)(8bit)數(shù)據(jù),每個內(nèi)存單元有一個唯一的地址。10110010678編輯ppt1.7內(nèi)存的抽象表示和使用操作系統(tǒng)一般會把內(nèi)存劃分區(qū)域來使用,便于管理,比如代碼區(qū)、數(shù)據(jù)區(qū)
等。被編譯成機(jī)器碼的程序在執(zhí)行時就會
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 母嬰用品專業(yè)代購服務(wù)合作協(xié)議
- 遺產(chǎn)糾紛調(diào)節(jié)協(xié)議書
- 裝修公司結(jié)算協(xié)議書
- 銀行承兌抽屜協(xié)議書
- 酒店經(jīng)營合伙協(xié)議書
- 首飾工廠訂購協(xié)議書
- 鄉(xiāng)村黨建宣傳欄協(xié)議書
- 餐廳設(shè)備租售協(xié)議書
- 跳舞團(tuán)隊(duì)免責(zé)協(xié)議書
- 解除勞務(wù)協(xié)議協(xié)議書
- 轉(zhuǎn)讓店鋪輪胎協(xié)議書
- 2025年遼寧省盤錦市中考數(shù)學(xué)二模試卷
- 完整版新修訂《厲行節(jié)約反對浪費(fèi)條例》(課件)
- 貴州國企招聘2025貴州省水利投資(集團(tuán))有限責(zé)任公司招聘84人筆試參考題庫附帶答案詳解
- 【8生 會考】2022-2024年安徽省初中(八年級)中考初二會考生物試卷(3年真題)
- 2025年網(wǎng)絡(luò)與信息安全專業(yè)考試試卷及答案
- 2024年河北承德辰飛供電服務(wù)有限公司招聘真題
- 滬教版八年級化學(xué)(下冊)期末試卷及答案
- DL-T-1878-2018燃煤電廠儲煤場盤點(diǎn)導(dǎo)則
- 小小科學(xué)家《物理》模擬試卷A(附答案)
- 體能科學(xué)訓(xùn)練方法智慧樹知到期末考試答案2024年
評論
0/150
提交評論