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

正文內容

c程序設計教程:第4章-構造類型初探-資料下載頁

2024-10-04 16:55本頁面
  

【正文】 量不一 , 這就大大減少了內存開銷 。 程序輸出為: DOG CAT COMPUTER MICROPROCESSOR DATA ? 在程序開始執(zhí)行時 , 可將命令行傳送給程序 。 當調用主程序 main時 , 讓它帶有二個參數(shù) 。 ? 第 1個參數(shù)習慣上叫做 argc, 是表示被調用程序所帶命令行參數(shù)的數(shù)目;第 2個參數(shù) argv是指針數(shù)組 , 其中每個元素是指向包含命令行參數(shù)的字符串的指針 , 即每個指針對應一個字符串 , 而第1個指針指向的通常是命令名字符串 。 ? 在實際應用中 , 命令行參數(shù)是很有用的 。 【 例 】 實現(xiàn) echo命令,該命令實現(xiàn)參數(shù)回響, 將它的命令行參數(shù)回響在一個單行上,并用空格將它們分隔。 include iostream using namespace std。 void main (int argc, char *argv[]) { for(int i=1。 iargc。 ++i) cout(argv[i],(iargc1)?39。 39。:39。\n39。)。//注意 39。 39。不是 39。 39。 } 這個程序不能在 Windows下運行 , 要轉到 DOS窗 口下執(zhí)行 , 例如: C:\ echo hello world CR 輸出: hello world 在執(zhí)行上述命令時 , 這兩個參數(shù)值將是 : argc = 3 argv[ 0] 是 “ echo” argv[ 1] 是 “ hello” argv[ 2] 是 “ world” 也就是說, main函數(shù)可以獲得命令行參數(shù)的個數(shù) 及參數(shù)的內容。 類型定義關鍵字 typedef ? typedef是類型定義關鍵字 , 一般用來將一個較長的類型名定義成一個短名字 , 以方便使用 。 ? 這個說明只是定義了原標識符的別名 , 并不產生新的數(shù)據(jù)類型 。 如: typedef float REAL。 REAL x。 就是先用 typedef定義了一個關鍵字 REAL,用來代表類型關鍵字 float;第 2句是用關鍵字 REAL說明變量 x的類型為 float類型。因此,上述說明與說明語句 “ float x?!钡男Ч耆嗤?。 ? 例如使用 typedef定義指針: typedef char * points。 定義標識符 points, 以后在程序中就可使用 points用如下方式定字符型指針 ps: points ps。 ? 使用 typedef定義新關鍵字來說明類型有如下兩點好處: ① 為程序提供較好的說明信息 , 使程序便于閱讀 。 ② 使程序參數(shù)化 , 便于移植 。 枚 舉 ? 枚舉是一個被命名為整型常數(shù)的集合 。 這些常數(shù)指定了所有的類型已被定義的合法值 。 ? 枚舉定義使用關鍵字 enum , 其一般形式為: enum 枚舉類型名 { 枚舉元素表 } 對象表 。例如 , 定義一個 number的枚舉和屬于這種類型的枚舉對象 num: enum number{ four=4,five,six, one=1,two,three }num。 ? 枚舉元素的默認值依次類推為 0, 1, 2, …… 。 ? 如果在定義時指定某個枚舉元素 , 則其后面的元素值依次加 1。 ? 一個枚舉其實是將每個元素用它們所對應的整數(shù)來代替 。 在上面的枚舉中 , six=6, three=3。 也可以指定負數(shù) 。 對象 num只能取枚舉表里的元素 。枚舉名和對象表 (有時程序中并不需要它們 )是可選擇項 , 也可像下面這樣定義: enum {four=4,five,six,one=1,two,three}。 【 例 】 使用枚舉的例子。 include iostream using namespace std。 void main( ) { //沒有枚舉名和對象表 enum {four=4,five,six,one=1,two,three}。 //沒有對象表 enum weekday { sun, mon, tue, wed, thu, fri, sat}。 weekday today。 //聲明枚舉對象 today=sat。 //為枚舉對象賦值 coutfour,five,six,one ,two,threeendl。 int num。 for(num=one。 num=three。 num++) coutnum 。 coutendl。 if (today==sun||today==sat) coutTake a rest!endl。 else coutWork hard!endl。 today=wed。 if (today==sun||today==sat) coutTake a rest!endl。 else coutWork hard!endl。 } 輸出結果如下 。 4,5,6,1,2,3 1 2 3 Take a rest! Work hard! 結 構 ? 眾所周知 , 當對若干個數(shù)據(jù)進行集中處理時 , 使用數(shù)組會帶來很多方便 。 但是 , 數(shù)組要求所處理的數(shù)據(jù)必須具有相同的類型 。 ? 假如使用結構類型的數(shù)據(jù) , 就可以處理不同類型的數(shù)據(jù) 。 從這個意義上講 , 數(shù)組只不過是結構類型的一種特殊類型 。 ? 把結構類型簡稱為結構 ( struct) 。 結構是構造類型的重要成員 , 本節(jié)的重點是介紹結構類型 。 結構定義及其對象的初始化 1. 結構定義 2. 結構對象的初始化 3. 結構使用的運算符 1. 結構定義 ? 結構同數(shù)組類似 , 也是由若干元素構成的 , 習慣上稱這些結構元素為結構成員 。 ? 能夠做結構成員的不只是基本數(shù)據(jù)類型的對象 , 還可以是構造類型 ( 數(shù)組 、 指針甚至是其他類型的結構 ) 。 ? 對象使用成員運算符 “ . ” ( 即圓點 ) 訪問各個成員 ,其成員的運算可像普通對象一樣處理 。 關鍵字 struct用來定義一個結構 , 結構定義形式是: struct 結構名 { }結構對象名列表 。 //可以同時定義多個結構對象 ? 結構對象名列表中的各個對象用 “ , ” 隔開 。 下面是先定義結構名 , 再定義結構對象: struct 結構名 { }。 結構名 結構對象名列表 。 ? 可以同時定義多個結構對象 。 結構對象與各個成員之間引用的一般形式為: 結構對象名 . 成員名 ? 一般常使用 typedef定義結構 , 以便使用簡單些 。下面定義一個具有學生姓名 、 地址及數(shù) 、 理 、 化成績的結構: typedef struct { char *name。 //姓名 char *address。 //地址 int num[ 3] 。 //成績數(shù)組 } LIST。 //使用大寫表示它是該結構的別名 LIST student。 //定義結構對象 student ? 定義結構時 , 結構對象名和結構名不能相同 。 2. 結構對象的初始化 ? 可在定義時對結構對象初始化,這時需要把成員所對應的初始值按成員順序給出。 ? 也可在定義了結構對象之后使用賦值運算符給對象的各個域名賦值,這時沒有先后次序之分。 ? 所謂結構對象的域名,就是結構中定義的各種數(shù)據(jù)類型對象的名字,簡稱結構的域。 【 例 】 結構對象初始化實例。 include iostream using namespace std。 struct list { char *name。 char *address。 int num[ 3] 。 } a={ Wang Ying, Shang Hai, {82, 79, 85 } }。 //別忘了分號 void main( ) { cout" " " " [0] " " [1] " “ [2] 。 } ? 只需在結構對象后面加上賦值運算符 , 把成員的對應值用一對 “ {}”號括起來 , 放在賦值運算符后面即可 。 ? 運行結果為: Wang Ying Shang Hai 82 79 85 ? 也可以在主程序里定義結構對象并直接初始化,或者先定義再用賦值語句初始化,初始化與順序無關。 3. 結構使用的運算符 ? 結構所使用的運算符有如下兩個: ① 成員運算符 “ . ” 在存取成員數(shù)值時使用 , 其優(yōu)先級最高 , 并具有左結合性 。 在處理包含結構的結構時 , 可記作: 這說明結構對象 structa有結構對象成員 structb;結構對象 structb有對象成員 memberc。 ② 取址運算符 “ & ” 能把結構對象 ( 例如 a) 的地址傳遞給對象 、 指針或函數(shù) 。 傳遞給函數(shù)就是用& a作函數(shù)參數(shù) 。 如函數(shù)名為 print, 使用結構作為參數(shù): print(& a)。 結構數(shù)組 ? 結構數(shù)組定義與一般結構對象定義基本相同 , 只是結構數(shù)組對象后面要給出下標 。 ? 也可以使用 typedef方式定義 。 下面是結構與結構數(shù)組對象分開定義的例子: struct key { char keyword。 int keycount。 }。 key keytab[ 5] 。 ? 同所有的數(shù)組對象一樣 , 結構數(shù)組的下標從 0 開始 。 結構數(shù)組的初始化和結構對象的初始化是類似的 。 和普通數(shù)組一樣 , 當給定初值而 “ [ ]”中為空時 , 編譯程序會計算初值表中結構數(shù)組對象的個數(shù) , 以確定結構數(shù)組元素的個數(shù) 。 【 例 】 結構數(shù)組初始化實例。 struct sports_name { char *name。 int count。 }x[ ] = { {Li Ning, 120}, {Lang Ping, 35}, {Zhu Jian Hua, 98}, {Lan Ju Jie, 0 }}。 include iostream using namespace std。 void main( ) { for ( int i=0。 i4。 i++ ) cout x[ i] .name:x[ i] .countendl。 } 運行結果如下 : Li Ning: 120 Lang Ping: 35 Zhu Jian Hua: 98 Lan Ju Jie: 0 結構指針 ? 如同指針可指向數(shù)組及其元素一樣 , 指針也可指向一個結構對象或結構數(shù)組 。 ? 凡是指向結構對象的指針 , 都稱為結構指針 , 它們的定義和使用方法與數(shù)組指針一樣 。 使用指針訪問結構成員的一般形式是: 指向結構對象指針的名字 成員名字 ? 結構指針的初始化也可以使用&運算符,&運算符可以把結構對象的首地址賦給結構指針。 ? 【 例 】 中使用自身結構指針作為成員,演示了鏈表概念。 【 例 】 演示鏈表結構的實例。 include iostream using namespace std。 struct person { char *name。 char *address。 int num[3]。 person *next。 }a[5]={{TangMin,Wu
點擊復制文檔內容
職業(yè)教育相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1