課件-第01章編程簡(jiǎn)介_(kāi)第1頁(yè)
課件-第01章編程簡(jiǎn)介_(kāi)第2頁(yè)
課件-第01章編程簡(jiǎn)介_(kāi)第3頁(yè)
課件-第01章編程簡(jiǎn)介_(kāi)第4頁(yè)
課件-第01章編程簡(jiǎn)介_(kāi)第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

關(guān)于C++語(yǔ)言課程與C語(yǔ)言的關(guān)系是從C語(yǔ)言發(fā)展演變擴(kuò)充而來(lái),是“帶類(lèi)的”更好的C。C是C++的一個(gè)子集,C語(yǔ)言程序不加修改可以在C++編譯器中編譯。因此,C++既可以C語(yǔ)言為基礎(chǔ),也可以單獨(dú)學(xué)習(xí)。C++與Java和C#C++是Java和C#的始祖。Java和C#是C++的子集與簡(jiǎn)化因此,學(xué)習(xí)C++后學(xué)習(xí)Java與C#會(huì)事半工倍、倍感輕松。

與《數(shù)據(jù)結(jié)構(gòu)》課程的關(guān)系C、Java、C++均為數(shù)據(jù)結(jié)構(gòu)的描述語(yǔ)言,其中C++是最完善的描述語(yǔ)言。因此,C++是作為《數(shù)據(jù)結(jié)構(gòu)》基礎(chǔ)的最佳課程。C++與Windows程序設(shè)計(jì)課程在C++中重點(diǎn)講述面向?qū)ο蟮母拍?這些概念是進(jìn)行Windows程序設(shè)計(jì)的基礎(chǔ)。在C++課程中,重點(diǎn)不涉及Windows可視化編程以及各種類(lèi)庫(kù)的使用如MFC。如何學(xué)好C++能細(xì)能粗在面向過(guò)程編程部分,對(duì)數(shù)據(jù)類(lèi)型、運(yùn)算符、語(yǔ)句等要注重細(xì)節(jié)。做到細(xì)致掌握。在面向?qū)ο蟛糠种卦趯?duì)概念的掌握,對(duì)每個(gè)概念回答是什么?為什么?如何?這三個(gè)問(wèn)題。做到掌握思想。重視實(shí)踐和學(xué)好所有編程語(yǔ)言一樣,做到“上機(jī)、上機(jī)、再上機(jī)”。利用資源利用網(wǎng)絡(luò)資源進(jìn)行學(xué)習(xí)、交流、答疑。如清華大學(xué)的BBS站的C++學(xué)習(xí)園地上有大量的帖子。地址:csdn上的C/C++論壇如何學(xué)好C++帖子舉例1C++學(xué)習(xí)心得Part1發(fā)信站:BBS水木清華站(WedFeb200:01:122005),站內(nèi)※C++的優(yōu)缺點(diǎn)╱C++是個(gè)「難學(xué)易用」的語(yǔ)言很多人說(shuō)C++難,又難學(xué),又難用;但我個(gè)人認(rèn)為,C++是個(gè)「難學(xué)易用」的語(yǔ)言(引自臺(tái)灣技術(shù)作家jjhou的說(shuō)法,因?yàn)槲业暮芏郈++知識(shí)都是從他的譯作中獲得的)「難學(xué)」這一點(diǎn),無(wú)須贅言;即使是著名的C++大師,亦從不諱言,C++比其他語(yǔ)言復(fù)雜得多?!敢子谩惯@點(diǎn),對(duì)C++高手來(lái)說(shuō),該是不成問(wèn)題的。但對(duì)許多半生不熟的C++初學(xué)者(或雖然學(xué)了不少時(shí)間,但沒(méi)有深入到它的各個(gè)層面的人),大概會(huì)覺(jué)得難以接受。不過(guò),個(gè)人的經(jīng)驗(yàn),我?guī)缀趺刻於荚谑褂肅++,大部份的時(shí)間,我感覺(jué)寫(xiě)C++代碼比寫(xiě)B(tài)asic代碼更輕松愉快;但每當(dāng)我想要深度控制某些細(xì)節(jié)時(shí),C++源于C的低階能力,又給我最大的自由度和幾乎不遜于Assembly的高效(當(dāng)然,有必要時(shí)C/C++代碼內(nèi)也可以直接插入一段__asm{})如何學(xué)好C++微軟C#語(yǔ)言和.NET主要框架的發(fā)明者Anders曾說(shuō),在現(xiàn)代的編程世界,對(duì)軟件生產(chǎn)力的需求是最重要的;因此,現(xiàn)代編程語(yǔ)言,應(yīng)該重視其生產(chǎn)力,更甚于低階的控制力。對(duì)于這位超級(jí)高手的言論,我當(dāng)然沒(méi)有任何反對(duì)的意見(jiàn)。只不過(guò),我想說(shuō)明一點(diǎn),即∶很多人認(rèn)為C++的缺點(diǎn)是生產(chǎn)力不高,不能和Delphi,JAVA,VB,這類(lèi)更新的開(kāi)發(fā)工具(語(yǔ)言)相提并論,這種說(shuō)法是個(gè)誤導(dǎo)。一般應(yīng)用軟件的生產(chǎn)力,最關(guān)鍵的不是編程語(yǔ)言,而是開(kāi)發(fā)工具,更確切地說(shuō),是開(kāi)發(fā)工具所使用的Framework。JAVA,C#這些主流編程語(yǔ)言,因?yàn)橛袕?qiáng)大的Framework支援,當(dāng)然在很多方面占有優(yōu)勢(shì);相對(duì)的,C++并不是由單一廠商所獨(dú)占,它的標(biāo)準(zhǔn)化、函式庫(kù)、開(kāi)發(fā)工具等各方面的支援,難以統(tǒng)一。我記得曾看過(guò)一個(gè)頗有趣的說(shuō)法∶「C++?!這家伙你想怎么搞都可以,只不過(guò),無(wú)論你想搞什么,都得自己來(lái)!」那么,學(xué)習(xí)C++究竟有什么好處呢?首先,關(guān)于生產(chǎn)力。沒(méi)錯(cuò),假如沒(méi)有適當(dāng)?shù)拈_(kāi)發(fā)工具,例如∶VC,BCB等,使用C++,連寫(xiě)個(gè)普通GUI的程序,都會(huì)覺(jué)得痛苦萬(wàn)分。但,這只是指「一般應(yīng)用軟件」。相對(duì)地,假如你想要做的不是一般普通的應(yīng)用,而是有特殊的,特別是大型的專(zhuān)案、又或極度要求運(yùn)行期效能的程序,那么,至少在目前,C/C++是最好的選擇。如何學(xué)好C++此外,學(xué)會(huì)C++,還有意想不到的額外好處。如果你熟悉C++的一些深入部份,例如C++ObjectModel,那么學(xué)習(xí)其他主流的編程語(yǔ)言,例如JAVA,C#等,簡(jiǎn)直易如反掌。并且,你會(huì)很容易看清楚,JAVA,C#等,只不過(guò)是基于單根繼承(所有類(lèi)都衍生自同一個(gè)基類(lèi)),在許多功能方面,受限了的C++簡(jiǎn)化版。(題外話,微軟的.NET提供的C++.NET,即所謂的ManagedC++,光看這名字本身,就很有趣。C++在.NET平臺(tái)上為何要「受控管」,原因自然是為了相容于.NET;另一方面,C#本身就是.NET平臺(tái)最自然的語(yǔ)言。換言之,C#可以看成是一個(gè)受限的C++版本。)如何學(xué)好C++帖子舉例2我學(xué)習(xí)c++有什么經(jīng)典書(shū)籍,請(qǐng)推薦一下?發(fā)信站:BBS水木清華站(WedFeb214:52:002005),站內(nèi)講一下我的經(jīng)驗(yàn)。首先,關(guān)于入門(mén)書(shū)方面,我覺(jué)得到現(xiàn)在我都沒(méi)有看到一部適合初學(xué)者的C++入門(mén)書(shū)。經(jīng)典的書(shū)都是高手們寫(xiě)的,但根本不適合初學(xué)者看。這大概是C++族群增長(zhǎng)的一大瓶頸。我個(gè)人覺(jué)得最適合入門(mén)的一本書(shū)是「從C到C++物件導(dǎo)向革命」,當(dāng)然光看書(shū)名大家就猜到這是臺(tái)灣的書(shū)了。它是1990年的書(shū),作者陳建維先生是當(dāng)時(shí)C++標(biāo)準(zhǔn)委員會(huì)的一員。這本書(shū)我覺(jué)得相當(dāng)不錯(cuò),用不是很大的篇幅,從軟件工程,OO的思想、觀念,到C++語(yǔ)言。甚至當(dāng)時(shí)書(shū)的附錄就已經(jīng)提到template了??上В@本書(shū),現(xiàn)在已經(jīng)找不到了。我自己有一本,但被朋友借去,不知流落何方。這是我第一本看的C++的書(shū)。當(dāng)時(shí)在臺(tái)灣,這本書(shū)和C++Primer,TheC++ProgrammingLanguage并稱三大經(jīng)典。如何學(xué)好C++帖子舉例3發(fā)信人:Buou(-郁悶之神-Buou),信區(qū):CPlusPlus對(duì)幾個(gè)主要IDE說(shuō)明一下:TurboC(2.0):Microsoft16位DOSANSICIDE;BorlandC++(3.1):Microsoft16位DOSC++IDE(16位,DOS下極品);BorlandC++(5.x):Microsoft32位Windows下C++Compiler;VisualC++(6.0):Microsoft32位Windows下經(jīng)典Compiler,調(diào)試功能強(qiáng),但對(duì)ISO98C++支持不夠;VisualC++(7.0):Microsoft32位Windows下Compiler,6.0的增強(qiáng);支持.Net下MC++,但對(duì)標(biāo)準(zhǔn)支持仍然有限;VisualC++(7.1):Microsoft32位Windows下Compiler,對(duì)標(biāo)準(zhǔn)C++支持很好,可以編譯大部分主流C++庫(kù),目前為fianlbeta版,值得期待;--------icc,gcc以及其他piler和IDE請(qǐng)請(qǐng)更熟悉的人補(bǔ)充吧:)第1章C++編程簡(jiǎn)介第1章C++編程簡(jiǎn)介學(xué)習(xí)目標(biāo)

