C++面向?qū)ο缶幊陶n件_第1頁
C++面向?qū)ο缶幊陶n件_第2頁
C++面向?qū)ο缶幊陶n件_第3頁
C++面向?qū)ο缶幊陶n件_第4頁
C++面向?qū)ο缶幊陶n件_第5頁
已閱讀5頁,還剩144頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第一講電子信息學(xué)院課程組武漢大學(xué)面向?qū)ο蟪绦蛟O(shè)計.2本講主要內(nèi)容課程簡介計算科學(xué)發(fā)展史 C+概述.3教學(xué)方式教學(xué)安排課程組6位老師輪流給大家上課課程情況課堂教學(xué) 3節(jié)課 * 12周 = 36課時上機安排 4節(jié)課 * 9周 = 36課時.4教學(xué)安排班級地點時間上課教師1班3區(qū)1-413周五7-9顏佳(鄧德祥),趙小紅,王泉德,孫濤2,3班3區(qū)1-303周四3-5趙小紅,劉勇,顏佳4,5班3區(qū)1-410周四3-5孫濤,劉勇,顏佳6,7班3區(qū)1-410周五7-9劉勇,孫濤,王泉德,趙小紅光電信息類3區(qū)1-629周四3-5王泉德,劉勇,顏佳.5上機安排光電信息類 王泉德老師 周六下午 100人電子信

2、息類2-3班 趙小紅老師 周二晚上 100人電子信息類567班 孫濤老師 周三晚上 105人 電子信息類145班 劉勇老師 周四晚上 105人.6考核辦法期末考試期中考試平時平時.7課程的目標(biāo)掌握面向?qū)ο蟪绦虻幕靖拍睢⑻攸c和原理;掌握面向?qū)ο蟪绦蛟O(shè)計思想 ;了解基于Windows環(huán)境下編程的基本知識;學(xué)習(xí)C+程序設(shè)計語言的相關(guān)內(nèi)容,能閱讀編寫C+程序;養(yǎng)成良好的編程習(xí)慣,強調(diào)編程思想;掌握程序設(shè)計技巧和程序設(shè)計能力;可獨立設(shè)計和編寫具有實際應(yīng)用價值的面向?qū)ο蟪绦颉?什么是編程?編程就是讓計算機為解決某個問題而使用某種程序設(shè)計語言編寫程序代碼,并最終得到結(jié)果的過程。為了使計算機能夠理解人的意圖

3、,人類就必須要將需解決的問題的思路、方法、和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務(wù)。這種人和計算機之間交流的過程就是編程。8.什么編程語言電腦每做的一次動作,一個步驟,都是按照已經(jīng)用編程語言編好的程序來執(zhí)行的,程序是計算機要執(zhí)行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的??梢苑殖蓹C器語言、匯編語言、高級語言三大類。9.什么是編譯器編譯器就是將“高級語言”翻譯為“機器語言(低級語言)”的程序。一個現(xiàn)代編譯器的主要工作流程:源代碼 (source code) 預(yù)處理器 (preprocessor) 編譯器 (compiler

4、) 目標(biāo)代碼 (object code) 鏈接器 (Linker) 可執(zhí)行程序 (executables)10.11我們學(xué)什么?C+編程語言?Microsoft Visual Studio開發(fā)環(huán)境?MFC?不只這些!.12一個類比C+VC開發(fā)環(huán)境 學(xué)會這些, 也只是學(xué)會了使用畫筆和畫板兩種工具罷了.13使用相同的工具, 畫出來的東西卻有很大的分別技術(shù)很重要,思想更重要!.14C+&VC2010Java&Eclipse從思想的高度來看待編程時,語言和平臺變?yōu)橐粋€人抒寫想法的載體。.15因此最重要的,還是要學(xué)習(xí)程序設(shè)計的思想。.16前七講的程序控制臺程序:掌握C+基本語法,理解面向?qū)ο缶幊趟枷?,?/p>

