《c 程序設計基礎》第一章-c 初步_第1頁
《c 程序設計基礎》第一章-c 初步_第2頁
《c 程序設計基礎》第一章-c 初步_第3頁
《c 程序設計基礎》第一章-c 初步_第4頁
《c 程序設計基礎》第一章-c 初步_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C++程序設計基礎第1章C++初步北京郵電大學信通院方莉mrs.fangli@

第一章C++入門C++語言是一門優(yōu)秀的程序設計語言,在計算機科學領域中有著廣泛的應用。本章學習:C++語言的發(fā)展史開發(fā)C++程序的步驟第一個C++程序2編輯ppt第一章C++入門1.1程序設計語言的發(fā)展1

1.2面向過程的程序設計2

1.3面向?qū)ο蟮某绦蛟O計3

1.4C++的誕生4

1.5程序開發(fā)過程5

1.6最簡單的C++程序6

1.7內(nèi)存的表示和使用73編輯ppt第一章C++入門1.1程序設計語言的發(fā)展1

1.2面向過程的程序設計2

1.3面向?qū)ο蟮某绦蛟O計3

1.4C++的誕生4

1.5程序開發(fā)過程5

1.6最簡單的C++程序6

1.7內(nèi)存的表示和使用74編輯ppt1.1程序設計語言的發(fā)展計算機程序計算機的工作是用程序來控制的;程序是指令的集合;指令是計算機可以識別的命令。編輯ppt1.1程序設計語言的發(fā)展機器語言簡單的“0”和“1”的組合,與硬件相關。匯編語言

將機器語言映射為一些可以被人們讀懂的助記符,如“ADD”、“SUB”等,與硬件相關。高級語言接近自然語言,與硬件無關。6編輯ppt1.1程序設計語言的發(fā)展高級語言:1、面向過程的語言

BASIC、PASCAL、C2、面向?qū)ο蟮恼Z言

C++、JAVA7編輯ppt1.1程序設計語言的發(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程序設計語言的發(fā)展1

1.2面向過程的程序設計2

1.3面向?qū)ο蟮某绦蛟O計3

1.4C++的誕生4

1.5程序開發(fā)過程5

1.6最簡單的C++程序6

1.7內(nèi)存的表示和使用79編輯ppt101.2面向過程的程序設計程序的目的:用于數(shù)學計算主要工作:設計求解問題的過程缺點:對于龐大、復雜的程序難以開發(fā)和維護編輯ppt111.2面向過程的程序設計主要設計思路自頂向下,逐步求精。采用模塊分解與功能抽象,自頂向下、分而治之。一個計算機程序可以看成是由一系列任務組成的,任何一項任務如果過于復雜就將其分解成一系列較小的子任務,直至每一項任務都很小,很容易解決。編輯ppt121.2面向過程的程序設計程序結構按功能劃分為若干個基本模塊,形成一個樹狀結構。各模塊間的關系盡可能簡單,功能上相對獨立;每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結構組成。其模塊化實現(xiàn)的具體方法是使用子程序。模塊采用單入單出。編輯ppt13計算每門課的平均成績多少門課學生人數(shù)每門課總分每門課總分/學生人數(shù)選課學生檔案每個學生該門課的成績累加選擇一門課選課的學生讀數(shù)據(jù)1.2面向過程的程序設計編輯ppt141.2面向過程的程序設計基本結構1、順序2、分支3、循環(huán)編輯ppt1.2面向過程的程序設計優(yōu)點:有效地將一個較復雜的程序系統(tǒng)設計任務分解成許多易于控制和處理的子任務,便于開發(fā)和維護。編輯ppt161.2面向過程的程序設計缺點:可重用性差、數(shù)據(jù)安全性差、難以開發(fā)大型軟件和圖形界面的應用軟件結構化編程將數(shù)據(jù)和過程相分離;當數(shù)據(jù)結構改變時,所有相關的處理過程都要進行相應的修改。結構化編程對代碼重用支持不夠。每一種相對于老問題的新方法都要帶來額外的開銷。圖形用戶界面的應用程序,很難用過程來描述和實現(xiàn),開發(fā)和維護也都很困難。編輯ppt第一章C++入門1.1程序設計語言的發(fā)展1

1.2面向過程的程序設計2