了解面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言及面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的特點(diǎn);了解面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的基本概念;了解不同類(lèi)型的編程語(yǔ)言;熟悉程序的開(kāi)發(fā)過(guò)程;了解程序的結(jié)構(gòu),理解源程序、頭文件、可執(zhí)行程序的概念;理解名字空間的概念,會(huì)運(yùn)用名字空間;能夠編寫(xiě)一個(gè)簡(jiǎn)單的程序,輸入數(shù)據(jù),輸出結(jié)果.1.1計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言面向過(guò)程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000加

10010000減用助記符號(hào)描述的指令系統(tǒng)如ADDAX,BX面向機(jī)器的語(yǔ)言程序設(shè)計(jì)依賴解決問(wèn)題的過(guò)程客觀事物描述成具有屬性和行為的對(duì)象;同一類(lèi)對(duì)象的共同屬性和行為形成類(lèi);封裝對(duì)象間通過(guò)發(fā)送和接受消息發(fā)生聯(lián)系;類(lèi)的繼承與多態(tài)性可以提供使用現(xiàn)成類(lèi)的機(jī)制,從而實(shí)現(xiàn)代碼的重用.

程序設(shè)計(jì)關(guān)鍵是定義類(lèi),并由類(lèi)實(shí)例化成對(duì)象接近人的自然語(yǔ)言習(xí)慣,如:100+200