5、握面向?qū)ο缶幊谭椒?17第八講之后的程序掌握應(yīng)用程序框架和文檔視圖編程方法.18第八講之后的程序掌握應(yīng)用程序框架和對話框編程。.19第八講之后的程序?qū)W會使用各種控件.20養(yǎng)成良好的編程習(xí)慣寫出讓計算機明白的程序很重要寫出讓人明白的程序更重要.21一個較好的例子.22使用縮進劃分層次使用空行為程序分段.23運算符之間, 逗號之后添加空格 拉開文字間距離, 使程序易讀.24適當(dāng)?shù)淖⑨專f明這一段程序的作用使用有描述性的變量名和函數(shù)名,提示此變量或函數(shù)的作用.25一個不好的例子.26亂七八糟的縮進不知所云的名稱一行語句做了太多事還有注釋去哪兒啦?.27這么寫方便!我就這么寫怎么了!反正上完課這程序也

6、沒用了!.28一年后.29學(xué)長這個題目還不是很清楚能不能把你寫的程序借我參考下呀?jīng)]問題!我的程序當(dāng)年可是0 error!學(xué)妹.30。這到底是要鬧哪樣!.31更多編程規(guī)范可以參考林銳博士的高質(zhì)量C+編程指南的第一到第三章網(wǎng)上就能下載到!.32“偉大的車工值得給他幾倍于普通車工的薪水,但一個偉大的軟件代碼作家,其價值 則要等同于一個普通的軟件寫手的價格的1萬倍。”-比爾蓋茨 .33學(xué)習(xí)態(tài)度和學(xué)習(xí)方法按時上機、上課,不得早退。按時交作業(yè)。課前預(yù)習(xí),課堂筆記,課后的上機,注意循序漸進。以上機操作為主,通過編寫程序來理解概念。練習(xí)書中的例子和每章后的習(xí)題。同學(xué)間交流,和老師的溝通。多查閱MSDN幫助文檔

7、。有效利用網(wǎng)絡(luò)資源,例如:33.34參考書推薦參考書:C+語言基礎(chǔ)類:C+程序設(shè)計教程錢能等.清華大學(xué)出版社C+面向?qū)ο蟪绦蛟O(shè)計譚浩強 .清華大學(xué)出版社C+程序設(shè)計思想 Bruce Eckel.機械工業(yè)出版社C+ Primer 中文版Stanley B.Lippman等.人民郵電出版社Effective C+作者:Scott Meyers.譯者:侯捷.電子工業(yè)出版社Visual C+類:Visual C+ 2008入門經(jīng)典Visual C+ 2012入門經(jīng)典(第六版)清華大學(xué)出版社.35怎樣學(xué)好這門課?請牢記以下十六字真言編程 編程編程編程編程 編程編程編程.36程序設(shè)計的重要性程序設(shè)計對后續(xù)

8、學(xué)習(xí)的作用程序設(shè)計是把自己所學(xué)的東西轉(zhuǎn)為實用的一個重要工具,也是驗證和實現(xiàn)自己想法的一個重要途徑大學(xué)生科研數(shù)學(xué)建模、電子設(shè)計大賽、嵌入式大賽等本科畢業(yè)設(shè)計研究生階段參與科研的必備技能其它大學(xué)生助研興趣愛好移動平臺程序開發(fā)為未來工作準(zhǔn)備的一項技能李仲初陳一舟雷 軍.37幾個iPhone軟件的例子Trism.38幾個iPhone軟件的例子iShoot.39幾個iPhone軟件的例子iSteam.40會說話的湯姆貓:手機寵物類應(yīng)用游戲。英文名稱是Talking Tom Cat。Outfit7公司“會說話”(Talking Friend)系列應(yīng)用的第一款游戲。2010年7月首度在App Store露面

9、,目前下載量已超過4000萬次。平臺系統(tǒng)iOS 4.3.2或Android 2.2以上.41進入下一節(jié).42本講主要內(nèi)容課程簡介計算科學(xué)發(fā)展史 C+概述.43計算機科學(xué)發(fā)展史18世紀(jì), Charles Babbage設(shè)計出了分析機,也是世界上第一臺真正意義上的計算機.44世界上第一位程序員 Ada Byron2012年12月9日,Google用Doodle紀(jì)念A(yù)da Byron誕辰197周年.451946年,賓夕法尼亞大學(xué)的Elkhart和McCauley帶領(lǐng)團隊制造了計算機ENIAC.461971年,第一臺微處理器 Intel4004燈!等燈等燈.47Debug一詞的來歷Grace Murr