1.3面向?qū)ο蟮某绦蛟O計3

1.4C++的誕生4

1.5程序開發(fā)過程5

1.6最簡單的C++程序6

1.7內(nèi)存的表示和使用717編輯ppt1.3面向?qū)ο蟮某绦蛟O計面向?qū)ο蟮某绦蛟O計將數(shù)據(jù)和處理數(shù)據(jù)的過程當成一個整體—對象。

1)封裝由對象的概念支持。只需知道外部接口,不需知道內(nèi)部實現(xiàn),就可以使用的特性。2)繼承由類的概念支持。利用已有的成果進行擴展,充分體現(xiàn)了代碼重用。3)多態(tài)運行時特性。18編輯ppt1.3面向?qū)ο蟮某绦蛟O計將數(shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一起,作為一個相互依存、不可分離的整體——對象。對同類型對象抽象出其共性,形成類。類通過一個簡單的外部接口,與外界發(fā)生關系。對象與對象之間通過消息進行通訊。特性:封裝性、繼承性、多態(tài)性編輯ppt1.3面向?qū)ο蟮某绦蛟O計優(yōu)點:程序模塊間的關系更為簡單,程序模塊的獨立性、數(shù)據(jù)的安全性就有了良好的保障。通過繼承與多態(tài)性,可以大大提高程序的可重用性,使得軟件的開發(fā)和維護都更為方便。編輯ppt1.3面向?qū)ο蟮某绦蛟O計一般意義上的對象:是現(xiàn)實世界中一個實際存在的事物??梢允怯行蔚模ū热缫惠v汽車),也可以是無形的(比如一項計劃)。是構成世界的一個獨立單位,具有:靜態(tài)特征:可以用某種數(shù)據(jù)來描述動態(tài)特征:對象所表現(xiàn)的行為或具有的功能編輯ppt1.3面向?qū)ο蟮某绦蛟O計面向?qū)ο蠓椒ㄖ械膶ο螅菏窍到y(tǒng)中用來描述客觀事物的一個實體,它是用來構成系統(tǒng)的一個基本單位。對象由一組屬性和一組行為構成。屬性:用來描述對象靜態(tài)特征的數(shù)據(jù)項。行為:用來描述對象動態(tài)特征的操作序列。編輯ppt1.3面向?qū)ο蟮某绦蛟O計分類—人類通常的思維方法分類所依據(jù)的原則——抽象忽略事物的非本質(zhì)特征,只注意那些與當前目標有關的本質(zhì)特征,從而找出事物的共性,把具有共同性質(zhì)的事物劃分為一類,得出一個抽象的概念。例如,石頭、樹木、汽車、房屋等都是人們在長期的生產(chǎn)和生活實踐中抽象出的概念。編輯ppt1.3面向?qū)ο蟮某绦蛟O計面向?qū)ο蠓椒ㄖ械?類"具有相同屬性和服務的一組對象的集合為屬于該類的全部對象提供了抽象的描述,包括屬性和行為兩個主要部分。類與對象的關系:猶如模具與鑄件之間的關系,一個屬于某類的對象稱為該類的一個實例。編輯ppt1.3面向?qū)ο蟮某绦蛟O計封裝把對象的屬性和服務結合成一個獨立的系統(tǒng)單元。盡可能隱蔽對象的內(nèi)部細節(jié)。對外形成一個邊界(或者說一道屏障),只保留有限的對外接口使之與外部發(fā)生聯(lián)系。編輯ppt1.3面向?qū)ο蟮某绦蛟O計繼承繼承對于軟件復用有著重要意義,是面向?qū)ο蠹夹g能夠提高軟件開發(fā)效率的重要原因之一。定義:特殊類的對象擁有其一般類的全部屬性與服務,稱作特殊類對一般類的繼承。例如:將輪船作為一個一般類,客輪便是一個特殊類。編輯ppt1.3面向?qū)ο蟮某绦蛟O計多態(tài)指在一般類中定義的屬性或行為,被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個屬性或行為在一般類及其各個特殊類中具有不同的語義。例如:數(shù)的加法->實數(shù)的加法

