




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+語(yǔ)言程序設(shè)計(jì)講義教師:劉槐德1第一章 C+語(yǔ)言概述1.1 C+語(yǔ)言的簡(jiǎn)史與特點(diǎn)一、簡(jiǎn)史 C+語(yǔ)言是1980年由Bell實(shí)驗(yàn)室開(kāi)發(fā)的一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它是在C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的。最初被稱(chēng)為“帶類(lèi)的C”,1983年更名為C+。2第一章 C+語(yǔ)言概述二、特點(diǎn)1、繼承了C語(yǔ)言的優(yōu)點(diǎn)和市場(chǎng)優(yōu)勢(shì)。2、增加了面向?qū)ο髾C(jī)制。3、彌補(bǔ)了C語(yǔ)言不支持代碼重用、不適 宜開(kāi)發(fā)大型軟件的不足。3第一章 C+語(yǔ)言概述一、程序和程序文件 1、程序:用計(jì)算機(jī)語(yǔ)言對(duì)程序要完成 任務(wù)的描述。 2、程序文件(源程序文件):存儲(chǔ)程 序的文本文件。名稱(chēng)為:.cpp返回4第一章 C+語(yǔ)言概述四、字母的大小寫(xiě) 1、在C+
2、程序中,字母的大小寫(xiě)具有 不同的含義。 如:main、Main、MAIN表示不同的名稱(chēng)。 2、主函數(shù)的名稱(chēng)只能是main。返回5第一章 C+語(yǔ)言概述例2:設(shè)計(jì)一個(gè)程序,顯示“同學(xué)們,你們好!”。 #include void main( )cout ”同學(xué)們,你們好!”;此程序的輸出結(jié)果為:同學(xué)們,你們好!6第一章 C+語(yǔ)言概述一、C+語(yǔ)句 1、基本語(yǔ)句以分號(hào);作為結(jié)束標(biāo)志。如: cout ”同學(xué)們,你們好!”; 2、復(fù)合語(yǔ)句用大括弧 括起來(lái)的語(yǔ)句序列。cout ” 你們好!”; cout ” 大家好!”;返回7第一章 C+語(yǔ)言概述二、程序書(shū)寫(xiě)風(fēng)格 一行中可以有多個(gè)語(yǔ)句; 一個(gè)語(yǔ)句也可以分布在連
3、續(xù)的若干行中。如: cout ” 你們好!”; cout ” 大家好!”; cout ” 你們 好!”;返回8第一章 C+語(yǔ)言概述四、cout和數(shù)據(jù)的顯示輸出 1、 cout:連接顯示器的C+輸出流對(duì)象。 2、 :輸出操作符。 9第一章 C+語(yǔ)言概述3、顯示輸出語(yǔ)句的格式: cout 表達(dá)式【 表達(dá)式】 ; 注:【 】中內(nèi)容可有可無(wú), 若有,可重復(fù)多次。 如:cout100; 屏幕輸出 100 cout100200100+200; 屏幕輸出 10020030010第一章 C+語(yǔ)言概述4、插入空格:(空格符為 )如:cout 100 200 100+200;屏幕輸出 :100 200 30011
4、第一章 C+語(yǔ)言概述5、換行輸出換行符號(hào):n 換行控制符:endl如:cout 100n200; cout 100endl:輸入操作符 3、鍵盤(pán)輸入語(yǔ)句的格式: cin 變量【 變量】;注:【 】中內(nèi)容可有可無(wú),也可重復(fù)多次。如:int a,b,c; cina; cinabc;13第一章 C+語(yǔ)言概述五、編譯預(yù)處理命令#include1、#:預(yù)處理命令的標(biāo)志。2、 #include:包含命令; 把一個(gè)文本文件的內(nèi)容插入到該命令處。3、命令參數(shù); 給出要插入文件的文件名。返回14第一章 C+語(yǔ)言概述六、頭文件:以h為擴(kuò)展名的文本文件 如果程序文件中引用到的函數(shù)、變量、 常量、對(duì)象、數(shù)據(jù)類(lèi)型等是由
5、別的文件 提供的,則必須在程序文件的開(kāi)始部分 用#include命令把有關(guān)的頭文件包含進(jìn)來(lái)。返回15第一章 C+語(yǔ)言概述例3:設(shè)計(jì)函數(shù)hello,通過(guò)顯示“, 你們好!”,向指定的人問(wèn)好。 #include void hello(chars) coutendls”,你們好!”; void main( ) hello( ”同學(xué)們” ); hello (”朋友們”); 16第一章 C+語(yǔ)言概述該程序的運(yùn)行結(jié)果,是在屏幕上顯示輸出:同學(xué)們,你們好!朋友們,你們好!17第一章 C+語(yǔ)言概述例4:設(shè)計(jì)一個(gè)函數(shù)Area,根據(jù)給出的圓的半 徑,計(jì)算出圓的面積。#include #define PI 3.14
6、16double Area(double r)return PIrr;void main( )double radius,area; coutendlradius; area=Area(radius);coutendl ”輸出面積” area;18第一章 C+語(yǔ)言概述1.3 程序的編輯、編譯、連接和運(yùn)行一、應(yīng)用程序開(kāi)發(fā)的四個(gè)步驟: 編輯、編譯、連接和運(yùn)行 1、編輯 輸入、修改程序。通過(guò)編輯得到的程序 稱(chēng)為源程序。源程序以文本格式保存在 源程序文件中。擴(kuò)展名為CPP。19第一章 C+語(yǔ)言概述2、編譯 分析源程序文件中的源程序,生成目標(biāo) 程序,保存在目標(biāo)程序文件中。擴(kuò)展名 為OBJ。3、連接 將若
7、干個(gè)目標(biāo)程序加以歸并、整理,為所有的函數(shù)、變量等安排具體的地址,生成可執(zhí)行程序文件。擴(kuò)展名為EXE。20第一章 C+語(yǔ)言概述 4、運(yùn)行 按目的劃分,運(yùn)行分為三種: 應(yīng)用運(yùn)行 測(cè)試運(yùn)行 調(diào)試運(yùn)行。21第一章 C+語(yǔ)言概述示意圖:編輯編譯連接運(yùn)行正確?開(kāi)始源文件目標(biāo)文件可執(zhí)行文件否是結(jié)束c1.cppc1.objc1.exe c2.obj c3.obj應(yīng)用程序的開(kāi)發(fā)是一個(gè)由編輯開(kāi)始,經(jīng)過(guò)編譯、連接和運(yùn)行又回到編輯的反復(fù)循環(huán)的過(guò)程。22第一章 C+語(yǔ)言概述二、集成化編譯系統(tǒng)(集成化開(kāi)發(fā)環(huán)境)1、集文字處理、編譯、連接、項(xiàng)目管理、 程序排誤等多功能為一體的軟件開(kāi)發(fā) 工具。2、最常用的集成化編譯系統(tǒng) Vi
8、sual C+(VC 6.0) C+ Builder 4.0(CB 4.0)23第八章 類(lèi)8. 1 類(lèi)的定義一、類(lèi)的概念對(duì)具有共同屬性和共同行為的一類(lèi)事物的抽象描述。數(shù)據(jù)成員函數(shù)成員類(lèi)是一種用戶(hù)自定義的數(shù)據(jù)類(lèi)型,只有類(lèi)中的成員函數(shù)才能存取類(lèi)中的私有成員,在類(lèi)中,如果不作特別說(shuō)明,所指的數(shù)據(jù)均為私有類(lèi)型,一個(gè)類(lèi)可以有多個(gè)對(duì)象。24世界是由對(duì)象構(gòu)成的有機(jī)體在物理實(shí)體中,我們把對(duì)象定義為:“可以看得見(jiàn),摸得著的實(shí)體。” 同理,“人為的概念,或者是任何有明確邊界與意義的東西,也是對(duì)象” 。它們都有著同一的特征:擁有狀態(tài)和行為。狀態(tài)是對(duì)象的一個(gè)或多個(gè)屬性的描述。行為是對(duì)象為了改變自身的狀態(tài)而發(fā)生的作用和
9、反作用。簡(jiǎn)單來(lái)說(shuō),在軟件中,對(duì)象就是一組變量和相關(guān)方法的集合,其中變量表明對(duì)象的狀態(tài),方法表明對(duì)象所具有的行為,即我們所學(xué)過(guò)的函數(shù)。25 當(dāng)然,我們可以將現(xiàn)實(shí)世界中的對(duì)象經(jīng)過(guò)抽象,映射為軟件中的對(duì)象。對(duì)象在軟件中是通過(guò)一種抽象數(shù)據(jù)類(lèi)型來(lái)描述的,這種抽象數(shù)據(jù)類(lèi)型稱(chēng)為(Class);26用更嚴(yán)謹(jǐn)?shù)脑拋?lái)表述,“對(duì)象是封裝了數(shù)據(jù)結(jié)構(gòu)及可以施加在這些數(shù)據(jù)結(jié)構(gòu)中的操作的封裝體,這個(gè)封裝體有可以唯一地標(biāo)識(shí)它的名字,而且向外界提供一組服務(wù)(即操作)?!备爬ǖ卣f(shuō),面相對(duì)象方法具有下述四個(gè)要點(diǎn):認(rèn)為客觀世界是由各種對(duì)象組成的,任何事物都是對(duì)象,復(fù)雜的對(duì) 象可以由比較簡(jiǎn)單的對(duì)象以某種方式組合而成; 把所有對(duì)象都劃分
10、成各種對(duì)象類(lèi)(簡(jiǎn)稱(chēng)為類(lèi),Class),每個(gè)對(duì)象類(lèi)都定義了一組數(shù)據(jù)和一組方法;按照子類(lèi)與父類(lèi)的關(guān)系,把若干個(gè)對(duì)象類(lèi)組成一個(gè)層次結(jié)構(gòu)的系統(tǒng); 對(duì)象彼此之間僅能通過(guò)傳遞消息互相聯(lián)系;27第八章 類(lèi)二、類(lèi)的定義格式class 類(lèi)名 成員表;例:class CCint a; public:void Init(int aa)a=aa;int GetData( )return a;cx;數(shù)據(jù)成員函數(shù)成員28第八章 類(lèi)三、類(lèi)成員的訪問(wèn)權(quán)限(訪問(wèn)屬性) pubilc:公用訪問(wèn)屬性;成員可以為任意函數(shù)所訪問(wèn)。 private:私有訪問(wèn)屬性;成員只能為該類(lèi)的成員函數(shù)所訪問(wèn)。 protected:保護(hù)訪問(wèn)屬性;成員只
11、能為該類(lèi)的成員函數(shù)以及該類(lèi)的派生類(lèi)中的成員函數(shù)所訪問(wèn)。29第八章 類(lèi)四、類(lèi)成員的訪問(wèn)方法例1:class CCint a; public:void Init(int aa)a=aa;int GetData( )return a;cx;1、函數(shù)成員Init 和GetData可以直接訪問(wèn)數(shù)據(jù)成員a;2、類(lèi)對(duì)象cx通過(guò)調(diào)用Init 和GetData對(duì)a進(jìn)行操作。即:cx.Init(x)cx.GetData(x)30第八章 類(lèi)例2:class CDchara; int b; public:void Init(charaa,int bb)a=new charstrlen(aa)+1; strcpy(a,
12、aa); b=bb;charGeta( ) return a;int Getb( ) return b;void Output( ) couta bb?a:b);public:int c;void SetValue(int x1,int x2,int x3)a=x1;b=x2;c=x3;int GetMax( )int d=getmax( ); return(dc?d:c);ex, ep=&ex;32第八章 類(lèi)五、類(lèi)中的成員函數(shù)也可以重載,包括操 作符重載。1、this:指向調(diào)用成員函數(shù)的類(lèi)對(duì)象的指針。 (類(lèi)中成員函數(shù)的默認(rèn)指針參數(shù)) this:調(diào)用成員函數(shù)的類(lèi)對(duì)象2、重載雙目操作符時(shí):形參表
13、中只需定義 一個(gè)參數(shù),即該雙目操作符的第二個(gè)參數(shù); 第一個(gè)參數(shù)為 this。2、重載單目操作符時(shí):形參表為空,默認(rèn) 的參數(shù)為 this。33第八章 類(lèi)8. 2 構(gòu)造函數(shù)一、定義:與所在類(lèi)同名的成員函數(shù), 無(wú)返回值,無(wú)返回類(lèi)型。二、作用:為類(lèi)對(duì)象中的數(shù)據(jù)成員賦初值。 三、調(diào)用:定義類(lèi)對(duì)象時(shí)自動(dòng)調(diào)用四、訪問(wèn)權(quán)限:public34第八章 類(lèi)五、分類(lèi)無(wú)參構(gòu)造函數(shù)有參構(gòu)造函數(shù)1、若類(lèi)中沒(méi)有定義構(gòu)造函數(shù),則系統(tǒng)定義一 個(gè)默認(rèn)的無(wú)參構(gòu)造函數(shù)。如:Array( ) 2、若參數(shù)表中只有一個(gè)參數(shù),則可用=代替( )如:A r(5) A r=5;3、動(dòng)態(tài)分配類(lèi)對(duì)象如:Arrays1=new Array; Array
14、s2=new Array(a,6);35第八章 類(lèi)六、拷貝構(gòu)造函數(shù)1、特殊的構(gòu)造函數(shù),形參為同類(lèi)對(duì)象的引用。2、作用:定義一個(gè)與已有對(duì)象完全相同的對(duì)象。例:Array Array(Array&x)n=x.n; a=new intn;for(int i=0;in;i+) ai=x.ai;執(zhí)行:Array r2(a,6); Array r1(r2);則:r1,r2是兩個(gè)完全相同的對(duì)象。36第八章 類(lèi)七、構(gòu)造函數(shù)中的初始化表1、對(duì)構(gòu)造函數(shù)中的數(shù)據(jù)成員進(jìn)行初始化使用賦值語(yǔ)句使用初始化表2、初始化表的位置及格式位置:位于形參表和函數(shù)體之間。格式:以冒號(hào)開(kāi)頭,其后是一系列用逗號(hào)隔開(kāi)的初始化項(xiàng),每一項(xiàng)對(duì)一個(gè)
15、數(shù)據(jù)成員進(jìn)行初始化,初始化項(xiàng)的格式為: 數(shù)據(jù)成員名(初始化表達(dá)式)37第八章 類(lèi)例: Array( ) a=NULL;n=0; Array( ) : a(NULL),n(0) Array (int aa ,int len)n=len; a=new intn;for(int i=0;in;i+) ai=aai; Array (int aa ,int len):n(len),a(new intlen)for(int i=0;ix.a; coutx.a; 43第八章 類(lèi)8. 5 類(lèi)的繼承一、繼承的概念 當(dāng)類(lèi)A繼承類(lèi)B時(shí),類(lèi)A被稱(chēng)為派生類(lèi),類(lèi)B被稱(chēng)為基類(lèi)。派生類(lèi)能夠繼承基類(lèi)所有的數(shù)據(jù)成員和函數(shù)成員,并且可以定義自己的數(shù)據(jù)成員和函數(shù)成員。44第八章 類(lèi)二、派生類(lèi)的定義格式class 派生類(lèi)名:基類(lèi)表成員表;1、基類(lèi)表:由若干個(gè)用逗號(hào)隔開(kāi)的基類(lèi)說(shuō) 明組成。2、基類(lèi)說(shuō)明的格式為:繼承方式 基類(lèi)名三、繼承方式 public:公用繼承 private:私有繼承 protected:保護(hù)繼承45第八章 類(lèi)四、基類(lèi)成員在派生類(lèi)中的訪問(wèn)權(quán)限46第八章 類(lèi)五、對(duì)基類(lèi)數(shù)據(jù)成員的初始化在派生
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人職業(yè)規(guī)劃的思路與方向計(jì)劃
- 幼兒成長(zhǎng)之路小班教學(xué)活動(dòng)規(guī)劃計(jì)劃
- 生產(chǎn)計(jì)劃與需求預(yù)測(cè)的關(guān)系
- 小班音樂(lè)與韻律教育活動(dòng)計(jì)劃
- 《貴州連云礦業(yè)有限公司興仁縣潘家莊鎮(zhèn)旭東煤礦(延續(xù))礦產(chǎn)資源綠色開(kāi)發(fā)利用方案(三合一)》專(zhuān)家組評(píng)審意見(jiàn)
- 鹽邊縣中天礦業(yè)有限責(zé)任公司新九大老包鐵礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案情況
- 第1課 互聯(lián)網(wǎng)與物聯(lián)網(wǎng) 教學(xué)設(shè)計(jì) -初中信息技術(shù)七年級(jí)下冊(cè)浙教版2023
- 第八單元-第2課時(shí)-角的度量(教學(xué)設(shè)計(jì))四年級(jí)數(shù)學(xué)上冊(cè)同步高效課堂系列(蘇教版)
- 《三位數(shù)乘兩位數(shù)的筆算乘法》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)人教版
- 不同茶葉沖泡方法
- 《鐵杵成針》教學(xué)課件
- 激光原理與技術(shù):第六章 調(diào)Q技術(shù)
- 養(yǎng)老護(hù)理技術(shù)操作規(guī)范評(píng)分標(biāo)準(zhǔn)
- 中國(guó)文化概論-緒論
- 網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)ppt課件(完整版)
- 2023高中物理步步高大一輪 第十章 專(zhuān)題強(qiáng)化十八 帶電粒子在有界勻強(qiáng)磁場(chǎng)中的運(yùn)動(dòng)
- 供應(yīng)商管理控制流程圖
- 義務(wù)教育語(yǔ)文課程標(biāo)準(zhǔn)(2022年版)
- 初中物理公式總結(jié)大全(最新歸納)
- 小學(xué)四年級(jí)《雞兔同籠》優(yōu)秀獲獎(jiǎng)公開(kāi)課分析
- 不均勻系數(shù)和曲率系數(shù)自動(dòng)升程計(jì)算(升級(jí)版)
評(píng)論
0/150
提交評(píng)論