10、ay Hopper 計算機程序設(shè)計的先驅(qū)在一次排除計算機故障中,Hopper發(fā)現(xiàn)一只飛蛾剛好短接了計算機的兩個繼電器.48她將這只飛蛾夾在自己的日記中。這只飛蛾成為世界上第一個計算機Bug.49計算機設(shè)備的使用特點硬件是計算機的“軀體”,軟件是計算機的“靈魂”。沒有軟件的支持,就沒有硬件的生命力。計算機硬件系統(tǒng)軟件支撐軟件應(yīng)用軟件.50計算機軟件 軟件的三個要素:程序:能夠讓計算機按照人們的意愿完成各種操作的指令序列;數(shù)據(jù)結(jié)構(gòu):用來組織操作對象;文檔:用來描述程序設(shè)計過程。.51程序設(shè)計 程序設(shè)計往往以某種程序設(shè)計語言為工具,給出這種語言下的程序。程序設(shè)計過程應(yīng)當(dāng)包括分析、設(shè)計、編碼、測試、排

11、錯等不同階段。專業(yè)的程序設(shè)計人員常被稱為程序員。研究一種切實可行的程序設(shè)計方法至關(guān)重要。 .52軟件方法的發(fā)展面向計算機的程序設(shè)計計算機誕生初期,人們與計算機打交道的惟一途徑是機器語言,這是一種可以被計算機直接識別的程序設(shè)計語言,其中的每一條指令和操作數(shù)都是采用二進制形式表示的。缺點:復(fù)雜、易錯、難讀、難糾錯,指令格式與機器相關(guān)。.53軟件方法的發(fā)展面向過程的程序設(shè)計從功能的角度分析問題,將待解決的問題空間分解成若干個功能模塊,每個功能模塊描述一個操作的具體過程。結(jié)構(gòu)化程序設(shè)計是面向過程程序設(shè)計的一個典型代表。.54按照功能劃分的軟件系統(tǒng)結(jié)構(gòu)功能輸入數(shù)據(jù)輸出數(shù)據(jù).55主函數(shù)函數(shù)1函數(shù)3函數(shù)2函

12、數(shù)1-1函數(shù)1-2函數(shù)2-1函數(shù)3-1函數(shù)3-2數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3程序的組成:.56結(jié)構(gòu)化程序設(shè)計形式:程序設(shè)計= 算法 + 數(shù)據(jù)結(jié)構(gòu)程序內(nèi)容= 過程 + 過程調(diào)用 =主模塊 + 若干個子模塊 =main() + 子函數(shù)重點:如何實現(xiàn)細節(jié)過程,將數(shù)據(jù)與函數(shù)分開。特點:自頂向下,逐步求精功能分解。缺點:系統(tǒng)整體性差,審視問題域的視角與常規(guī)不同,抽象級別較低,可重用性差,可維護性欠佳。.57問題:設(shè)計一個學(xué)生成績處理程序,要求輸入一名學(xué)生的姓名和3門課的成績,求出平均成績。 設(shè)計思路:先編寫一個求平均成績的函數(shù);主程序?qū)崿F(xiàn)輸入學(xué)生姓名和課程成績的功能,并調(diào)用函數(shù)計算平均成績。.58#include

13、 using namespace std;float getave(int n, float sc )float ave=0;for(int i=0;iname;/讀入姓名for(int i=0;iscorei;/讀入成績 /輸出平均成績coutname“的平均成績是:”getave(3,score)name;/讀入姓名for(int i=0;iscorei;/讀入成績 /輸出平均成績coutname“的平均成績是:”getave(3,score)endl;#include using namespace std;float getave(int n, float sc )float ave=

14、0;for(int i=0;in;i+)ave=sci+ave;ave=ave/3.0f;return ave;如果要實現(xiàn)多個學(xué)生的成績計算呢?.60#include using namespace std;#define MAXLENGTH 3struct STUchar name12;float scoreMAXLENGTH;float ave;void main()STU s3;int i,j;for(i=0;;si.ave=0;for(j=0;jsi.scorej;si.ave=si.scorej+si.ave;si.ave=si.ave/3.0f;for(i=0;i3

15、;i+)的平均成績是: si.ave endl;如果要增加其他信息和功能呢?比如:學(xué)號,總成績計算等.61.62軟件方法的發(fā)展面向?qū)ο蟮某绦蛟O(shè)計Object-oriented programming, OOP面向?qū)ο蟪绦蛟O(shè)計方法是指用面向?qū)ο蟮姆椒ㄖ笇?dǎo)程序設(shè)計的整個過程。所謂面向?qū)ο笫侵敢詫ο鬄橹行?,分析、設(shè)計及構(gòu)造應(yīng)用程序的機制。數(shù)據(jù)結(jié)構(gòu)本身可能包含算法和數(shù)據(jù)結(jié)構(gòu):對象=(算法+數(shù)據(jù)結(jié)構(gòu)),程序=(對象+對象+).63對象具有的特征萬物皆為對象每個對象都有自己的惟一標(biāo)識對象具有屬性和行為對象具有狀態(tài)對象之間依靠消息實現(xiàn)通信.64構(gòu)成程序的對象數(shù)據(jù)結(jié)構(gòu)算法算法+數(shù)據(jù)結(jié)構(gòu)算

