freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c講義完整版ppt課件-展示頁(yè)

2025-05-21 04:19本頁(yè)面
  

【正文】 一個(gè)簡(jiǎn)單的例子 int i, amp。 練習(xí) 用指針寫(xiě)一個(gè) swap函數(shù),交換兩個(gè)整數(shù) a和b的值。 void *p。 double *pd=amp。這種指針可被賦以其它任何類型的指針。 // 編譯錯(cuò)誤 ? //試圖修改常量指針指向的對(duì)象值 void類型 ; void fun(void) { return 。 num。num。num。num。 指針常量 ? int num=10。 ? 其含義是指針變量的值不可改變 ? 不允許修改指針變量的地址值 ? 可以修改指針指向的變量值,如果指向的對(duì)象不是一個(gè)常量的話 ? 例子 ? int * const ptr1。 cout ―i = ‖ *ptr endl。i。i。 const int i = 10。 cout ―i = ‖ *ptr endl。i *ptr = 15。i。 int i=10。 // 指針賦值 ptr[3] = ? ‘。 const char str[10]=―hehehe‖。 // 修改指針的值 *ptr = i+10。 ptr = amp。 ? 其含義是指向常量的指針 ? 不允許通過(guò)指針來(lái)修改其指向的對(duì)象的值 ? 可以修改指針的值 ? 例子 const int * ptr。 return。 printf(―The value of inner global is : %d\n‖, global)。 } 作用域 作用域分辨操作符 ? 全局變量訪問(wèn) ? ::global include int global = 10。 printf(―The value of global is : %d\n‖, global)。 } 作用域 一個(gè)簡(jiǎn)單的例子 include int global = 10。 ::x=2。 例 int x。 } } 作用域 ? 模塊:在 C語(yǔ)言中模塊的概念是指在花括號(hào){}之間的一組語(yǔ)句 ? 作用域的種類 ? 局部模塊作用語(yǔ):變量定義在模塊范圍內(nèi) ? 文件作用域:變量定義在全局范圍內(nèi),只限于當(dāng)前文件的存??; ? 全局作用域:變量定義在全局范圍內(nèi),對(duì)全程序有效。 return。 while( 1 ) { key = getch()。 coutWele to c++!\n。以后又經(jīng)過(guò)不斷完善,成為目前的 C++。 ? 1983年正式取名為 C++。 ? 例如: 數(shù)的加法 實(shí)數(shù)的加法 復(fù)數(shù)的加法 C++語(yǔ)言概述 ? C++語(yǔ)言的產(chǎn)生 ? C++的特點(diǎn) ? 一個(gè)簡(jiǎn)單的 C++程序?qū)嵗? C++語(yǔ)言的產(chǎn)生 ? C++是從 C語(yǔ)言發(fā)展演變而來(lái)的,首先是一個(gè)更好的 C。 面向?qū)ο蟮幕靖拍? 多態(tài)性 ? 多態(tài)性是指在一般類中定義的屬性或行為,被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。 ? 定義:特殊類的對(duì)象擁有其一般類的全部屬性與行為,稱作特殊類對(duì)一般類的繼承。對(duì)外形成一個(gè)邊界(或者說(shuō)一道屏障),只保留有限的對(duì)外接口使之與外部發(fā)生聯(lián)系。 ? 類與對(duì)象的關(guān)系: 猶如模具與鑄件之間的關(guān)系,一個(gè)屬于某類的對(duì)象稱為該類的一個(gè)實(shí)例。 ? 例如,石頭、樹(shù)木、汽車、房屋等都是人們?cè)陂L(zhǎng)期的生產(chǎn)和生活實(shí)踐中抽象出的概念。 ? 行為:用來(lái)描述對(duì)象動(dòng)態(tài)特征的操作。對(duì)象由一組屬性和一組行為構(gòu)成。 ? 可以是有形的(比如一輛汽車),也可以是無(wú)形的(比如一項(xiàng)計(jì)劃)。 ? 類通過(guò)一個(gè)簡(jiǎn)單的外部接口,與外界發(fā)生關(guān)系 ? 基本設(shè)計(jì)思想 ? 封裝 ? 軟件復(fù)用 面向?qū)ο蟮脑O(shè)計(jì)思想 ? 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法 ? 優(yōu)點(diǎn) ?程序模塊間的關(guān)系更為簡(jiǎn)單,程序模塊的獨(dú)立性、數(shù)據(jù)的安全性就有了良好的保障。 程序設(shè)計(jì)方法的發(fā)展歷程 ? 面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì)方法 ? 缺點(diǎn):可重用性差、數(shù)據(jù)安全性差、難以開(kāi)發(fā)圖形界面的應(yīng)用 ?把數(shù)據(jù)和處理數(shù)據(jù)的過(guò)程相互獨(dú)立 ?當(dāng)數(shù)據(jù)結(jié)構(gòu)改變時(shí),所有相關(guān)的處理過(guò)程都要進(jìn)行相應(yīng)的修改 ?圖形用戶界面的應(yīng)用,很難用過(guò)程來(lái)描述和實(shí)現(xiàn),開(kāi)發(fā)和維護(hù)都很困難 面向?qū)ο蟮脑O(shè)計(jì)思想 ? 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法 ? 將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作方法封裝在一起,作為一個(gè)相互依存、不可分離的整體 ——對(duì)象。C++語(yǔ)言編程 寧 博 程序設(shè)計(jì)方法的發(fā)展歷程 ? 面向過(guò)程的程序設(shè)計(jì)方法 ? 程序的目的:用于數(shù)學(xué)計(jì)算 ? 主要工作:設(shè)計(jì)求解問(wèn)題的過(guò)程 ? 缺點(diǎn):對(duì)于龐大、復(fù)雜的程序難以開(kāi)發(fā)和維護(hù) 程序設(shè)計(jì)方法的發(fā)展歷程 ? 面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì)方法 ? 設(shè)計(jì)思路 ?自頂向下、逐步求精。采用模塊分解與功能抽象,自頂向下、分而治之 ? 程序結(jié)構(gòu) ?按功能劃分為若干個(gè)基本模塊 ?各模塊間的關(guān)系盡可能簡(jiǎn)單,功能上相對(duì)獨(dú)立;每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成 ?其模塊化實(shí)現(xiàn)的具體方法是使用子程序 程序設(shè)計(jì)方法的發(fā)展歷程 ? 面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì)方法 ? 優(yōu)點(diǎn) 有效地將一個(gè)較復(fù)雜的程序系統(tǒng)設(shè)計(jì)任務(wù)分解成許多易于控制和處理的子任務(wù),便于開(kāi)發(fā)和維護(hù)。 ? 對(duì)同類型對(duì)象抽象出其共性,形成類。 ?通過(guò)繼承與多態(tài)性,可以大大提高程序的可重用性,使得軟件的開(kāi)發(fā)和維護(hù)都更為方便 面向?qū)ο蟮幕靖拍? 對(duì)象 ? 一般意義上的對(duì)象 ? 是現(xiàn)實(shí)世界中一個(gè)實(shí)際存在的事物。 ? 是構(gòu)成世界的一個(gè)獨(dú)立單位,具有: ?靜態(tài)特征:可以用某種數(shù)據(jù)來(lái)描述 ?動(dòng)態(tài)特征:對(duì)象所表現(xiàn)的行為或具有的功能 面向?qū)ο蟮幕靖拍? 對(duì)象 ? 面向?qū)ο蠓椒ㄖ械膶?duì)象 ? 是系統(tǒng)用來(lái)描述客觀事物的一個(gè)實(shí)體,它是用來(lái)構(gòu)成系統(tǒng)的一個(gè)基本單位。 ? 屬性:用來(lái)描述對(duì)象靜態(tài)特征的數(shù)據(jù)項(xiàng)。 面向?qū)ο蟮幕靖拍? 類 ? 分類 ——人類通常的思維方法 ? 分類所依據(jù)的原則 ——抽象 ? 忽略事物的非本質(zhì)特征,只注意那些與當(dāng)前目標(biāo)有關(guān)的本質(zhì)特征,從而找出事物的共性,把具有共同性質(zhì)的事物劃分為一類,得出一個(gè)抽象的概念。 面向?qū)ο蟮幕靖拍? 類 ? 面向?qū)ο蠓椒ㄖ械?類 ? 具有相同屬性和行為的一組對(duì)象的集合 ? 為屬于該類的全部對(duì)象提供了抽象的描述,包括屬性和行為兩個(gè)主要部分。 面向?qū)ο蟮幕靖拍? 封裝 ? 把對(duì)象的屬性和行為結(jié)合成一個(gè)獨(dú)立的系統(tǒng)單位 ? 盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié)。 面向?qū)ο蟮幕靖拍? 繼承 ? 繼承對(duì)于軟件復(fù)用有著重要意義,是面向?qū)ο蠹夹g(shù)能夠提高軟件開(kāi)發(fā)效率的重要原因之一。 ? 例如:將 Person作為一個(gè)一般類, Student便是一個(gè)特殊類。這使得同一個(gè)屬性或行為在一般類及其各個(gè)特殊類中具有不同的語(yǔ)義。 ? 引入了類的機(jī)制,最初的 C++被稱為 帶類的 C。 C++語(yǔ)言的標(biāo)準(zhǔn)化工作從 1989年開(kāi)始,于 1994年制定了 ANSI C++標(biāo)準(zhǔn)草案。 C++的特點(diǎn) ? 全面兼容 C ? 它保持了 C的簡(jiǎn)潔、高效和接近匯編語(yǔ)言等特點(diǎn) ? 對(duì) C的類型系統(tǒng)進(jìn)行了擴(kuò)充 ? C++也支持面向過(guò)程的程序設(shè)計(jì),不是一個(gè)純正的面向?qū)ο蟮恼Z(yǔ)言 ? 支持面向?qū)ο蟮姆椒? ? 類、對(duì)象、繼承、抽象、封裝、 … . 一個(gè)簡(jiǎn)單的 C++程序?qū)嵗? include void main(void) { coutHello!\n。 } 一個(gè)簡(jiǎn)單的 C++程序?qū)嵗? 運(yùn)行結(jié)果: Hello! Wele to c++! 注釋 ? C中的注釋:塊注釋 /* */ ? /* This is a ment */ ? 不允許嵌套 ? C++中的注釋 ? C++繼承了 C的塊注釋方式 ? 增加了一種行注釋方式 ? C++把任何一行中從 “ //‖開(kāi)始直到該行結(jié)束的所有內(nèi)容皆視為注釋 注釋 一個(gè)簡(jiǎn)單的例子 include include void main() { // Checking if a keyword is ESC int i, key。 // Get a key from console if (key == ‘\x1B’ { printf(“\nEscape! ”)。 } else printf(“\nKeycode is %2XH”, key)。實(shí)現(xiàn)方式: include和 extern ? 類作用域:變量定義在類中,在類范圍內(nèi)有效 作用域 : : 運(yùn)算符 : 指明作用域。 void f() { int x=1。 return。 void main() { int global = 5。 return。 void main() { int global = 5。 printf(―The value of outer global is : %d\n‖, ::global)。 } 指針 ? 指針是 C語(yǔ)言的一個(gè)非常重要的特征 ? 實(shí)際上是內(nèi)存地址,非常靈活且非常高效 ? 但又潛伏著非常大的危險(xiǎn)性 ? 具有數(shù)據(jù)類型,可以進(jìn)行指針運(yùn)算 ? 無(wú)值型指針, void *,是一種非常有用且十分靈活的指針類型 常量指針 ? 定義格式 const type * ptr_name。 const int i=10。 i。 // 錯(cuò)誤操作,試圖修改指針指向的內(nèi)容 常量指針 ? 例子 const char * ptr。 ptr = str。 // 錯(cuò)誤操作,試圖修改指針指向的內(nèi)容 常量指針 const int * ptr。 ptr = amp。 // 指針賦值 , 等價(jià)于 (const int *)amp。 // 錯(cuò)誤操作,試圖修改指針指向的內(nèi)容 i++。 輸出結(jié)果為: 11 常量指針 ? 不允許將 const類型的變量地址賦值給一般的變量指針 int * ptr。 ptr = amp。 // 編譯錯(cuò)誤 ptr = (int *)amp。 // 正確 *ptr = *ptr + 1。 輸出結(jié)果為: 11 指針常量 ? 定義格式 type * const ptr_name。 ? void * const ptr2。 ? int * const const_ptr = amp。 ? const int * ptr_to_const = amp。 ? int const * ptr = amp。 ? const_ptr =(int * const) amp。 // 編譯錯(cuò)誤 ? //試圖修改一個(gè)指針常量的地址值 ? *ptr = num。} ; double fun(void) { } void型。 double a=。a。 p=pd。打印交換前后 a,b的值。j=i。 cout―i=‖ iendl。 cout―i=‖ iendl。 cout―j=‖ jendl。 ref_name = var_name。j=i。打印交換前后 a,b的值。 堆內(nèi)存的分配與釋放 當(dāng)程序運(yùn)行到需要一個(gè)動(dòng)態(tài)分配的變量或?qū)ο髸r(shí) , 必須向系統(tǒng)申請(qǐng)取得堆中的一塊所需大小的存貯空間 , 用于存貯該變量或?qū)ο?。 在 C++中 , 申請(qǐng)和釋放堆中分配的存貯空間 , 分別使用new和 delete的兩個(gè)運(yùn)算符來(lái)完成 , 其使用的格式如下: 指針變量名 =new 類型名 (初始化式 ); delete 指針名 。對(duì)所創(chuàng)建的變量或?qū)ο?,都是通過(guò)該指針來(lái)間接操作的,而 動(dòng)態(tài)創(chuàng)建的對(duì)象本身沒(méi)有名字。 void free(void *)。 exit(1)。 堆內(nèi)存的分配與釋放 new new 類型名 T(初值列表) 功能: 在程序執(zhí)行期間,申請(qǐng)用于存放 T類型對(duì)象的內(nèi)存空間,并依據(jù)初值列表調(diào)用合適的構(gòu)造函數(shù)。失?。?0( NULL) 堆內(nèi)存的分配與釋放 ? delete delete 指針 P 功能: 釋放指針 P所指向的內(nèi)存。 堆內(nèi)存的分配與釋放 1.用初始化式 (initializer)來(lái)顯式初始化 例如: int *pi=new int(0)。 注意這時(shí)釋放了 pi所指的目標(biāo)的內(nèi)存空間,也就是
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1