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

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計(jì)語言-在線瀏覽

2025-02-24 01:59本頁面
  

【正文】 類型 浮點(diǎn)類型 C++的浮點(diǎn)類型有三種: float、 double、 long double。 在大多數(shù)情況 , 這個(gè)差別不會(huì)對(duì)應(yīng)用造成影響 ,但是在某些情況下我們不能忽略 累積的誤差 。 那些用來標(biāo)識(shí)程序元素的名字就是 標(biāo)識(shí)符 。 標(biāo)識(shí)符是由字母 AZ, az和數(shù)字 09混合而成的 ,另外可以加入下劃線 ?_?。 20 第二章 C++語法 ? 變量和命名常量 標(biāo)識(shí)符 我們?cè)诿粋€(gè)標(biāo)識(shí)符的時(shí)候 , 最好遵循一些常用的約定: 有意義的名字 。 注意 , C++是大小寫敏感的語言 。 匈牙利記號(hào)是一種前綴 , 其做法是在標(biāo)識(shí)符的前面加上一個(gè)小寫字母以示其數(shù)據(jù)類型 。 bool bFlag。 double fDelta。 例如聲明變量iPage在內(nèi)存中的映像如下圖所示: 23 iPage 0x0013FF78 … … 內(nèi)存單元的符號(hào)名 內(nèi)存單元的 32位地址 內(nèi)存單元的大小在 32位機(jī)上是 4字節(jié) 第二章 C++語法 ? 變量和命名常量 常量 ( Named Constant) 和 const關(guān)鍵字 1. 字面常量 下面是一些字面常量和所屬類型的例子: 10 (int) 077L (long) 0xABCDu (unsigned int) (float) (double) ?A? (char) ?\xE7? (char) “Hello” (string) 24 第二章 C++語法 ? 變量和命名常量 常量 ( Named Constant) 和 const關(guān)鍵字 2. 命名常量 使用字面常量省掉了占用內(nèi)存單元的開銷 , 但也有一些缺點(diǎn): – 當(dāng)我們?cè)诙嗵幨褂昧讼嗤淖置娉A?, 而后來又要對(duì)這個(gè)常量進(jìn)行修改時(shí)就會(huì)顯得非常麻煩; – 字面常量沒有明確的 類型 信息 , 它們的類型采用編譯器的約定 。 26 第二章 C++語法 ? 變量和命名常量 常量 ( Named Constant) 和 const關(guān)鍵字 2. 命名常量 C++ 提 供 一 個(gè) 更 靈 活 的 命名常量 (Named Constant)方式來描述常數(shù): const float PI = 。 這樣 , PI成為一個(gè)真正的符號(hào)常量 , 有類型 ,需要占用存儲(chǔ)空間 ( 存放在常量數(shù)據(jù)區(qū) ) ,但它的值 不能 被修改 。 這很容易造成程序在某一時(shí)刻用到的該變量的值并不是它此刻真正的值 。C++使用 volatile關(guān)鍵字來約束一個(gè)變量 , 以警告編譯器這是一個(gè)易變變量: volatile int nSharedData。 C++提供了一種更好的解決方案 , 就是使用枚舉類型: enum TrafficLight { RED, GREEN, AMBER }。 另外 ,枚舉常量是 有序的 , 也就是說 , 有大小的 ,上面例子中的順序是這樣的: RED GREEN AMBER 30 第二章 C++語法 ? 用戶自定義類型 數(shù)組 1. 一維數(shù)組 一維數(shù)組的定義如下: int array[100]。 array是 整個(gè)數(shù)組 的名字 ,數(shù)組的每個(gè)整型單元沒有被直接命名 , 如果說有的話 , 那么它們的名字就是 array[0]、array[1]、 … 、 array[99], 分別引用的是 array數(shù)組的第 0個(gè) 、 第 1個(gè) 、 … 、 第 99個(gè)元素 。 下面的例子定義了一個(gè) 3行 5列的矩陣: const int ROW = 3。 int arr[ROW][COL]。 在上面的例子中 , arr可以被看作是一個(gè)長度為 3的一維數(shù)組 , 而這 3個(gè)元素的每一個(gè)都是一個(gè)長度為 5的一維數(shù)組 , 這個(gè)數(shù)組的每個(gè)單元的類型都是整型 。 不過 , 數(shù)組最后一個(gè)有效字符的后面必須是個(gè) 0( 注意 ,不是字符 ’ 0?) 。 char szName[] = { ?K?, ?e?, ?n?, ‘\0’ }。 當(dāng)要把 不同 類型的數(shù)據(jù)集合在一起時(shí) , 我們會(huì)用到結(jié)構(gòu) struct。 簡單的人事記錄包含工號(hào) 、 姓名 、性別 、 出生年份 、 工作部門等信息 。 36 第二章 C++語法 ? 用戶自定義類型 結(jié)構(gòu)和聯(lián)合 1. 結(jié)構(gòu) struct struct Employee { int nID。 //姓名 char cGender。 //出生年份 int nDeptID。 37 第二章 C++語法 ? 用戶自定義類型 結(jié)構(gòu)和聯(lián)合 1. 結(jié)構(gòu) struct Employee結(jié)構(gòu)體的內(nèi)存映像如下: 38 … … … nID szName cGender nDOB nDeptID 0x0013FF4C 0x0013FF50 0x0013FF6E 0x0013FF70 0x0013FF74 各成員的地址 0x0013FF6D* * szName成員最后一個(gè)單元的地址 第二章 C++語法 ? 用戶自定義類型 結(jié)構(gòu)和聯(lián)合 1. 結(jié)構(gòu) struct 在圖中我們可以看到 , 各成員的內(nèi)存單元不是想象的那樣連續(xù)分配的 。 以 32位處理器為例 , 編譯器為了提高內(nèi)存的訪問效率 , 它將類型大小小于 4字節(jié)的數(shù)據(jù) ( 這里是 short) 放在 偶數(shù)地址 上 , 而將類型大小大于等于 4字節(jié)的數(shù)據(jù) ( 這里是 int) 放在能 被 4整除的地址 上 。 所以 ,成員 cGender的地址必須是 2字節(jié)隊(duì)齊的 , 而它的后繼成員 nDOB的地址也必須是 2字節(jié)對(duì)齊的 , 因此 , 兩個(gè)成員之間必須被填充一個(gè)無用的字節(jié)以保證 2字節(jié)對(duì)齊的規(guī)則 。 這些填充的字節(jié)使兩個(gè)單元之間存在了 空隙 , 這也可能使整個(gè)結(jié)構(gòu)變量占據(jù)的實(shí)際字節(jié)數(shù)比只按成員統(tǒng)計(jì)的數(shù)字要 大 。 //4字節(jié)狀態(tài)字 unsigned char uByte[4]。 //該狀態(tài)字的低16位和高 16位 } sw。 一個(gè)聯(lián)合變量的大小實(shí)際上是它占據(jù)內(nèi)存最多的那個(gè)成員的大小 。 現(xiàn)在先來看看一個(gè)指針的定義: int nUnit。nUnit。的功能是取變量 nUnit的 地址 。 43 第二章 C++語法 ? 用戶自定義類型 指針 44 0x0013FF48 99 … … pi nUnit 0x0013FF44 0x0013FF48 指針變量和它指向的變量 第二章 C++語法 ? 用戶自定義類型 指針 由于指針是地址 , 因此所有指針單元的大小都是一樣 的 。一個(gè)指針變量的類型可以看作有兩部分組成: ① 首先它是個(gè) 指針 ; ② 其次 , 該指針變量指向了一個(gè) 特定類型 的變量 。 因此 , 我們可以有下面的語句: int array[10]。 pi = array。 //等價(jià)于 array[0] = 1。 //等價(jià)于 array[1] = 2。 //錯(cuò)誤 , *pi是個(gè)存儲(chǔ)單元 , 但 *pi + 2是個(gè)臨時(shí)表達(dá)式 , 不能放在賦值號(hào)的左邊 46 第二章 C++語法 ? 用戶自定義類型 指針 1. 指向數(shù)組的指針 47 … array[0] array[1] array[2] array[9] … *pi *(pi + 1) *(pi + 2) *(pi + 9) … 數(shù)組和指針的關(guān)系 … 0x00208730 0x00208734 0x00208738 0x00208752 … 0x00208730 0x00208756 pi 第二章 C++語法 ? 用戶自定義類型 指針 2. 指向結(jié)構(gòu)的指針 我們可以定義指向結(jié)構(gòu)變量的指針: Employee emp。emp。 pEmpnID = 20220221。 const char * pc。 //常指針 , cp不能改變 , 但它指向的單元可以改變 const char * const cpc。 也就是說 , 引用與它所引用的變量實(shí)際上是 同一個(gè) 單元 。 int iPage。 riPage = iPage。 iPage = 9。 52 第二章 C++語法 ? 用戶自定義類型 引用 一旦引用變量被綁定在一個(gè)普通變量上 , 那么這種綁定關(guān)系就是 永久 的 。 riPage = iPage2。() 由于一個(gè)引用變量必須引用指向某一變量 , 因此獨(dú)立 引用 必須 在它被說明時(shí)加以初始化 。為了簡化的目的 , 我們可以用 C++的 typedef語句為那些類型提供一個(gè)簡單的別名 。 typedef double (*DBLARRPTR)[10]。amp。(bitand) |(bitor) ^(xor) 移位運(yùn)算符: 賦值運(yùn)算符: = += = *= /= %= = = |=(or_eq) amp。 成員選擇運(yùn)算符: . .* * 下標(biāo)運(yùn)算符: [] 函數(shù)運(yùn)算符: () 域選擇運(yùn)算符: :: 逗號(hào)運(yùn)算符: , 其它運(yùn)算符 56 第二章 C++語法 ? C++運(yùn)算符 動(dòng)態(tài)內(nèi)存分配和釋
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1