16、法+數(shù)據(jù)結(jié)構(gòu)算法+數(shù)據(jù)結(jié)構(gòu)算法+數(shù)據(jù)結(jié)構(gòu)算法+數(shù)據(jù)結(jié)構(gòu)對象消息.65.66幾種有代表性的OOPLSimula67,支持單繼承、一定含義上的多態(tài)和部分動態(tài)聯(lián)編。Smalltalk,支持單繼承、多態(tài)和動態(tài)聯(lián)編。Eiffel,支持多繼承、多態(tài)和動態(tài)聯(lián)編。C+,支持多繼承、多態(tài)和部分動態(tài)聯(lián)編。Java,提供了類機制,以及有效的接口模型。支持單繼承、多態(tài)和動態(tài)聯(lián)編。科研前沿目前用的最多的要屬Microsoft公司的Visual C+ 6.0(簡稱VC6.0),它是基于Windows窗口規(guī)范的一個C+的具體實現(xiàn)版本。目前版本更新到2013。.672012年2月世界編程語言排行榜:.682013年1月編程語

17、言排行榜榜單 :.692013年11月編程語言排行榜榜單 :.70組件化程序設(shè)計方法所謂組件就是一種可以自行進行內(nèi)部管理的一個或多個類所組成的群體。用戶通過外部界面使用它,而不了解它的內(nèi)部信息和操作方式。每個組件包含一組屬性、事件和方法。繼承并發(fā)展了面向?qū)ο蟮某绦蛟O(shè)計方法。它把對象技術(shù)應(yīng)用于系統(tǒng)設(shè)計,對面向?qū)ο蟪绦蛟O(shè)計的實現(xiàn)過程作了進一步的抽象??梢园呀M件化程序設(shè)計方法用作構(gòu)造系統(tǒng)的體系結(jié)構(gòu)層次的方法,并且可以使用面向?qū)ο蟮姆椒ê芊奖愕貙崿F(xiàn)組件。軟件方法的發(fā)展.71嵌入式程序設(shè)計嵌入式產(chǎn)品的核心是嵌入式計算機的應(yīng)用。嵌入式計算機是一種智能部件內(nèi)置于專用設(shè)備/系統(tǒng)的高速計算機。嵌入式系統(tǒng)是以應(yīng)用

18、為中心,適用于應(yīng)用系統(tǒng)對于功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機系統(tǒng)。軟件方法的發(fā)展.72進入下一節(jié).73本講主要內(nèi)容課程簡介計算科學(xué)發(fā)展史 C+概述.74C+語言的產(chǎn)生C+是從C語言發(fā)展演變而來的-是一個更好的C。引入了類的機制-最初的C+被稱為“帶類的C”。1983年正式取名為C+。從1989年開始C+語言的標(biāo)準(zhǔn)化工作。于1994年制定了ANSI C+標(biāo)準(zhǔn)草案。于1998年11月被國際標(biāo)準(zhǔn)化組織(ISO)批準(zhǔn)為國際標(biāo)準(zhǔn),成為目前的C+。目前的標(biāo)準(zhǔn)版本為C+11。.75C+語言的三個階段第一階段從80年代到1995年。這一階段C+語言基本上是傳統(tǒng)類型上的面向?qū)ο笳Z言,并且憑借著

