版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+程序設(shè)計(jì),北京郵電大學(xué)出版社,第1章 C+語(yǔ)言概述,1.1 C+語(yǔ)言簡(jiǎn)介 1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的三個(gè)主要特征 1.3 C+語(yǔ)言的詞法 1.4 C+程序的結(jié)構(gòu)特點(diǎn)與書(shū)寫(xiě)格式 1.5 C+程序的實(shí)現(xiàn),本章主要內(nèi)容,1.1.1 C語(yǔ)言,C+語(yǔ)言是從C語(yǔ)言發(fā)展演變而來(lái)的,因此在介紹C+語(yǔ)言之前,我們首先介紹一下C語(yǔ)言。1972年至1973年間,美國(guó)貝爾實(shí)驗(yàn)室的Denis.M.Ritchie在一臺(tái)DEC PDP-11計(jì)算機(jī)上實(shí)現(xiàn)了基于B語(yǔ)言的最初的C語(yǔ)言。 C語(yǔ)言的產(chǎn)生基于兩個(gè)方面的需要:一是為滿足UNIX操作系統(tǒng)開(kāi)發(fā)的需要;二是為拉近高級(jí)語(yǔ)言與硬件之間距離的需要。,C語(yǔ)言具有以下特點(diǎn):,1、語(yǔ)
2、言簡(jiǎn)潔、緊湊,使用方便、靈活。 2、運(yùn)算符和數(shù)據(jù)類(lèi)型豐富。 3、能直接訪問(wèn)物理地址、能進(jìn)行位操作,具有匯編語(yǔ)言的某些功能。 4、生成的目標(biāo)代碼質(zhì)量高、程序運(yùn)行效率高。 5、具有良好的可讀性和可移植性。,C語(yǔ)言的局限性,1、數(shù)據(jù)類(lèi)型檢查機(jī)制相對(duì)較弱,這使得程序中的一些錯(cuò)誤不能在編譯階段被發(fā)現(xiàn)。 2、C語(yǔ)言本身幾乎沒(méi)有支持代碼重用的語(yǔ)言結(jié)構(gòu),因此,一個(gè)程序員精心設(shè)計(jì)的程序很難為其它程序所用。 3、當(dāng)程序段規(guī)模打到一定程度時(shí),程序員很難控制程序的復(fù)雜性。,他是誰(shuí)?,1980年,貝爾實(shí)驗(yàn)室的Bjarne Stroustrup開(kāi)始對(duì)C 進(jìn)行改進(jìn)和擴(kuò)充。1983年正式命名為C+。 在經(jīng)歷了3次C+修訂后,
3、1994年制定了ANSI C+標(biāo)準(zhǔn)的草案。以后又經(jīng)過(guò)不斷完善,成為目前的C+。,Dr. Bjarne Stroustrup美國(guó)Bell公司大規(guī)模編程研究中心主任,C+語(yǔ)言的設(shè)計(jì)創(chuàng)建人。,、保持與兼容 、可讀性好,代碼結(jié)構(gòu)更合理 、生成代碼質(zhì)量高 、可重用性、可擴(kuò)充性、可靠性有所提高 、支持面向?qū)ο蟮臋C(jī)制,C+的特點(diǎn),C+語(yǔ)言,C語(yǔ)言,保持與C語(yǔ)言的相兼性 是C語(yǔ)言的一個(gè)超集 支持面向?qū)ο蟪绦蛟O(shè)計(jì) 的語(yǔ)言,支持面向過(guò)程的程序設(shè)計(jì)語(yǔ)言,掌握好面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的三個(gè)主要特征,什么是面向?qū)ο螅?按人們認(rèn)識(shí)客觀世界的系統(tǒng)思維方式,采用基于對(duì)象的概念模型模擬客觀世界,來(lái)分析
4、、設(shè)計(jì)、實(shí)現(xiàn)軟件的方法,稱(chēng)為面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。,與面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念:,一、面向?qū)ο蟮?核心概念,二、面向?qū)ο蟮娜筇卣?對(duì)象的概念,類(lèi)的概念,封裝性,繼承性,多態(tài)性,1.對(duì)象的概念,對(duì)象是對(duì)客觀世界中實(shí)際存在的某中事物的抽象,即是描述客觀事物的一個(gè)實(shí)體。,請(qǐng)記住: 對(duì)象:世界的萬(wàn)事萬(wàn)物都是由對(duì)象構(gòu)成的!,無(wú)形的東西: 如 :時(shí)間,虛擬的東西,有形的東西,2.類(lèi)的概念,對(duì)象的分類(lèi)(類(lèi)的概念): 把所有具有相同特征和行為的對(duì)象的集合。,例如: 張三、李四歸為“人”類(lèi)。 地球、火星歸為“行星”類(lèi)。 某個(gè)時(shí)刻12:00、13:00歸為“時(shí)間”類(lèi)。,類(lèi)與對(duì)象的關(guān)系,類(lèi)是對(duì)象的抽象,對(duì)象是
5、類(lèi)的具體實(shí)現(xiàn) 如:“學(xué)生”是一個(gè)類(lèi),張三是一個(gè)學(xué)生,則張三是學(xué)生類(lèi)的一個(gè)實(shí)例。,面向?qū)ο蟮娜筇卣髦?封裝,封裝特征: 對(duì)象將自己的行為細(xì)節(jié)隱蔽起來(lái),只向外部提供可以操縱的接口。,汽車(chē)內(nèi)部的懸掛傳動(dòng)機(jī)構(gòu),面向?qū)ο蟮娜筇卣髦?繼承,繼承特征: 一種類(lèi)型的東西可以是屬于更高一層類(lèi)型,即層次性(包含性)。,例如:轎車(chē)屬于汽車(chē)類(lèi),也就是說(shuō)轎車(chē)包含在汽車(chē)類(lèi)中, 轎車(chē)?yán)^承了汽車(chē)的一般特性,只需描述轎車(chē)所特有的性能 就可以了。,面向?qū)ο蟮娜筇卣髦?多態(tài),如:給不同的對(duì)象貓和狗發(fā)送一個(gè)消息“叫一個(gè)”,,多態(tài)特征: 所謂多態(tài),既是事物的多種形態(tài); 發(fā)送同一消息,會(huì)獲得不同的行為回應(yīng)。,叫一個(gè)聽(tīng)聽(tīng),叫一
6、個(gè)聽(tīng)聽(tīng),行為不同,是多態(tài)的表現(xiàn),1.3 C+的詞法及詞法規(guī)則,一、C+的字符集,字符是一些可以區(qū)分的最小符號(hào),C+的字符集 由下列字符組成。 1、大小寫(xiě)英文字母 AZ ,az 2、數(shù)字字符 09 3、特殊字符 空格 ! # % ? “ ( ) ,二、單詞及詞法規(guī)則,單詞是由若干個(gè)字符組成的具有一定意義的最小 詞法單元。C+語(yǔ)言中的單詞有以下幾種: 1、標(biāo)識(shí)符 標(biāo)識(shí)符是程序員定義的單詞,用它來(lái)命名程序中的 一些實(shí)體,比如:函數(shù)名,變量名,常量名,對(duì)象名等。 C+規(guī)定,標(biāo)識(shí)符是由大小寫(xiě)字母、數(shù)字、下劃線組成,并且以字母或下劃線開(kāi)始。 下面是一些合法的標(biāo)識(shí)符: hello this_is f1 ca
7、r2 () 下面是一些 非法的標(biāo)識(shí)符: 012 sys pay.due this-is(),定義標(biāo)識(shí)符時(shí)要注意如下幾點(diǎn): (1)標(biāo)識(shí)符中大小寫(xiě)字母是有區(qū)別的。 (2)在實(shí)際應(yīng)用中,盡量使用有意義的單詞作標(biāo)識(shí)符。 (3)用戶定義標(biāo)識(shí)符時(shí),不能使用系統(tǒng)的關(guān)鍵字。 (4)標(biāo)識(shí)符不能以數(shù)字開(kāi)頭,不能含有空格鍵。 (5) 盡量不要使用l (L) , I ( i ), o (O)等作為標(biāo)識(shí)符,2、關(guān)鍵字(保留字) 關(guān)鍵字是系統(tǒng)已預(yù)定的單詞,用戶不可重新定義。 例如: int char float double if do for while class this void break else const
8、 continue default,3、運(yùn)算符 + - * / ! ,預(yù)處理命令,主函數(shù),語(yǔ)句,例1.1 鍵盤(pán)輸入a、b、c三個(gè)整數(shù),屏幕顯示其中的最大數(shù)。,編程思路: 第一步:設(shè)置a、b、c三個(gè)整型變量,鍵盤(pán)輸入a、b、c三個(gè)整數(shù)。 第二步:采用類(lèi)似于“打擂臺(tái)”的方式求a、b、c三個(gè)數(shù)的最大值max。 1)先讓a做擂主:假定a是最大值,即max=a; 2)b數(shù)據(jù)攻擂:如果b的值大于max值,則max的值必須更換為b的值; 3)c數(shù)據(jù)攻擂:如果c的值大于max值,則max的值必須更換為c的值; 第三步:屏幕顯示max的值。,參考程序,#include void main() int a,b,c
9、,max; couta; coutb; coutc;,max=a; if(bmax) max=b; if(cmax) max=c; coutmax=max; ,【例1.2】鍵盤(pán)輸入圓的半徑r,屏幕顯示其圓的面積值。,編程思路: 第一步:定義一個(gè)函數(shù)Area,它通過(guò)圓半徑r參數(shù)計(jì)算圓 面積值。 第二步:定義一個(gè)主函數(shù)main(),它首先提示用戶輸入圓 半徑值,然后調(diào)用計(jì)算圓面積的函數(shù)Area,最后顯示圓 的面積值。,參考程序,#include double Area(double r) /定義函數(shù)Area, 計(jì)算半徑為r的圓面積值 return 3.1416*r*r; void main() d
10、ouble radius,area; /定義標(biāo)識(shí)符radius,area coutradius; /鍵盤(pán)輸入radius的值 area=Area(radius); /調(diào)用計(jì)算圓面積函數(shù)Area cout“area=”area; /輸出圓的面積 ,1、預(yù)處理命令 以“#”開(kāi)頭的命令,如#include 其中,include是關(guān)鍵字 2、輸入和輸出 cout (提取符) 3、函數(shù) C+程序可由若干個(gè)函數(shù)組成,但必須要有并且只有 一個(gè)主函數(shù)main(). 4、語(yǔ)句 語(yǔ)句是組成程序的基本單元,函數(shù)是由若干條語(yǔ)句組成 ,每條語(yǔ)句是以分號(hào)結(jié)束的。 5、變量,1.4.2 C+程序的基本組成,1.4.3 C+
11、程序的書(shū)寫(xiě)格式:,優(yōu)秀程序員的素質(zhì)之一: 1.一個(gè)簡(jiǎn)單語(yǔ)句占一行 2.對(duì)齊 3.使用TAB縮進(jìn) 4.有足夠的注釋 5.有合適的空行,void main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; coutsumendl; ,程序的編輯、編譯和運(yùn)行 VC+6.0的集成開(kāi)發(fā)環(huán)境 上機(jī)步驟,1.5 C+程序的實(shí)現(xiàn),C+程序的編輯、編譯、運(yùn)行,1、C+源程序的實(shí)現(xiàn) 一般都經(jīng)歷編輯、 編譯(含連接)、 運(yùn)行這三個(gè)步驟。,工作區(qū)窗 口,菜單欄,工具欄,標(biāo)題欄,程序 窗口,輸出 窗口,狀態(tài)欄,Visual C+
12、開(kāi)發(fā)環(huán)境,VISUAL C+6.0的集成開(kāi)發(fā)環(huán)境,1、菜單功能,在VC開(kāi)發(fā)環(huán)境界面中有一系列的菜單,每一個(gè)菜單下都有各自的菜單命令。而了解一下各菜單命令的基本功能是很有必要的。 VC的菜單欄如圖所示。,VISUAL C+6.0的集成開(kāi)發(fā)環(huán)境,一、File菜單,二、Project菜單,三、Build菜單,2、項(xiàng)目和項(xiàng)目工作區(qū),大多數(shù)WIN32應(yīng)用程序除了有許多源代碼之外,還包含了菜單、工具欄、對(duì)話框、圖標(biāo)等許多資源,而這些資源通常用資源文件保存起來(lái)。另外,還需包含應(yīng)用程序源代碼文件編連時(shí)所需要的庫(kù)文件、系統(tǒng)DLL文件等。 而項(xiàng)目則用來(lái)有效地組織這些文件并維護(hù)各源文件之間的依賴(lài)關(guān)系。,在VC+項(xiàng)目
13、中通過(guò)采用文件夾方式來(lái)管理所有文件。 它將項(xiàng)目名作為文件夾名,在此文件夾下包含了源代碼文件(.cpp,.h)、項(xiàng)目文件(.dsp) 、項(xiàng)目工作區(qū)文件(.dsw)及相應(yīng)的調(diào)試或發(fā)行、資源等子文件夾,2、項(xiàng)目和項(xiàng)目工作區(qū),File- new- project,彈出 New project對(duì)話框。 在“Projects”中選擇項(xiàng)目類(lèi)型為“win32 console application”。在“project name”中輸入所指定的項(xiàng)目名。在location選框內(nèi)輸入項(xiàng)目文件所在的路徑名。 在隨著彈出的step對(duì)話框中選擇 an empty project項(xiàng),再finish結(jié)束。,上機(jī)步驟,一、創(chuàng)
14、建一個(gè)新的項(xiàng)目文件,上機(jī)步驟,上機(jī)步驟,1)Project-add file to project-new,彈出new框。,二、向項(xiàng)目文件中新建或添加已有源文件,2)在Files頁(yè)面中選“c+ source file”,并填入源文件名,新建一個(gè)源文件。,3)或選Files項(xiàng)彈出Insert file into project框,將已有源文件添加到項(xiàng)目中。,上機(jī)步驟,上機(jī)步驟,上機(jī)步驟,上機(jī)步驟,1)Build-build all, 生成與項(xiàng)目文件名同名的可執(zhí)行文件。 2)再用execute *.exe命令執(zhí)行。 示例,三、編譯、連接并運(yùn)行項(xiàng)目文件,上機(jī)步驟,Step 1:編輯源程序 Step 2:編譯源文件 Step 3:構(gòu)建目標(biāo)文件 Step 4:執(zhí)行EXE文件,上機(jī)步驟,提示:在菜單欄或工具欄的空白處單擊鼠
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職學(xué)前教育應(yīng)用技術(shù)基礎(chǔ)(教育應(yīng)用)試題及答案
- 2025年中職口腔醫(yī)學(xué)技術(shù)(義齒修復(fù)工藝)試題及答案
- 2026年農(nóng)村教育(教育模式)試題及答案
- 2025年大學(xué)認(rèn)證認(rèn)可管理(認(rèn)證認(rèn)可管理)試題及答案
- 2025年大學(xué)歷史教育(歷史教學(xué)方法)試題及答案
- 2025年中職林業(yè)生產(chǎn)技術(shù)(苗木培育)試題及答案
- 2025年中職(城市軌道交通運(yùn)營(yíng)管理)地鐵票務(wù)管理專(zhuān)項(xiàng)測(cè)試試題及答案
- 2026年漢堡食品加工機(jī)維修(加工機(jī)調(diào)試技術(shù))試題及答案
- 2025年中職藥物化學(xué)(藥物化學(xué)基礎(chǔ))試題及答案
- 2025年中職(鐵道運(yùn)輸服務(wù))列車(chē)乘務(wù)服務(wù)試題及答案
- 廣東高校畢業(yè)生“三支一扶”計(jì)劃招募考試真題2024
- 膠帶機(jī)硫化工藝.課件
- 種雞免疫工作總結(jié)
- 河南省商丘市柘城縣2024-2025學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)
- 河南省信陽(yáng)市2024-2025學(xué)年高二上學(xué)期1月期末英語(yǔ)試題(含答案無(wú)聽(tīng)力原文及音頻)
- 給女朋友申請(qǐng)書(shū)
- 八下《桃花源記》《小石潭記》全文背誦(原文+譯文)
- 【8地RJ期末】安徽省蕪湖市2024-2025學(xué)年八年級(jí)上學(xué)期期末考試地理試卷+
- 智能法理學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 長(zhǎng)護(hù)險(xiǎn)護(hù)理培訓(xùn)課件
- 福建省廈門(mén)市2023-2024學(xué)年高二上學(xué)期期末考試英語(yǔ)試題(解析版)
評(píng)論
0/150
提交評(píng)論