版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第1章章C與與C+YYHYYH版版教材教材:面向?qū)ο蟮某绦蛟O(shè)計語言面向?qū)ο蟮某绦蛟O(shè)計語言C+ 人民郵電出版社人民郵電出版社 陳志泊等編陳志泊等編教參教參1: C+大學(xué)教程大學(xué)教程(第二版第二版) 美美Harvey 電子工業(yè)出版社電子工業(yè)出版社 邱仲潘等編邱仲潘等編教參教參2: C/C+程序設(shè)計程序設(shè)計 Decoder編著編著 21世紀(jì)高校計算機(jī)系列教程世紀(jì)高校計算機(jī)系列教程 中國鐵道出版社中國鐵道出版社教參教參3: C+程序設(shè)計教程程序設(shè)計教程 劉瑞挺等譯劉瑞挺等譯 21世紀(jì)高校計算機(jī)系列教程世紀(jì)高校計算機(jī)系列教程 中國鐵道出版社中國鐵道出版社教參教參4: Visual C+面向?qū)ο笈c可視化
2、程序設(shè)計面向?qū)ο笈c可視化程序設(shè)計 黃維通編著黃維通編著(2002年教育部高校優(yōu)秀教材二等獎年教育部高校優(yōu)秀教材二等獎) 清華大學(xué)出版社清華大學(xué)出版社第第1章章C與與C+YYHYYH版版lC+語言程序設(shè)計語言程序設(shè)計l C+語言程序設(shè)計習(xí)題與實(shí)驗(yàn)指導(dǎo)語言程序設(shè)計習(xí)題與實(shí)驗(yàn)指導(dǎo)l 課程網(wǎng)址:課程網(wǎng)址: http:/l 網(wǎng)站內(nèi)容:網(wǎng)站內(nèi)容:電子講稿電子講稿實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)指導(dǎo)第第1章章C與與C+YYHYYH版版 第第 1 章章 C與與C+1.1 C語言與語言與C+的關(guān)系的關(guān)系1.2 C+語言的開發(fā)環(huán)境語言的開發(fā)環(huán)境 #include ; void main() /執(zhí)行函數(shù)執(zhí)行函數(shù) C+程序結(jié)構(gòu)程序結(jié)構(gòu)(
3、主要是由語句函數(shù)組成主要是由語句函數(shù)組成):補(bǔ)充補(bǔ)充(教教材上無材上無)說明部分說明部分執(zhí)行部分執(zhí)行部分第第1章章C與與C+YYHYYH版版1.1 C語言與語言與C+的關(guān)系的關(guān)系 1.1.1 C+發(fā)展歷史簡介發(fā)展歷史簡介 (1 1)C C+C C+ 面向?qū)ο蟪绦蛟O(shè)計方法語言有面向?qū)ο蟪绦蛟O(shè)計方法語言有C+;VC+;VBC+;VC+;VB。C+C+是是Bjarne1980Bjarne1980年在貝爾實(shí)驗(yàn)室開發(fā)的基于年在貝爾實(shí)驗(yàn)室開發(fā)的基于C C語言面向?qū)ο笳Z語言面向?qū)ο笳Z言,言,8383年正式稱為年正式稱為C+C+語言。語言。(Turbo C(Turbo C、 Borland C C、Dev C
4、Dev C等等) ) (2 2)特點(diǎn):特點(diǎn):它既保留了它既保留了C C語言的有效性、靈活性、便于移植和語言的有效性、靈活性、便于移植和接近匯編語言等全部精華和特點(diǎn),又添加了面向?qū)ο缶幊痰闹Ы咏鼌R編語言等全部精華和特點(diǎn),又添加了面向?qū)ο缶幊痰闹С殖? (主要是增加類的功能主要是增加類的功能) ),具有功能強(qiáng)大、易于擴(kuò)充等編程優(yōu),具有功能強(qiáng)大、易于擴(kuò)充等編程優(yōu)良特性良特性, ,適宜應(yīng)用軟件、系統(tǒng)軟件適宜應(yīng)用軟件、系統(tǒng)軟件( (如如WindowsWindows等等) )的程序設(shè)計。的程序設(shè)計。 1.1.2 C+ C+與與C C語言語言 C C語言是語言是C+C+語言的子集,語言的子集, C+C+與與
5、C C語言具有良好的兼容性,語言具有良好的兼容性,用用C C編寫的程序可接在編寫的程序可接在C+C+環(huán)境下運(yùn)行環(huán)境下運(yùn)行, ,反之不一定。反之不一定。 C+C+語言對語言對C C語言在結(jié)構(gòu)化方面做了一定程度的擴(kuò)展。后介紹。語言在結(jié)構(gòu)化方面做了一定程度的擴(kuò)展。后介紹。第第1章章C與與C+YYHYYH版版發(fā)展:發(fā)展:C語言語言 C+(Turbo C+/Borland C+等等) Visual C+;特點(diǎn):特點(diǎn):C與與C+基于基于DOS平臺;平臺;VC+基于基于WINDOWS平平臺;臺;VC+是在是在C+基礎(chǔ)上的一種可進(jìn)行基礎(chǔ)上的一種可進(jìn)行Internet、數(shù)據(jù)庫、數(shù)據(jù)庫、多媒體等面向?qū)ο蟮墓δ軓?qiáng)且
6、最難學(xué)的一種語言。多媒體等面向?qū)ο蟮墓δ軓?qiáng)且最難學(xué)的一種語言。 C+語語言與言與C語言最顯著的區(qū)別是它的面向?qū)ο蟮奶卣?,引進(jìn)了語言最顯著的區(qū)別是它的面向?qū)ο蟮奶卣?,引進(jìn)了類與對象的概念。類封裝了一組數(shù)據(jù)結(jié)構(gòu)和作用于該數(shù)據(jù)類與對象的概念。類封裝了一組數(shù)據(jù)結(jié)構(gòu)和作用于該數(shù)據(jù)結(jié)構(gòu)的一組方法結(jié)構(gòu)的一組方法,下面對下面對C+語言將著重圍繞類來進(jìn)行介紹。語言將著重圍繞類來進(jìn)行介紹。歸納歸納第第1章章C與與C+YYHYYH版版 上機(jī):上機(jī):在在Visual C+6.0環(huán)境下環(huán)境下上上C/C+機(jī)的操作機(jī)的操作:(1)建立建立Project:在在VC+6.0的主界面選的主界面選“File(文件文件)”下的下的“
7、New(新建新建)” 在在“Project”下選下選“Win32 Console Application” 鍵入鍵入Project Name等選等選“An empty project”(注意:只能選此,因?qū)ψ⒁猓褐荒苓x此,因?qū)+建立建立project后還要輸后還要輸入程序,而對入程序,而對VC+6.0的的MFC方法則不同方法則不同自動建立自動建立Project框架框架) 選選“Finish” 選選“Ok”;(2)輸入源程序:輸入源程序:在在VC+6.0的主界面選的主界面選”File(文件文件)”下的下的“New(新建新建)” 在在File下選下選“C+ Source File” 在在C+的程
8、序框中輸入的程序框中輸入程序程序 在在“Build”下對當(dāng)前的程序進(jìn)行編譯,最后執(zhí)行即下對當(dāng)前的程序進(jìn)行編譯,最后執(zhí)行即可;可;(注:注:VC+操作:選操作:選“File”下的下的“New” 選選“Project ”中的中的“MFC AppWizard” 在在“Project Name”輸入工程名輸入工程名 “OK” .見后見后) 第第1章章C與與C+YYHYYH版版 1.1.3 C+ C+的擴(kuò)展的擴(kuò)展( (與與C C語言語言) ) 1 1函數(shù)原型函數(shù)原型 對對C語言語言,使用一個函數(shù)前可不加以說明使用一個函數(shù)前可不加以說明/ /聲明;對聲明;對C+C+語言語言, ,任何一個函數(shù)在使用前任何一
9、個函數(shù)在使用前, ,必須有函數(shù)原型的說明必須有函數(shù)原型的說明/ /聲明聲明, ,聲明函聲明函數(shù)的返回值類型及參數(shù)的類型數(shù)的返回值類型及參數(shù)的類型( (以確定有同名函數(shù)時的一一對以確定有同名函數(shù)時的一一對應(yīng)關(guān)系應(yīng)關(guān)系) )。 說明:說明:使用函數(shù)原型使用函數(shù)原型, ,可以避免錯誤調(diào)用函數(shù)可以避免錯誤調(diào)用函數(shù)( (可能有同名可能有同名但不同類型或有不同參數(shù)的函數(shù)但不同類型或有不同參數(shù)的函數(shù), ,容易錯誤調(diào)用容易錯誤調(diào)用),),這樣的錯誤這樣的錯誤可以由編譯器在編譯時發(fā)現(xiàn);如果使用可以由編譯器在編譯時發(fā)現(xiàn);如果使用C C語言的函數(shù)聲明習(xí)慣語言的函數(shù)聲明習(xí)慣, ,則不能在編譯階段檢查出此類錯誤;現(xiàn)代則
10、不能在編譯階段檢查出此類錯誤;現(xiàn)代C C語言標(biāo)準(zhǔn)已經(jīng)引進(jìn)語言標(biāo)準(zhǔn)已經(jīng)引進(jìn)了函數(shù)原型說明。了函數(shù)原型說明。 第第1章章C與與C+YYHYYH版版 2 2函數(shù)重載函數(shù)重載 對對C C語言,相同功能但類型不同的函數(shù)多使用不同的函數(shù)名;語言,相同功能但類型不同的函數(shù)多使用不同的函數(shù)名;對對C+C+語言,可實(shí)現(xiàn)語言,可實(shí)現(xiàn)函數(shù)重載函數(shù)重載, ,即多個函數(shù)在同一作用域可以用即多個函數(shù)在同一作用域可以用相同的函數(shù)名相同的函數(shù)名, ,只要只要各同名函數(shù)參數(shù)形式不完全相同各同名函數(shù)參數(shù)形式不完全相同( (如參數(shù)的如參數(shù)的類型、個數(shù)等不同類型、個數(shù)等不同) )或函數(shù)的類型不同的函數(shù)?;蚝瘮?shù)的類型不同的函數(shù)。編譯器
11、即可在編譯器即可在編譯時可根據(jù)實(shí)參的個數(shù)和類型來選擇對應(yīng)匹配的重載函數(shù)版編譯時可根據(jù)實(shí)參的個數(shù)和類型來選擇對應(yīng)匹配的重載函數(shù)版本。函數(shù)重載的具體內(nèi)容可見。例如本。函數(shù)重載的具體內(nèi)容可見。例如( (對兩個同名函數(shù)對兩個同名函數(shù)abs)abs): int abs(int n) return n0?-n:n; float abs(float n) return n0?-n:n; i=abs(5); /調(diào)整型的求絕對值函數(shù)調(diào)整型的求絕對值函數(shù)f=abs(-2.5); /調(diào)實(shí)型的求絕對值函數(shù)調(diào)實(shí)型的求絕對值函數(shù)條件函數(shù)條件函數(shù):如果如果n0則為則為-n,否則為否則為n第第1章章C與與C+YYHYYH版版
12、 3 3缺省參數(shù)缺省參數(shù) 對對C+C+語言語言, , 允許在函數(shù)原型中初始化允許在函數(shù)原型中初始化( (即對參數(shù)賦缺省值即對參數(shù)賦缺省值) )。當(dāng)函數(shù)調(diào)用時當(dāng)函數(shù)調(diào)用時, ,若給出的參數(shù)個數(shù)少于函數(shù)表中參數(shù)的總數(shù)時若給出的參數(shù)個數(shù)少于函數(shù)表中參數(shù)的總數(shù)時, ,則所缺參數(shù)自動取函數(shù)參數(shù)表中設(shè)置的缺省值。則所缺參數(shù)自動取函數(shù)參數(shù)表中設(shè)置的缺省值。 如:如: void f(int x, int y=10)void f(int x, int y=10) /此處省略函數(shù)體內(nèi)容此處省略函數(shù)體內(nèi)容 調(diào)用語句:調(diào)用語句:f(2);f(2);就相當(dāng)于就相當(dāng)于f(2,10)f(2,10)。函數(shù)可以有多個缺省參。函
13、數(shù)可以有多個缺省參數(shù),但應(yīng)注意只能從右往左缺省,例如:數(shù),但應(yīng)注意只能從右往左缺省,例如: int f1(int x, int y=0, int z=0); int f1(int x, int y=0, int z=0); /正確正確 int f2(int x, int y=0, int z);int f2(int x, int y=0, int z); /錯誤錯誤 4 4注釋注釋 C C語言:注釋用語言:注釋用/ /* *注釋內(nèi)容注釋內(nèi)容* */ /; C+C+語言:注釋用語言:注釋用/ /* *注釋內(nèi)容注釋內(nèi)容* */ / 或或/注釋內(nèi)容注釋內(nèi)容第第1章章C與與C+YYHYYH版版 結(jié)構(gòu)名
14、:用結(jié)構(gòu)名:用struct可定義一個結(jié)構(gòu)體的數(shù)據(jù)類型可定義一個結(jié)構(gòu)體的數(shù)據(jù)類型(相當(dāng)于表格相當(dāng)于表格) 。例如:例如:struct student char name10; int number; int page; 則在定義該結(jié)構(gòu)類型變量時可以使用如下方式:則在定義該結(jié)構(gòu)類型變量時可以使用如下方式: student s1, s2; 4枚舉名與結(jié)構(gòu)名枚舉名與結(jié)構(gòu)名 枚舉名:可用枚舉名:可用enum定義枚舉型數(shù)據(jù)名,如:定義枚舉型數(shù)據(jù)名,如:enum ErrCode noErr, overflow; 錯誤代碼有兩個枚舉值錯誤代碼有兩個枚舉值noErr, overflow,ErrCode就是一個類
15、型名字,可用其定義該枚舉類型而不必在就是一個類型名字,可用其定義該枚舉類型而不必在枚舉類型名枚舉類型名ErrCode前加標(biāo)識符前加標(biāo)識符enum。第第1章章C與與C+YYHYYH版版 5作用域標(biāo)識符作用域標(biāo)識符(范圍分解符范圍分解符:) 在在C+語言中增加了作用域標(biāo)識符語言中增加了作用域標(biāo)識符(或稱為名字解析運(yùn)算或稱為名字解析運(yùn)算符符)“: :”,用以解決局部變量名與全局變量的同名重復(fù)問題。,用以解決局部變量名與全局變量的同名重復(fù)問題。在局部變量的作用域內(nèi)可用作用域標(biāo)識符在局部變量的作用域內(nèi)可用作用域標(biāo)識符: :對被其隱藏的同對被其隱藏的同名全局變量進(jìn)行訪問名全局變量進(jìn)行訪問。下面是一個簡單的
16、例子:。下面是一個簡單的例子: int x=0; /定義全局變量定義全局變量x void test(int x) /定義局部變量定義局部變量x (相當(dāng)于相當(dāng)于x ) x=5;/此處引用局部變量此處引用局部變量(相當(dāng)于相當(dāng)于x ) :x=9;/此處引用全局變量此處引用全局變量 第第1章章C與與C+YYHYYH版版 在在C+中中,當(dāng)全局變量和某函數(shù)內(nèi)的局部變量同名時當(dāng)全局變量和某函數(shù)內(nèi)的局部變量同名時,該函數(shù)對該函數(shù)對全局變量起屏蔽作用,即在該函數(shù)內(nèi)無法訪問此全局變量,而全局變量起屏蔽作用,即在該函數(shù)內(nèi)無法訪問此全局變量,而在該函數(shù)執(zhí)行完畢時即釋放掉該在該函數(shù)執(zhí)行完畢時即釋放掉該局部變量局部變量,
17、只要在其前使用范,只要在其前使用范圍分解符圍分解符: :即可訪問同名的全局變量。即可訪問同名的全局變量。 例如例如(類同上例類同上例): float n; void main() int n; n=5; / 給局部變量給局部變量n賦值賦值 : : n=5.53; / 給全局變量給全局變量n賦值賦值 同理,對屬于不同類同理,對屬于不同類A和和B的同名函數(shù)的同名函數(shù),可在類可在類B中用中用“:” 使用類使用類A中的同名函數(shù)。中的同名函數(shù)。第第1章章C與與C+YYHYYH版版 6程序塊中的變量聲明程序塊中的變量聲明 將幾個語句用大括號將幾個語句用大括號、組合起來就構(gòu)成了一個程序塊。在組合起來就構(gòu)成了
18、一個程序塊。在C語言中,變量的聲明只允許出現(xiàn)在程序塊的開始,而在語言中,變量的聲明只允許出現(xiàn)在程序塊的開始,而在C+語語言中變量聲明可以出現(xiàn)在任何位置。如下面的程序片斷:言中變量聲明可以出現(xiàn)在任何位置。如下面的程序片斷: for(int i=0; iy) return x; else return y; 第第1章章C與與C+YYHYYH版版1.2 C+語言的開發(fā)環(huán)境語言的開發(fā)環(huán)境 1.2.1 常見常見C+編譯器簡介編譯器簡介 使用C+語言開發(fā)應(yīng)用程序的過程與C語言相同,首先輸入源程序,然后使用編譯器編譯生成目標(biāo)代碼文件,再由連接程序生成可執(zhí)行的二進(jìn)制文件,最后運(yùn)行之。 目前,越來越多地使用圖形
19、用戶界面的Windows 95和Windows NT。Windows環(huán)境下,微軟公司與Borland公司都有自己的C+編譯器,如微軟的Visual C+ 6.0、Borland公司的Borland C+ 5.0、C+ Builder等,它們所提供的不僅僅是C+編譯器,而是一個完整的開發(fā)平臺。 在學(xué)習(xí)C+基本語法的過程中,建議讀者使用DOS系統(tǒng)下的Borland C+ 3.1。它的集成環(huán)境簡單易用,而且提供了強(qiáng)大的調(diào)試功能。下面先簡單介紹一下Borland C+3.1的使用,本書的第9章將詳細(xì)介紹Visual C+開發(fā)平臺的使用。第第1章章C與與C+YYHYYH版版 1.2.2 Borland
20、C+ 3.1的使用的使用 1安裝安裝(略略) 2. 操作方法是:操作方法是: 選擇File菜單下的New,Borland C+3.1打開一個新的源程序編輯窗口如圖1.2所示 輸入源程序 然后按F2保存源程序(也可以使用File菜單下的Save),源程序文件的擴(kuò)展名為CPP 選擇Run菜單下的Run即可編譯執(zhí)行程序。 3. 說明:說明:如果程序在編譯連接過程中有錯誤,錯誤信息可在Message窗口中看到。如果是編譯已存在的源程序文件,可用File菜單下的Open功能裝入該程序文件。如果要編譯執(zhí)行多個源程序文件構(gòu)成的項(xiàng)目,需要建立一個項(xiàng)目文件,即選擇Project菜單下的Open功能,輸入項(xiàng)目文件名,如果該文件存在,則打開該項(xiàng)目文件,否則將建立一個新的項(xiàng)目文件。圖1.2中的Project VCIRC窗
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙教新版高二數(shù)學(xué)下冊階段測試試卷含答案
- 2025年北師大版九年級科學(xué)上冊階段測試試卷含答案
- 2025年冀少新版必修3地理下冊階段測試試卷含答案
- 2024版季節(jié)性臨時工勞動合同
- 二零二五年度金融資產(chǎn)交易合作合同3篇
- 二零二五年度#舞蹈教學(xué)資源庫建設(shè)與共享合同3篇
- 2025年教科新版必修2生物下冊月考試卷
- 2025年粵教滬科版一年級英語下冊階段測試試卷
- 2025年人教版PEP必修3物理上冊月考試卷含答案
- 2025年滬教新版必修2生物上冊階段測試試卷
- 成都大熊貓基地英文導(dǎo)游詞-四川大熊貓基地解說詞
- 一年級語文上冊《兩件寶》教案1
- 咨詢公司工作總結(jié)(共5篇)
- pcs-985ts-x說明書國內(nèi)中文版
- GB/T 38836-2020農(nóng)村三格式戶廁建設(shè)技術(shù)規(guī)范
- 小品《天宮賀歲》臺詞劇本手稿
- 京東商業(yè)計劃書課件
- 醫(yī)院患者傷口換藥操作課件
- 肥料采購驗(yàn)收單模板
- 部編版五年級下冊語文根據(jù)課文內(nèi)容填空(常用)
- 中鐵集團(tuán)會計核算手冊
評論
0/150
提交評論