19、接近C語言的效率,在工業(yè)界使用的開發(fā)語言中占據(jù)了相當(dāng)大份額; 第二階段從1995年到2000年,這一階段由于標(biāo)準(zhǔn)模板庫(STL)和后來的Boost等程序庫的出現(xiàn),泛型程序設(shè)計在C+中占據(jù)了越來越多的比重性。當(dāng)然,同時由于Java、C#等語言的出現(xiàn)和硬件價格的大規(guī)模下降,C+受到了一定的沖擊; 第三階段從2000年至今,由于以Loki、MPL等程序庫為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C+出現(xiàn)了發(fā)展歷史上又一個新的高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使C+已經(jīng)成為當(dāng)今主流程序設(shè)計語言中最復(fù)雜的一員。 .76C+語言的組成C子語言。C+支持C語言的幾乎全部功能,主要是c89的部分,在語法

20、上與C語言僅有極微妙的差別(如括號表達式的左右值性,具體請參考C+標(biāo)準(zhǔn)文獻)。 面向?qū)ο蟮腃+語言。C+語言原本不具備面向?qū)ο蟮脑O(shè)計功能,然而隨著面向?qū)ο缶幊痰母拍畹奶岢鲆约叭鏙ava等語言的發(fā)展成熟,C+語言也開發(fā)出了支持面向?qū)ο蠊δ艿陌姹? 泛型編程語言。C+強大(但容易失控的)模板功能使它能在編譯期完成許多工作,從而大大提高運行期效率。 STL(C+標(biāo)準(zhǔn)模板庫,Standard Template Library)。隨著STL的不斷發(fā)展,它已經(jīng)逐漸成為C+程序設(shè)計中不可或缺的部分,其效率可能比一般的native代碼低些,但是其安全性與規(guī)范性使它大受歡迎。 .77著名演講視頻,演講者:Exc

21、eptional C+ 和 C+ Coding Standards 的作者、ISO C+ 委員會的Chair、C+/CLI首席架構(gòu)師、Microsoft的軟件架構(gòu)師, Herb Sutter 。/v_show/id_XMzA5OTIwODIw.htmlWhy C+.78效率、靈活、抽象、生產(chǎn)率.79C+開發(fā)環(huán)境Visual Studio(Visual C+)BorlandC+ BuilderEclipse+CDTEmacs + GCC(Linux環(huán)境下用)Dev-C+Qt等.80全面兼容C它保持了C的簡潔、高效和接近匯編語言等特點,具有良好的移植性在繼承了C語言豐富的運算符和數(shù)據(jù)類型的基礎(chǔ)上,

22、對C的類型系統(tǒng)進行了改革和擴充C+也支持面向過程的程序設(shè)計,不是一個純正的面向?qū)ο蟮恼Z言支持面向?qū)ο蟮姆椒–+的錯誤檢查機制強,提供了專門的機制檢查類和異常處理功能C+的主要特點.81C+程序與C程序/C程序: simple.c#include void main(void) printf( Hello World !n ) ; / 輸出字符串運行結(jié)果:Hello World!.82/C+程序:simple.cpp# include int main() std:cout Hello, world! std:endl; return 0;運行結(jié)果:Hello World!C+程序與C程序.83

23、或者/C+程序:simple.cpp# include using namespace std; int main() cout Hello, world! endl; return 0;C+程序與C程序.84根據(jù)ISO C+的規(guī)定,全局main函數(shù)必須返回int,下面寫法是合法的。int main() / . int main(int argc, char * argv) / . 但是Visual C+支持下面的寫法(盡量不要這么寫)void main() / . C+全局函數(shù).85C+程序與C程序的比較C+程序與C程序的結(jié)構(gòu)完全相同。C源程序文件的擴展名為C;C+源程序文件的擴展名為CPP

24、。C程序所包含的標(biāo)準(zhǔn)輸入、輸出的頭文件是stdio.h,輸入、輸出通常通過調(diào)用函數(shù)來完成;而C+程序可以包含標(biāo)準(zhǔn)輸入、輸出流的頭文件iostream.h,輸入、輸出可以通過使用標(biāo)準(zhǔn)輸入、輸出流對象來完成。.86C+程序與C程序的比較(續(xù))從機制上:c是面向過程的;c+除了支持面向過程,還支持面向?qū)ο螅峁┝祟?。從適用的方向:c適合要求代碼體積小的,效率高的場合;c+適合更上層的,復(fù)雜的。C語言是結(jié)構(gòu)化編程語言,C+是面向?qū)ο缶幊陶Z言。C+側(cè)重于對象而不是過程,側(cè)重于類的設(shè)計而不是邏輯的設(shè)計。.87CC+C語言是面向過程的C+是面向?qū)ο蟮?88他們的區(qū)別是什么呢?讓我們以刷牙為例.89C面向過程