面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述求職面試參考答案類(lèi)和對(duì)象面向?qū)ο蟮恼Z(yǔ)言出發(fā)點(diǎn):更直接地描述客觀世界中存在的事物(對(duì)象)以及它們之間的關(guān)系。特點(diǎn):是高級(jí)語(yǔ)言。將客觀事物看作具有屬性和行為的對(duì)象。通過(guò)抽象找出同一類(lèi)對(duì)象的共同屬性和行為,形成類(lèi)。通過(guò)類(lèi)的繼承與多態(tài)實(shí)現(xiàn)代碼重用。優(yōu)點(diǎn):使程序能夠比較直接地反問(wèn)題域的本來(lái)面目,軟件開(kāi)發(fā)人員能夠利用人類(lèi)認(rèn)識(shí)事物所采用的一般思維方法來(lái)進(jìn)行軟件開(kāi)發(fā)。面向過(guò)程vs.面向?qū)ο?.2C++語(yǔ)言概述

全面支持C

C++語(yǔ)言的產(chǎn)生

1983加入類(lèi)CC++ANSIC++1994標(biāo)準(zhǔn)化C++語(yǔ)言的特點(diǎn)

面向?qū)ο蟊菴更完善、安全、高效

1.3C++程序開(kāi)發(fā)過(guò)程