->復數(shù)的加法編輯ppt1.3面向?qū)ο蟮某绦蛟O計面向?qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒ㄔ谲浖こ填I域的全面應用。它包括:面向?qū)ο蟮姆治觯∣OA)面向?qū)ο蟮脑O計(OOD)面向?qū)ο蟮木幊蹋∣OP)面向?qū)ο蟮臏y試(OOT)面向?qū)ο蟮能浖S護(OOSM)編輯ppt第一章C++入門1.1程序設計語言的發(fā)展1

1.2面向過程的程序設計2

1.3面向?qū)ο蟮某绦蛟O計3

1.4C++的誕生4

1.5程序開發(fā)過程5

1.6最簡單的C++程序6

1.7內(nèi)存的表示和使用729編輯ppt1.4C++的誕生C++語言從C語言的基礎上發(fā)展起來的。

C語言歷史:1、貝爾實驗室的DennisRitchie開發(fā)2、在B語言的基礎3、作為Unix操作系統(tǒng)的開發(fā)語言優(yōu)點:1、與硬件無關2、設計嚴謹30編輯ppt1.4C++的誕生1978年,BrianKernighan與DennisRitchie出版了《TheCProgrammingLanguage》是最早的經(jīng)典傳統(tǒng)C語言的書,很薄,只有兩百多頁,所以這本C語言的圣經(jīng)又稱`K&R“。當時很快出現(xiàn)了多個不兼容的C語言版本,因此需要制訂一種標準C。所以1988年,第二版《TheCProgrammingLanguage》,是最經(jīng)典的標準C的書籍。31編輯ppt1.4C++的誕生C語言之父DennisRitchieTheCProgrammingLanguage32編輯ppt1.4C++的誕生C語言是一門面向過程的程序語言優(yōu)點:1、豐富的運算符和數(shù)據(jù)類型;2、可直接訪問內(nèi)存3、程序運行效率高4、可移植性好缺點:1、類型檢查機制較弱,許多錯誤編譯時不能發(fā)現(xiàn);2、不支持代碼重用;3、對于大規(guī)模程序,很難控制程序的復雜性。33編輯ppt1.4C++的誕生

C++語言的優(yōu)點:

1、簡化程序復雜性2、促進代碼重用3、使用先進的面向?qū)ο蠹夹gBjarne出版了的經(jīng)典C++著作《TheC++ProgrammingLanguage》,1991年第2版,1997年第3版,2000年特別版,他被譽為C++之父。

34編輯ppt1.4C++的誕生

C++之父BjarnestroustrupTheC++ProgrammingLanguage35編輯pptBjarne語錄1.不用害怕,一切都會隨著時間的推移而逐漸明朗起來。

2.你并不需要在知道了C++的所有細節(jié)之后才能寫出好的C++程序。

3.請?zhí)貏e關注程序設計技術,而不是各種語言特征。

36編輯ppt1.4C++的誕生C++語言是從C語言發(fā)展演變而來。C++包含了整個C,C是建立C++的基礎。C++包含C的所有特征、屬性、優(yōu)缺點,并添加了面向?qū)ο蟮闹С?。C++語言C語言面向?qū)ο?7編輯ppt第一章C++入門1.1程序設計語言的發(fā)展1

1.2面向過程的程序設計2

1.3面向?qū)ο蟮某绦蛟O計3

1.4C++的誕生4

1.5程序開發(fā)過程5

1.6最簡單的C++程序6

1.7內(nèi)存的表示和使用738編輯ppt1.5程序開發(fā)過程基本術語

源程序用源語言寫的,有待翻譯的程序目標程序也稱為“結果程序”,是源程序通過翻譯程序加工以后所生成的程序??蓤?zhí)行程序目標程序和所用的其他資源進行鏈接,生成的可以直接運行的程序。翻譯程序:指一個把源程序翻譯成等價的目標程序的工具。編輯ppt1.5程序開發(fā)過程三種不同類型的翻譯程序匯編程序把用匯編語言寫成的源程序,翻譯成機器語言形式的目標程序。編譯程序若源程序是用高級程序設計語言所寫,經(jīng)翻譯程序加工生成目標程序,那么,該翻譯程序就稱為"編譯程序"。編輯ppt1.5程序開發(fā)過程三種不同類型的翻譯程序解釋程序這也是一種翻譯程序,同樣是將高級語言源程序翻譯成機器指令。它與編譯程序不同點就在于:它是邊翻譯邊執(zhí)行的,即輸入一句、翻譯一句、執(zhí)行一句,直至將整個源程序翻譯并執(zhí)行完畢。編輯ppt1.5程序開發(fā)過程基本術語

鏈接程序?qū)R編程序或目標程序與所需的其他資源進行鏈接,生成可執(zhí)行文件的程序。編輯ppt1.5程序開發(fā)過程源程序:.cppcompile(Ctrl+F7)目標程序:.objBuild(F7)可執(zhí)行程序:.exe43編輯ppt1.5程序開發(fā)過程編輯將源程序輸入到計算機中,生成后綴為cpp的磁盤文件。編譯將程序的源代碼轉(zhuǎn)換為機器語言代碼。鏈接將多個源程序文件以及庫中的某些文件連在一起,生成一個后綴為exe的可執(zhí)行文件。運行調(diào)試編輯ppt第一章C++入門1.1程序設計語言的發(fā)展1

1.2面向過程的程序設計2

1.3面向?qū)ο蟮某绦蛟O計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;}注釋編譯預處理程序主體46編輯ppt1.6簡單的C++程序

“注釋”是程序員為讀者作的說明,用來提高程序的可讀性,C++程序在編譯過程中忽略注釋。1、“//”

用來注釋一行說明,在“//”之后的文字直到換行都為注釋。一般用來對于程序中難懂的代碼進行說明。2、

“/*”和“*/”用來注釋一段說明,在“/*”和“*/”之間的部分,不管多長都為注釋。47編輯ppt1.6簡單的C++程序所有以“#”開頭的代碼,稱為編譯預處理。

例:#include<iostream>每次啟動編譯器時,先運行預處理器,預處理器找到所有以“#”開頭的代碼行進行處理。include是一條預處理指令,意思是“后面跟的是一個文件名,請找到該文件并將其加入?!眎ostream是系統(tǒng)定義的一個“頭文件”,它設置了C++的I/O相關環(huán)境,并定義了輸入輸出流對象cout和cin等。48編輯ppt1.6簡單的C++程序

usingnamespacestd;1998年批準的標準C++使用namespace命名空間標準。iostream是一個標準函數(shù)庫,cout是標準庫函數(shù)提供的一個對象,標準庫函數(shù)在namespace說明書中被指定為“std”。因此這句代碼的意思是使用標準命名空間std中的函數(shù)。49編輯ppt1.6簡單的C++程序正式的程序從代碼“voidmain()”開始,它包含一個名為main()的函數(shù),也稱為主函數(shù)。每個C++程序有且僅有一個main()函數(shù),程序在開始運行時會自動調(diào)用main()函數(shù)。main()前面的void表示函數(shù)的返回值的類型,意味著程序執(zhí)行結束后無需向操作系統(tǒng)返回。函數(shù):是指能實現(xiàn)一個或多個功能的代碼塊。50編輯ppt1.6簡單的C++程序

所有的函數(shù)都以左大括號{開始,右大括號}結束,在大括號{}之間的部分稱為函數(shù)體。

cout<<“Helloworld!”<<endl;

1、cout:標準輸出流對象,2、<<:插入操作符可以連續(xù)使用3、endl:代表換行符意思是使用cout將“<<”后面的內(nèi)容打印在屏幕上。在函數(shù)體的每一句代碼后面都有一個分號“;”表示一個C++語句的結束。51編輯ppt1.6簡單的C++程序操作步驟1、新建一個工程 1)啟動VC++6.0(或VC2005)2)新建一個項目,選擇“win32控制臺應用程序”,空項目3)編寫源程序2、編譯和連接

編譯:compile(Ctrl+F7)

鏈接:Build(F7)3、運行使用的命令:Ctrl+F552編輯ppt程序編譯環(huán)境和簡單設計及調(diào)試編譯環(huán)境:VC++6.0文件的建立1、工程的建立File---new---projects----win32ConsoleApplication調(diào)試運行

2、文件的建立File---new----files---c++sourcefile3、調(diào)試、運行53編輯ppt1.1程序設計語言的發(fā)展1

1.2面向過程的程序設計2

1.3面向?qū)ο蟮某绦蛟O計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ū)

等。被編譯成機器碼的程序在執(zhí)行時就會

溫馨提示

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

最新文檔

評論

0/150

提交評論