25、是這樣思考的把牙膏擠在牙刷上把牙刷放在嘴里上移下移左移右移把牙刷拿出來漱口.90面向?qū)ο笫沁@樣思考的C+牙膏牙刷水杯手人獲取使用使用使用.91那么面向?qū)ο笥惺裁磧?yōu)勢呢?假如有一天,牙刷被換成了電動牙刷。.92C把牙膏擠在電動牙刷上把電動牙刷放在嘴里上移下移左移右移把電動牙刷拿出來漱口程序要重寫!對于面向過程的程序.93C+牙膏電動牙刷水杯手人獲取使用使用使用把牙刷這個對象換成電動牙刷就可以了!對于面向?qū)ο蟮某绦?94學(xué)習(xí)C+,依然要使用C語言的語法基礎(chǔ)但是思維上一定要從C語言的思想轉(zhuǎn)變到C+的思想上來.95C+程序基本結(jié)構(gòu)一個C+程序可以由多個函數(shù)構(gòu)成;每個程序都從主函數(shù)main()開始執(zhí)行,

26、從主函數(shù)返回時結(jié)束執(zhí)行;組成程序的語句主要包括聲明語句和執(zhí)行語句; 聲明語句用于聲明變量和函數(shù)。變量聲明語句說明變量的名稱和數(shù)據(jù)類型,函數(shù)聲明語句說明函數(shù)的名稱、參數(shù)類型和返回值; 執(zhí)行語句包括:賦值語句、表達式語句、函數(shù)調(diào)用語句和流程控制語句等,它們寫在一個函數(shù)中(包括主函數(shù))。.96#include using namespace std;int main()int math, chem, phy, ave;coutmathchemphy;ave=(math+chem+phy)/3.0+0.5;/ 0.5用于四舍五入if (ave=90)/ 使用ifelse if語句coutExcelle

27、nt=60 & ave90)coutPassendl;elsecoutFail”流提取運算符或“”流插入運算符,分別將數(shù)據(jù)對象從輸入流提取出來或插入到輸出流,從而完成數(shù)據(jù)的輸入和輸出。 使用C+面向流的輸入、輸出方式提高了程序的可讀性,減少了錯誤的發(fā)生。C+對C的一般擴充.100#include / 使用輸入、輸出流using namespace std;int main(int argc, char * argv) coutxyz ; / 從鍵盤讀取數(shù)據(jù)給變量coutThe sum is x+y+z)配合使用。讀入用戶輸入的數(shù)據(jù)。從鍵盤讀取整數(shù)int v1,v2; std: cinv1v2;

28、從鍵盤讀取浮點數(shù) int v1=0,v2=0; double t=0.0;std: cinv1tv2;從鍵盤輸入.103cout:標(biāo)準(zhǔn)輸出與輸出操作符()配合使用,在標(biāo)準(zhǔn)輸出上輸出信息。例如:cout“enter two numbers”endl;操縱符endl將它寫入輸出流時,具有輸出換行的效果,并刷新與設(shè)備相關(guān)聯(lián)的緩沖區(qū)。通過刷新緩沖區(qū),用戶可立即看到寫入到流中的輸出。到命令行的輸出.104舉例: #include using std:cout;using std:endl;int main() int num1=1234,num2=567;coutendl;coutnum1num2;co

29、utendl;return 0;.105coutnum1num2;換成coutnum1“ “num2;使用操作符#include #include using namespace std;int main() int num1=1234,num2=567;coutendl;coutsetw(6)num1setw(6)num2endl;return 0;格式化輸出.106轉(zhuǎn)義序列轉(zhuǎn)義序列作用轉(zhuǎn)義序列作用a發(fā)出蜂鳴聲b退格n換行t制表符單引號”雙引號反斜杠?問號.107n與endl的區(qū)別n表示的是換行符,起單純的換行作用(只提供一個換行符);endl是一個預(yù)定義的iostream操縱符,endl在