程序代碼的錄入、修改執(zhí)行預(yù)處理指令,詞法分析、語(yǔ)法分析后生成目標(biāo)程序與其它目標(biāo)程序或庫(kù)連接,生成可執(zhí)行程序1.4C++程序?qū)嵗?/p>

/*************************************************程序文件名:p1_1.cpp**本程序顯示:HelloC++!**設(shè)計(jì)者:楊進(jìn)才時(shí)間:8-8-2006************************************************/#include<iostream>//載入頭文件usingnamespacestd;//使用命名空間stdvoidmain()//程序入口{cout<<"HelloC++!"<<endl;}

預(yù)處理命令無(wú)返回值無(wú)參數(shù)、無(wú)返回值的主函數(shù)主函數(shù)名函數(shù)開(kāi)始函數(shù)體語(yǔ)句結(jié)束標(biāo)志函數(shù)結(jié)束

運(yùn)行結(jié)果:HelloC++!注釋塊注釋行一個(gè)簡(jiǎn)單的C++程序

在C++程序中,注釋塊由“/*”開(kāi)始,由“*/”結(jié)束,可以實(shí)現(xiàn)多行注釋。也可使用“//”進(jìn)行單行注釋。C++語(yǔ)言的預(yù)處理命令都是以“#”號(hào)開(kāi)頭。iostream是一個(gè)頭文件,系統(tǒng)頭文件不帶.h后綴

cout為標(biāo)準(zhǔn)輸出流對(duì)象,它與顯示器相連。<<是插入操作符,endl為換行符號(hào)。整個(gè)語(yǔ)句的功能是將”HelloC++!”字符串與endl依次插入到cout中

main是主函數(shù)名,一個(gè)C++語(yǔ)言程序有且僅有一個(gè)main函數(shù)。C++程序執(zhí)行時(shí)就是從main函數(shù)開(kāi)始.C++語(yǔ)言規(guī)定:語(yǔ)句以分號(hào)結(jié)束

使用名字空間

?為什么:

標(biāo)準(zhǔn)C++庫(kù)提供的對(duì)象等都放在標(biāo)準(zhǔn)名字空間std中,要使用它們,必須要聲明使用標(biāo)準(zhǔn)名字空間std.使用標(biāo)準(zhǔn)名字空間std有3種方式:整體聲明

