版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
c++面向?qū)ο蟪绦蛟O計
課程簡介:學習一門必須熟練掌握的、用來與計算機進行“溝通”、指揮計算機為我們做事情的程序設計語言,是其他多門必修課程的前導課程。主要學習C++語言面向?qū)ο蟛糠值膬?nèi)容,其中包括類、繼承、重載及其應用等。本課程非常重要!一定要下功夫?qū)W好!
1課時安排
本學期:每周上課2課時,上機2課時。總成績100分=平時成績+上機實踐成績+期末筆試成績。
此外,還有分組游戲加分
2教學用書及參考書
教學用書:中國交通出版社,《C++程序設計》,劉麗華編著,
3第1章緒論
1.1程序設計與程序設計語言1.2C++語言概述1.3本書的宗旨和內(nèi)容安排5
1.1程序設計與程序設計語言
1.1.1計算機與程序設計語言1.1.2程序設計語言1.1.3程序設計方法學的發(fā)展1.1.4程序設計范型1.1.5程序設計的4個層次61.1.1計算機與程序設計語言
計算機也許是廿世紀人類帶給廿一世紀的最有價值的禮物,是人類文明歷史上最偉大的發(fā)明之一。
程序(軟件)是計算機的必要組成部分。計算機首先要求人們不斷地在程序設計上付出大量的創(chuàng)造性勞動,然后才能享受到它的服務。程序設計是一件工作量永無止境,極其困難復雜而又富有魅力和創(chuàng)造樂趣的工作。7 低級語言:機器語言與匯編語言計算機剛問世時,它的“能耐”還比較小,只能“看懂”或“理解”程序員用原始的機器指令書寫的所謂機器語言程序。
匯編語言將機器指令映射為一些易于看懂、易于記憶的助記符,如ADD,SUB,MOV等。但若要運行(執(zhí)行)用匯編語言寫成的源程序時,必須先運行一個叫做匯編程序系統(tǒng)(Assembler)的軟件,由它首先把匯編語言源程序轉(zhuǎn)換為具有相同功能的機器指令程序,然后再運行機器指令程序,得到所需的結(jié)果。9高級語言之所以稱其為高級語言,是相對于機器語言與匯編語言來說,編程人員對它們的理解、記憶以及使用都要容易的多。高級語言屏蔽了諸多的機器細節(jié)問題,提高了語言的抽象層次,更加接近于人們的思維方式以及自然語言。
應用較廣泛的幾種高級語言是:FORTRAN、ALGOL、COBOL、BASIC、PASCAL、C、LISP、PROLOG,C++,C#,Java等。10編譯程序系統(tǒng)(Compiler)的作用
與對待匯編語言源程序相同,用高級語言寫成的源程序也不能被計算機去直接執(zhí)行,也必須先運行一個叫做編譯程序系統(tǒng)(Compiler)的軟件,由它首先把高級語言源程序編譯轉(zhuǎn)換為目標程序,然后再經(jīng)過連接而成為具有相同功能的可執(zhí)行程序(機器指令程序),最后再運行該可執(zhí)行程序(機器指令程序),方可得到所需的結(jié)果。111程序設計技術(shù)的初級階段
計算機誕生,vonNeumann模式形成,低級語言編程是主要開發(fā)形式。第一代高級語言(以FORTRAN和ALGOL60為代表)誕生,從低級語言編程轉(zhuǎn)向高級語言編程,可以說是計算機“生產(chǎn)力”的一次解放。這個時期的程序設計技術(shù)重視程序設計技巧,注意節(jié)省內(nèi)存和目標代碼的效率。高級語言的出現(xiàn)使得程序設計的難度降低,導致了計算機應用在五六十年代的發(fā)展進入新的階段。60年代,以大規(guī)模程序頻頻出錯(例如1962年,因軟件出錯導致美國金星探測器水手Ⅱ號衛(wèi)星發(fā)射失敗)為特征的“軟件危機”發(fā)生,引起關(guān)于“Goto語句”的辯論。
132結(jié)構(gòu)程序設計階段
以Pascal語言和C語言為代表,強調(diào)數(shù)據(jù)類型、程序結(jié)構(gòu),程序設計的目標把可靠性、可維護性的要求放在了比高效率更重要的位置上結(jié)構(gòu)程序設計思想的要點是:·注意程序的可讀性·采用自頂向下、逐步求精的設計方法盡可能地使程序運行的動態(tài)結(jié)構(gòu)與程序書寫的靜態(tài)結(jié)構(gòu)相對地比較一致嚴格區(qū)分數(shù)據(jù)類型
面向過程的SP結(jié)構(gòu)化程序設計方法存在著一個主要缺點:數(shù)據(jù)和處理數(shù)據(jù)的操作過程(處理函數(shù))是相互獨立的實體,當數(shù)據(jù)結(jié)構(gòu)改變時,所有相關(guān)的處理過程(函數(shù))都要進行相應的修改,從而使程序的可重用性明顯變差。143面向?qū)ο蟪绦蛟O計階段
80年代,面向?qū)ο蟪绦蛟O計逐漸從理論轉(zhuǎn)向?qū)嵺`,以Smalltalk,C++等語言為代表,程序設計理論步入成熟期。A.Kay研制了Smalltalk語言,B.Stroustrup則開發(fā)了C++語言.OOP方法在90年代的盛行主要有兩個基本的原因:其一是OOP方法從思想上與SP方法相比是抓住了軟件開發(fā)的本質(zhì)和規(guī)律;其二就是計算機所要解決的問題越來越重要,越來越復雜。OOP技術(shù)之所以能適應今天軟件產(chǎn)業(yè)的需要,是因為它比較好地解決了軟件模塊化、信息隱蔽和抽象的目標。15OOP程序設計方法的特點
面向?qū)ο蟪绦蛟O計是要彌補面向過程的SP結(jié)構(gòu)化程序設計方法的缺點,它將數(shù)據(jù)以及對這些數(shù)據(jù)進行操作的方法(處理過程)放在一起,形成一個相互依存、不可分離的整體--對象。通過對事物的抽象找出同一類對象的共同屬性(靜態(tài)特征)和行為(動態(tài)特征),從而形成類。
類是面向?qū)ο蟪绦蛟O計方法中的程序主體,即是說,程序結(jié)構(gòu)將劃分為若干類的基本模塊,類中的大多數(shù)數(shù)據(jù)只能用本類的方法進行處理,以保障程序模塊的獨立性以及數(shù)據(jù)的安全性。類通過一個簡單的公共對外接口與外界發(fā)生聯(lián)系,對象與對象之間通過消息進行通訊。
面向?qū)ο蟪绦蛟O計的三大特征是:封裝性、繼承性、多態(tài)性。17C++語言對面向?qū)ο蠓椒ǖ闹С?/p>
C++語言是一種面向?qū)ο蟮某绦蛟O計語言,它對面向?qū)ο蟮某绦蛟O計方法進行了較全面的支持。
1.支持數(shù)據(jù)封裝
C++語言中的類(class)是支持數(shù)據(jù)封裝的工具。通過類(class)類型對所要處理的問題進行抽象描述,從而將邏輯上相關(guān)的數(shù)據(jù)與函數(shù)進行封裝。18
2.支持繼承性
C++語言允許單繼承和多繼承。所謂多繼承,就是從多個父類(基類)那兒繼承屬性和行為特征。另外,如有必要,派生類還可以生成它自己的派生類。即是說,根據(jù)需要,類之間可形成多層次的派生以及繼承關(guān)系。
3.支持多態(tài)性
允許對函數(shù)和運算符進行重載體現(xiàn)出一種多態(tài)性。通過在基類及其派生類間對虛函數(shù)進行使用體現(xiàn)出另一種多態(tài)性。19
1.1.5程序設計的4個層次
1算法的設計與分析
2程序設計方法學
3程序設計語言
4程序設計環(huán)境與工具211.2C++語言概述
1.2.1為什么選擇C++語言
1.2.2C++語言簡史
1.2.3C++語言的特點22
1.2.1
為什么選擇C++語言
面向?qū)ο蟪绦蛟O計正在逐漸成為主流設計技術(shù)。
OOP技術(shù)并不取代SP和一般的程序設計的技能技巧。由于各大公司的競相開發(fā),C++語言在各種不同機型上都有優(yōu)秀的編譯系統(tǒng)和相關(guān)的環(huán)境與工具。C++語言最可能取代C而成為主流的軟件開發(fā)語言之一。C++語言已成為計算機專業(yè)主要的教學語言。23
1.2.3C++語言特點(1)C++語言是支持面向?qū)ο蟪绦蛟O計的最主要的代表語言之一。封裝和信息隱藏;抽象數(shù)據(jù)類型;繼承和派生;函數(shù)與運算符的重載;模板(2)C++語言是程序員和軟件開發(fā)者在實踐中的創(chuàng)造,無論是語言的各個特征還是整個研制過程,時時處處體現(xiàn)了面向?qū)嵱茫嫦蜍浖_發(fā)者的思想。(3)C++語言是C語言的超集。
25
1.3本書的宗旨及內(nèi)容安排1.3.1講授C++語言的困難1.3.2本書的指導思想1.3.3本書的內(nèi)容安排26
1.3.3本書的內(nèi)容安排可分為四部分:
第一部分由第一章緒論組成,由遠及近地分別介紹程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 有關(guān)幼兒園的小班月工作計劃總結(jié)計劃
- 2024年物流合作保險法律保障詳盡協(xié)議版B版
- 買賣合同錦集六篇
- 2024年營養(yǎng)強化劑項目深度研究分析報告
- 服裝銷售店長工作計劃
- 九年級計劃作文600字
- 家長會發(fā)言稿集錦15篇
- 管理類實習經(jīng)驗報告畢業(yè)生
- 一周工作計劃模板
- 年產(chǎn)12000噸十二烷基苯磺酸鈉(濃縮洗衣粉)提升改造項目環(huán)評報告表
- 理論力學(浙江大學)知到智慧樹章節(jié)答案
- 征信知識測試題及答案
- JJF 1629-2017 烙鐵溫度計校準規(guī)范(高清版)
- 理想系列一體化速印機故障代碼
- 檢驗科各專業(yè)組上崗輪崗培訓考核制度全6頁
- 部編版二年級下冊語文拼音練習
- 工程停止點檢查管理(共17頁)
- 建筑施工危大工程監(jiān)理實施細則
- 六年級上冊數(shù)學單元測試第七單元檢測卷∣蘇教版
- 爬架安裝檢查驗收記錄表1529
- 2021年全國煙草工作會議上的報告
評論
0/150
提交評論