30、輸出流中插入一個換行符,然后刷新輸出緩沖區(qū)。.VC+開發(fā)環(huán)境108.項 目項目是構(gòu)成某個程序的全部組件的容器,該程序可能是控制臺程序、基于窗口的程序或其他別的程序。程序通常由一個或多個包含用戶代碼的源文件,可能還要加上其他包含輔助數(shù)據(jù)的文件組成。某個項目的所有文件都存儲在相應(yīng)的項目文件夾中,關(guān)于該項目的詳細信息存儲在一個擴展名為.vcproj的XML文件中,該文件同樣存儲在相應(yīng)的項目文件夾中。項目文件夾還包含其他文件夾,用來存儲編譯和連接項目時所產(chǎn)生的輸出。109.解決方案解決方案是一種將所有程序和其他資源聚集到一起的機制。一個或多個項目文件夾是解決方案文件夾的子文件夾。在創(chuàng)建某個項目時,如果

31、沒選擇將該項目添加到現(xiàn)有的解決方案,那么系統(tǒng)將自動創(chuàng)建一個新的解決方案。當(dāng)創(chuàng)建項目及解決方案時,可以將更多項目添加到同一個解決方案中。一般來說,各個項目都應(yīng)該有自己的解決方案。110.啟動 vs2010開始菜單所有程序找到文件夾 Microsoft Visual Studio 2010找到程序 Microsoft Visual Studio 2010運行該命令一、Visual Studio 2010 圖形界面111.啟動界面112.主菜單: File NewProject或者使用快捷鍵:Ctrl+Shift+N即同時按住:Ctrl, Shift 和字母N三個鍵新建工程113.控制臺應(yīng)用程序即使

32、簡單的windows程序中也有大量代碼,而學(xué)習(xí)C+細節(jié)時不被windows的復(fù)雜性分散注意力非常重要??刂婆_程序基本上是基于字符的命令行應(yīng)用程序。在前面三章的學(xué)習(xí)中,我們討論的是win32控制臺應(yīng)用程序。114.試一試:為Win32控制臺程序創(chuàng)建項目115.新建項目116在彈出的對話框中,選擇:Vsual C+,Win32Win32 Console App取一個項目名字,例如ex1_01選擇項目放置的目錄,例如C:myc點擊OK按鈕,創(chuàng)建項目.創(chuàng)建項目之后,彈出新的對話框點擊Application Settings按鈕,進行設(shè)置新建項目117.新建項目選擇默認選項,然后點擊Finish按鈕11

33、8.新建項目119左邊欄是工程文件的樹狀瀏覽器SourceFiles節(jié)點中放置c/c+源程序項目創(chuàng)建完成可以開始軟件開發(fā)了.項目中包含的文件120.添加代碼121.主菜單:BuildBuild Solution或者組合快捷鍵:Ctrl+Alt+F7編譯+鏈接錯誤信息輸出窗口122.程序的Debug版本和Release版本Vc+自動創(chuàng)建可產(chǎn)生兩種應(yīng)用程序版本的配置:一種稱為Debug版本,該版本包括幫助用戶調(diào)試程序的信息。使用程序的Debug版本,可以在出現(xiàn)問題時單步執(zhí)行代碼,以檢查程序中的數(shù)據(jù)值。另一種稱為Release版本,它不包括調(diào)試信息,并打開了編譯器的代碼優(yōu)化選項,以提供最高效的可之行

34、模塊。123.試一試:創(chuàng)建空控制臺項目124.在彈出的對話框中,選擇:Vsual C+,Win32Win32 Console App取一個項目名字,例如test選擇項目放置的目錄,例如C:myc點擊OK按鈕,創(chuàng)建項目新建項目125.創(chuàng)建項目之后,彈出新的對話框點擊Application Settings按鈕,進行設(shè)置新建項目126.如紅框所示:先取消Precompiled header前的勾勾然后在Empty project前面打勾最后點擊Finish按鈕新建項目127.左邊欄是項目文件的樹狀瀏覽器SourceFiles節(jié)點中放置c/c+源程序項目test創(chuàng)建完成可以開始軟件開發(fā)了128.主菜單:ProjectAdd New Item或者使用組合快捷鍵:Ctrl+Shift+A 在項目中創(chuàng)建新的源程序129.在彈出的對話框中,選擇 C+ Fil

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論