usingnamespacestd;使用時(shí)單個(gè)對(duì)象臨時(shí)聲明

std::cout<<"HelloC++"<<std::endl;單個(gè)對(duì)象使用前聲明

usingstd::cout;整體聲明#include<iostream>usingnamespacestd;voidmain(){cout<<"HelloC++!"<<endl;}單個(gè)對(duì)象臨時(shí)聲明#include<iostream>voidmain()

{std::cout<<”HelloC++!”<<std::endl;}單個(gè)對(duì)象使用前聲明#include<iostream>usingstd::cout;usingstd::endl;voidmain(){cout<<”HelloC++!”<<endl;}使用名字空間

cin>>對(duì)象1>>對(duì)象2>>...>>對(duì)象n;

cout<<對(duì)象1<<對(duì)象2<<...<<對(duì)象n;C++中使用對(duì)象cin作為標(biāo)準(zhǔn)輸入流對(duì)象,通常代表鍵盤(pán),cin與提取操作符>>連用,使用格式為:意思是從標(biāo)準(zhǔn)輸入流對(duì)象鍵盤(pán)上提取n個(gè)數(shù)據(jù)分別給對(duì)象1、對(duì)象2、...、對(duì)象n。C++中使用對(duì)象cout作為標(biāo)準(zhǔn)輸出流對(duì)象,通常代表顯示設(shè)備,cout與插入操作符<<連用,使用格式為:意思是依次從將對(duì)象1、對(duì)象2、...、對(duì)象n插入到標(biāo)準(zhǔn)輸出流對(duì)象中,從而實(shí)現(xiàn)了對(duì)象在顯示器上的輸出.C++輸入/輸出簡(jiǎn)介輸入輸出舉例12345678910111213141516/*************************************************程序文件名:p1_2.cpp**功能:求三個(gè)數(shù)的平均值,演示C++的簡(jiǎn)單I/O**設(shè)計(jì)者:楊進(jìn)才**時(shí)間:8-8-2006**************************************************/#include<iostream>usingnamespacestd;voidmain()

{ floatnum1,num2,num3;//定義三個(gè)數(shù)

cout<<"Pleaseinputthreenumbers:"; cin>>num1>>num2>>num3; cout<<"Theaverageof"<<num1<<","<<num2<<"and"<<num3; cout<<"is:"<<(num1+num2+num3)/3<<endl;}運(yùn)行結(jié)果Pleaseinputthreenumbers:101201300↙

Theaverageof101,201and300is:200.667

常用的操縱符

操縱符作用說(shuō)明oct數(shù)據(jù)以8進(jìn)制形式輸出

作用范圍為后續(xù)輸出的整數(shù)對(duì)象,小數(shù)不起作用。dec數(shù)據(jù)以10進(jìn)制形式輸出(默認(rèn))hex數(shù)據(jù)以16進(jìn)制形式輸出endl換行并刷新輸出流setw(n)設(shè)置輸出寬度需包括頭文件iomanip,僅對(duì)后一個(gè)對(duì)象起作用setprecision(n)設(shè)置輸出小數(shù)位數(shù)(默認(rèn)為6)需包括頭文件iomanip,作用范圍為后續(xù)對(duì)象注意:在使用setw(n)與setprecision(n)時(shí),還需要包含輸入/輸出操縱符頭文件iomanip,iomanip意為inputandoutputmanipulate(操縱).setprecision(n)僅對(duì)帶有小數(shù)的數(shù)有效,n為整數(shù)與小數(shù)但不包括小數(shù)點(diǎn)的位數(shù)。常用的操縱符使用舉例

12345678910111213141516/*****************************************************程序文件名:p1_3.cpp**功能:求三個(gè)數(shù)的平均值,演示C++簡(jiǎn)單I/O格式控制******************************************************/#include<iostream>#in

溫馨提示

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

評(píng)論

0/150

提交評(píng)論