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

正文內(nèi)容

c++程序設(shè)計(北理工)ppt-文庫吧

2025-09-17 15:50 本頁面


【正文】 浮點(diǎn)型 (float, double)、空類型 (void)??捎?signed、unsigned修飾字符型和整型, long可用來修飾整型和雙精度浮點(diǎn)型, short可以修飾整型。 ? 用戶自定義數(shù)據(jù)類型 :在基本數(shù)據(jù)類型或者已定義的數(shù)據(jù)類型基礎(chǔ)上,用戶根據(jù)自己的需要,構(gòu)造出的新類型。如:枚舉、聯(lián)合、結(jié)構(gòu)、類等。將數(shù)據(jù)與操作數(shù)據(jù)的算法(函數(shù))封裝在一起所建立的類型,又被稱作 抽象數(shù)據(jù)類型 ,在 C++中通常指 類 類型。 ? 在已定義的數(shù)據(jù)類型基礎(chǔ)上,結(jié)合某些修飾符(如 []、*、 amp。、 ())或者關(guān)鍵字(如 const),可以得到 擴(kuò)展數(shù)據(jù)類型 ,如數(shù)組、指針、引用等。 C++的數(shù)據(jù)類型 37 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 布爾型( bool), 或邏輯型,占用 1個字節(jié),其值只能是真( true)或假( false)兩種情況,一般用“ 1”表示 true,用“ 0”表示 false。 ? 字符型( char), 表示單個 ASCII字符或者相應(yīng)的整數(shù)值,占用 1個字節(jié)。在內(nèi)存中以 ASCII碼值的形式存儲。 ? 整型( int), 修飾符 short、 long、 signed、unsigned。 ? 浮點(diǎn)型( float, double), 即實數(shù),單精度、雙精度和長雙精度。 ? 空類型( void), 表示函數(shù)無返回值、或者指針?biāo)笇ο蟮念愋筒幻鞔_。 基本數(shù)據(jù)類型 38 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 基本數(shù)據(jù)類型所占用的內(nèi)存情況參見表 23。 ? 可以通過運(yùn)算符 sizeof,測試在自己的機(jī)器環(huán)境下某種數(shù)據(jù)類型或?qū)ο笏加玫膬?nèi)存大小。如 sizeof(float); ? 參見 例 22。 基本數(shù)據(jù)類型 39 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 常量 :在程序運(yùn)行過程中,其值不可改變。包括:文字常量、宏定義的符號常量、 const常量等。 ? 變量 :在程序運(yùn)行過程中,其值可以改變。 常量與變量 40 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 布爾文字 , true, false ? 整型文字 ,例如, 1000L表示長整數(shù), 1000UL表示無符號長整數(shù), U和 L不分前后。八進(jìn)制表示 0767L ,十六進(jìn)制表示 0x76fL等。 ? 浮點(diǎn)型文字 , , .65F, , 1e+5F, .28E12L ? 字符文字 ,( 1)‘ A?,‘ 4?;( 2)用八進(jìn)制或十六進(jìn)制的 ASCII碼值表示:如‘ A?又可以表示為‘ \101?,或者‘ \x41?;( 3)如‘ \n?表示換行符,參見表 24。 ? 字符串 文字,‘’ a??,‘‘ book?? ,以字符 ‘ \0?結(jié)尾。因此,字符 39。a39。 占一個字節(jié),而字符串 39。39。a39。39。占兩個字節(jié)。 1. 文字常量 常量與變量 41 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 變量(或?qū)ο螅┮话憔哂忻Q(通過 new創(chuàng)建的對象沒有名稱)、類型、數(shù)值、地址這四個要素。定義變量時,系統(tǒng)會在內(nèi)存中為該變量分配一塊連續(xù)區(qū)域,變量的地址就是該區(qū)域的首地址。 C語言中習(xí)慣使用“變量”這個術(shù)語。 ? C++中的對象,強(qiáng)調(diào)的是分配好的、具體的一塊內(nèi)存區(qū)域,并且具有唯一的地址。每個對象都與一個特定的數(shù)據(jù)類型相關(guān)聯(lián),這個類型決定了相關(guān)內(nèi)存的大小、布局、能夠存儲在該區(qū)域的值的范圍以及可以對該區(qū)域進(jìn)行哪些操作等。數(shù)據(jù)類型不僅包括基本數(shù)據(jù)類型,更重要的是抽象數(shù)據(jù)類型。 2. 變量與對象 常量與變量 42 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? C++規(guī)定,標(biāo)識符(如對象名、類名、函數(shù)名等)在使用之前要先進(jìn)行聲明或定義。 聲明 是告訴編譯器“這個標(biāo)識符在某處進(jìn)行了定義”。定義是說“在這里建立對象、函數(shù)等”,并分配相應(yīng)的存儲空間。 ? 大多數(shù)情況下對象聲明也就是定義,只有對全局對象進(jìn)行 extern聲明時例外。 float f1, f2, f3, f4。 float f = 。 或者 float f()。 ? 類對象通過調(diào)用構(gòu)造函數(shù)進(jìn)行初始化。 2. 變量與對象-對象的聲明和定義 常量與變量 43 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 作用域 指標(biāo)識符在程序正文中的有效范圍,例如函數(shù)域、類域、名字空間域、文件域(編譯單元內(nèi)有效,一個包含內(nèi)嵌頭文件內(nèi)容的完整 .cpp文件就是一個編譯單元)等。 ? 一對花括號之間的代碼構(gòu)成一個程序塊,在程序塊內(nèi)定義的對象是 局部對象 ,局部對象的作用域從對象的定義點(diǎn)開始,到程序塊結(jié)束為止。函數(shù)(包括主函數(shù))內(nèi)部定義的對象都是局部對象。 ? 可見性 討論的是標(biāo)識符能否被使用。在具有包含關(guān)系的局部作用域中,同名的內(nèi)層對象將屏蔽外層對象。這時外層對象的標(biāo)識符是不可見的。 ? 在同一作用域中不能對同一個標(biāo)識符多次定義。 2. 變量與對象-標(biāo)識符的作用域和可見性 常量與變量 44 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 2. 變量與對象-標(biāo)識符的作用域和可見性 常量與變量 45 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 在函數(shù)、類等之外定義的對象,默認(rèn)情況下的作用范圍具有全局性,即在整個程序運(yùn)行期間起作用,所以稱之為 全局對象 。在局部作用域內(nèi),同名的局部對象將屏蔽全局對象。如果想在局部作用域內(nèi)使用全局對象,則應(yīng)利用作用域運(yùn)算符“ ::” 。參見 例 24 。 ? 如果一個程序包含多個編譯單元,那么在一個編譯單元中定義的全局對象,不僅在該編譯單元可用,在其他編譯單元也可以使用,但要先進(jìn)行 extern聲明。參見例 25 。 ? 對于包含多個編譯單元的程序,如果想使全局對象只在定義它的編譯單元中起作用,則可以在定義時聲明它為 static。參見 例 26 。 2. 變量與對象-標(biāo)識符的作用域和可見性 常量與變量 46 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 程序中的對象,一般在需要時被創(chuàng)建,不需要時則從內(nèi)存中刪除。在創(chuàng)建和刪除之間所經(jīng)歷的時間稱為對象的 生存期 。 ? 一般,局部對象的生存期與它的作用域同在,全局對象的生存期與程序的整個執(zhí)行過程同在。 ? 如果想使一個對象在整個程序執(zhí)行過程中都存在,同時又不希望像全局對象那樣存在安全隱患,這時可聲明 static局部對象。聲明靜態(tài)局部對象時,一般要進(jìn)行初始化。參見 例 27 。 2. 變量與對象-對象的生存期 常量與變量 47 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 一般局部對象的作用域從對象的定義點(diǎn)開始,到它所在的程序塊結(jié)束為止;生存期與作用域同在。 ? 靜態(tài)局部對象的作用域與一般局部對象相同;生存期與整個程序同在。 ? 一般全局對象在程序的任意地方都可以使用;生存期與整個程序同在。 ? 靜態(tài)全局對象具有文件作用域;生存期與整個程序同在。 ? 用 new建立的堆對象,其作用域和生存期由用戶確定。 關(guān)于作用作用域與生存期的總結(jié): 常量與變量 48 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 定義對象時, auto、 register、 static、 extern是影響對象存儲類型的幾個關(guān)鍵字。 ? 存儲區(qū)域類型 : (1) 靜態(tài)存儲區(qū) ,全局對象、靜態(tài)對象和函數(shù)一般存儲于該區(qū)域,存儲區(qū)在程序開始執(zhí)行之前分配,在程序的整個運(yùn)行期間都存在。 (2) 棧區(qū)(stack),程序執(zhí)行期間進(jìn)行內(nèi)存分配。一般局部變量存于棧區(qū)。 (3) 堆區(qū) (heap),也稱為動態(tài)存儲區(qū)。程序運(yùn)行時用 new申請內(nèi)存,由程序員負(fù)責(zé)何時用delete釋放內(nèi)存。 ? 不同存儲類型的對象,被分配在不同的內(nèi)存區(qū)域參見例 28 。 2. 變量與對象-對象的存儲 常量與變量 49 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 在 C++標(biāo)準(zhǔn)化之前,當(dāng)需要用符號表示常量時,常用define宏 命令來定義,例如: define PI ? 標(biāo)準(zhǔn) C++中用 const定義常量,與定義變量的語法類似,只是在前面多了一個關(guān)鍵字 const。 const double pi = 。 ? 常量必須進(jìn)行初始化,而且常量的值不能改變。 ? 全局 const量,默認(rèn)具有文件作用域,這一點(diǎn)與一般全局對象不同。如果想使一個 const在整個程序可用,那么定義時就要帶 extern聲明。 3. 常量 常量與變量 50 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? volatile的語法與 const類似 。關(guān)鍵字const告訴編譯器“不要改變我”,而關(guān)鍵字 volatile則告訴編譯器“我可能會改變”。 ? 當(dāng)編譯器不進(jìn)行優(yōu)化時, volatile不起作用;但當(dāng)優(yōu)化代碼時,用該關(guān)鍵字則可以防止出現(xiàn)錯誤。 4. volatile 常量與變量 51 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 在基本數(shù)據(jù)類型基礎(chǔ)上,用戶可以根據(jù)需要構(gòu)造出新的數(shù)據(jù)類型,如 枚舉 、聯(lián)合 、 結(jié)構(gòu) 、 類 等,這些都可以稱為自定義數(shù)據(jù)類型。一旦定義了一種新的數(shù)據(jù)類型,我們就可以使用這種新類型。 自定義數(shù)據(jù)類型 52 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 枚舉 類型是若干個有名字的整型常量的集合,如: enum Shape {CIRCLE= 10, SQUARE=0, RECTANGLE=10}。 ? 花括號內(nèi)的標(biāo)識符是 枚舉常量 ,多個枚舉常量之間用逗號分隔;枚舉常量的類型為 Shape,具有整數(shù)值,可用來初始化或更新 Shape類型的對象。如: Shape sh = SQUARE。 //對象 sh初值為 SQUARE sh = RECTANGLE。 //sh值改為 RECTANGLE 自定義數(shù)據(jù)類型 1. 枚舉 53 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 ? 枚舉常量的值,最前邊的一個默認(rèn)為為 0,其后的值依次加 1; ? 枚舉常量的值也可顯式定義,未顯式定義的則在前一個值的基礎(chǔ)上加 1,如下面 BLACK值為 0, GREEN值為 1, RED值為 5,YELLOW值為 6: enum Color {BLACK, GREEN, BLUE = 4, RED, YELLOW} 自定義數(shù)據(jù)類型 1. 枚舉 54 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 自定義數(shù)據(jù)類型 2. 聯(lián)合 聯(lián)合 類型對象的每個成員都存儲在同一位置,最大存儲空間的需要量由需要存儲空間最大的成員決定。 sizeof (A. a) = 4 sizeof (A. b) = 8 sizeof (A) = 8 union UnionX { int a。 double b。 }。 UnionX A。 //A為對象 55 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 自定義數(shù)據(jù)類型 3. 結(jié)構(gòu) 結(jié)構(gòu) 類型由其他類型的數(shù)據(jù)成員組成,如可以把學(xué)生的學(xué)號、姓名、年齡、成績等放在一起,定義一種結(jié)構(gòu)類型。 sizeof (A. a) = 4 sizeof (A. b) = 8 sizeof (A) = 12 struct StructX { int a。 double b。 }。 StructX A。 //A為對象 56 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 自定義數(shù)據(jù)類型 4. 類 ? 在上面的結(jié)構(gòu)類型中,我們把不同類型的數(shù)據(jù)封裝在一起。那么對于使用這些數(shù)據(jù)的算法(一般通過函數(shù)實現(xiàn)),我們是否也能封裝到一起? ? 通過關(guān)鍵字 class,可以定義一種新的數(shù)據(jù)類型,即 類 ,例如: 57 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 自定義數(shù)據(jù)類型 4. 類 class ClassX //定義 ClassX類類型 { public: //下面的成員是公有的 //成員函數(shù) SetData() void SetData(int r1, int r2){ a=r1。 b=r2。 } private: //下面的成員是私有的 int a, b。 //聲明 int型數(shù)據(jù)成員 a和 b }。 //注意分號不能少! ClassX A。 //聲明一個對象 58 北京理工大學(xué) ? 計算機(jī)科學(xué)技術(shù)學(xué)院 自定義數(shù)據(jù)類型 4. 類 ? struct類型中也可以封裝成員函數(shù)。 ? 在 C++中, struct類型與 class類型的區(qū)別是:默認(rèn)情況下 class中的成員具有 private訪問屬性,而 struct中的成員具有 public訪問屬性。 ? 可以把枚舉 enum、聯(lián)合 union和結(jié)構(gòu)struct看作是類 class的特殊情況。 59 北京理工大學(xué) ? 計
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1